Dosya değişiklik kontrolü

Başlatan fghty, 05 Temmuz 2012 - 22:33:29

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

fghty

pano.py : Bu kod kopyaladığımız metinin bulunduğu dosyadan kopyaladığımız metni bize veriyor.


import clipboard
def yaz():
    yazi=clipboard.Get()
    return yazi


goster.py: Bu kod panodan aldığımız yazıyı ekranda göstermemi sağlıyor.


import appuifw, os, sys
sys.path.append(os.getcwd())
import pano

s=os.path.getmtime("d:\\system\\Data\\Clpboard.cbd")
while True:
    if s !=os.path.getmtime("d:\\system\\Data\\Clpboard.cbd"):
        appuifw.note(pano.yaz())
        s=os.path.getmtime("d:\\system\\Data\\Clpboard.cbd")
    else:
        pass



Bu kodlar telefon için. Kodları açıklamaya çalışayım. pano.py deki clipboard modülü seçip kopyaladığımız metinlerle işlemler yapmamızı sağlıyor. clipboard.Get() kopyaladığımız yazıyı almamızı sağlıyor.

goster.py deki appuifw modülünü ekranda yazıyı çıkartmak için kullandım. appuifw.note("gösterilecek yazı") ekranda belli bi süre istediğimiz yazıyı gösteriyor. Ben yapmak istediğim yeni bi yazı seçip kopyaladığımızda bunu o anda farkedip yeni kopyaladığımız yazıyı appuifw.note ile ekranda göstermek istiyorum. Yukarıdaki kod işe yarıyor ama pano.py de sonsuz döngü oluşturduğumuz için çok fazla kasma yapıyor hatta bi süre sonra telefon donuyor. Ben bu sorunu halletmeye çalışıyorum. İşallah açık bi şekilde anlatabilmişimdir.

Not: Bu soruyu istihzada da sordum sağolsun arkadaşlar yardımcı olmaya çalıştı ama tam istediğim cevabı bulamadım. Bu yüzden burada da sormak istedim. :)

Kadir Can

Python bilmiyorum, genel programlama bilgim ile konuşacağım.
Burada zaman kavramı çok önemli, anında yazılmasını istiyorsanız çok sıkıntı olur.Bunun yerine programı işlem parçacığı şekline büründürüp mesela dakikada bir kez çalışacak şekilde ayarlayabilirsiniz.
Mesela biraz da uçuk düşüneyim, clipboard'ı sürekli dinleyen küçük bir ekleme ile sadece clipboard'a yeni veri geldiğinde çalıştırma yapabilirsiniz.Bu yükü biraz azaltacaktır gibi geliyor.

fghty

Benim yapmak istediğim de o aslında. Çünkü kopyaladığımız metinler o dosyaya kayıt ediliyor. Önemli olan kopyaladıktan hemen sonra ekrana o yazıyı çıkarmak. Aklıma bide tuş olaylarıyla yapabilir miyim deye geldi ama daha düzgün bi çözüm bulamadım.
Hocam bide önerdiğiniz şeyi biraz daha açabilir misim? İşlem parçacıkları kısmını özellikle. :)

Kadir Can

İşlem parçaları Threads olarak geçer.
Aynı anda birden çok( Asında burası hileli, aynı anda tek çekirdekte tek işlem çalışır ama işletim sistemleri sayesinde parçacıklar kısa süreler için kesilerek hepsi aynı anda çalışıyormuş gibi davranır.) işlem yapmayı sağlar.Sen de senin işlemini araya sıkıştırıp istediğin işlemi yapabilirsin.

fghty

Pythonda trhead var ama onda da kasma olmaz mı? Çünkü illa clipboard.cbd dosyasındaki değişikliği kontrol etmek lazım. Ama kopyalama işlemini bi olay orak kabul ederek çalışan bi sistem olsa o zaman kasma olacağını sanmam ama bu sistem pythonda varmı bilmiyorum.

Kadir Can

#5
İş parçacıkları kesildiği için diğer işlemler de kendilerine zaman bulabilirler.Bence kasma sorunu en aza inecektir.
Onun dışında olay atıp yakalamak da faydalı olabilir.Dediğim gibi Python bilmiyorum malesef.
Daha önce hiç mobil kod yazmadım, o açıdan belki mobil programlamanın sunduğu nimetler olabilir.
Bu arada kendimi yanlış anlatmış olabilirim, iş parçacıkları yanlış hatırlamıyorsam kendi programın için geçerlidir.
Senin burada yapman gereken programını sisteme bir iş parçacıpı gibi tanıtmak, bir nevi daemon(Türkçesi?) gibi kullanmak olmalıdır.

furkankalkan

#6
Sanırım symbian için yazıyorsunuz. Threath kullanmak ne kadar işe yarar bilmiyorum ama karşılaştırma işlemini hızlandıracağını düşünüyorum.
Lover
twitter.com/furkan_kalkan1

fghty

Evet symbian için uğraşıyorum. Önce tuş olayları ile yapmayı deneyecem olmazsa sonra trhead ile denemeyi düşünüyorum. Aslında bilgisayara ve telefona usb ve hafıza kartı taktığımızda otomatik algılıyor o sistemin nasıl olduğunu öğrenebilsem işime yarayabilir.