Nisan, 2006 için Arşiv|Aylık arşiv sayfası

Nane Çayı Tarifi , FarPy ,195

Genel olarak her kış ve yaz mevsimine girişte hasta olurum. Pek öyle ağır değil çok şükür ama burun akıntısı , yorgunluk vs şeklinde 1 hafta geçiriyorum. Dünkü nane çayı biraz iyi geldi , vakit bulup birazda uyuduktan sonra bunu çabuk atlatacağım gibi duruyor. Hasta iseniz nane çayı tarifi aşağıda yazıyor. Pek bir özelliği yok klasik bir nane çayı tarifi işte.

Gerekli olanlar
3 tatlı kaşığı nane
(istğe göre ıhlamur ve limon (suyu) da konulabilir)

Pekte malzemesi yokmuş. Neyse şimdi 1 adet cezve alın elinize içini suyla doldurup malzemeleri koyun ve başlayın karıştırmaya (ocağı yakmayı unutmayın). Siz karıştırırken içerdeki maddeler birlik olup bulundukları kabı terketmek isterlerse ocağı kapatıp onları bir bardağa süzerek koyun ve onlara derslerini verin. Şeker de atarsanız fena olmaz. Hepsi bu kadar.

FarPy
FarPy adlı python için bir tasarım editörü buldum bugün internette. Şu adresten erişebilirsiniz. Kullanabilmeniz için sisteminizde .Net Framework v 2.0 kurulu olmalı. Tabi python ile ilgili işler içinde wxpython ve python sisteminizde bulunmalı.

195
Şu linkten 195 adet ücretsiz sanal kitaba erişebilirsiniz. Yanlız türkçe dilinde değiller haberiniz ola. HTML den Linux a , C den Python a, Samba dan Visual Basic e kadar geniş bir içeriği var. İncelemeye değer. (Konu yorumlarındada bazı linkler var onlarada göz atabilirsiniz.)

wxPython ProgressDialog (İlerleme Çubuğu)

# -*- coding: cp1254 -*-
import wx

uygulama = wx.PySimpleApp()

dialog = wx.ProgressDialog ( 'İlerleme Çubuğu', 'Lütfen Bekleyiniz', maximum = 100, style = wx.PD_AUTO_HIDE )
wx.Sleep ( 1 ) #Uyu
#20 basamak ileri
dialog.Update ( 20, '1.' )
wx.Sleep ( 1 ) #Uyu
#40 basamak ileri
dialog.Update ( 40, '2.' )
wx.Sleep ( 1 ) #Uyu
#60 basamak ileri
dialog.Update ( 60, '3.' )
wx.Sleep ( 1 ) #Uyu
#80 basamak ileri
dialog.Update ( 80, '4.' )
wx.Sleep ( 1 ) #Uyu
#100 basamak ileri
dialog.Update ( 100, '5' )

Python Threading(Eş zamanlı işlemler)

Aynı anda birden çok işlem yapmak için bu yöntemi kullanabilirsiniz. Mesela benim gibi ftp ye dosya göndermeye çalışıyor ve dosyanız giderken programınız bir süreliğine kilitleniyorsa size de kodların ilaç gibi geleceğine inanıyorum.

import threading

class guncelle(threading.Thread):
    #Eğer işlem içine bazı değerler aktarılması gerekiyorsa __init__ kullanmanız gerekiyor
    def __init__(self,deger1,deger2):
        self.deger1=deger1
        self.deger2=deger2
        threading.Thread.__init__(self)

    def run(self):
        print self.deger1 , self.deger2

guncelle("deger1","deger2").start()

Burada "run" fonksiyonuna yapılması gereken işlem kodlarını yazıyorsunuz. Eğer bu işleme dışarıdan bir kaç değer alacaksanız __init__ fonksiyonunu da kodlar arasına eklemelisiniz.

Daha fazla bilgi edinmek için şu adrese göz atmanızda yarar var.

http://www.devshed.com/c/a/Python/Basic-Threading-in-Python/

Onun haricinde herhangi bir arama motorunda "python threading using" kelime grubunu aratırsanız bir çok sayfa ile karşılaşacaksınız.

Python ile FTP

Aşağıdaki kodlarla bir ftp ye bağlanıp ondaki klasör listesini alabilirsiniz.


import ftplib
ftp=ftplib.FTP("lin1.freewebdot.com")
print ftp.login("mrcplus.org","ğççğşğ")
dizin=ftp.nlst()
print ftp.quit()

print dizin

Saat Tarih kontrolü

Aşağıdaki kodlar ile saat tarih yada ikisini birlikte kolay bir şekilde kullanabilirsiniz.

import time

class SaatTarih:
    def __init__(self,tur):
        zaman=time.localtime(time.time())
        if tur=="saat":
            self.deger="%d:%d:%d" % (zaman[3],zaman[4],zaman[5])
        elif tur=="tarih":
            self.deger="%d.%d.%d" % (zaman[2],zaman[1],zaman[0])
        elif tur=="tarihsaat":
            veri=SaatTarih('tarih')
            self.deger=veri.deger
            veri=SaatTarih('saat')
            self.deger=self.deger + " " + veri.deger

Kullanımı ise şu şekilde

veri=SaatTarih('saat')
print veri.deger

Resim Hizalama

Bazen genel ağ bilgi sayfalarına bağlantı oluştururken yanlarına küçük resimler koymak hoş bir görüntü veriyor. Ancak bunlar çoğu zaman düzenli bir şekilde durmuyor. Resimler aşağı yada yukarı kayarak bu bağlantılar ile aynı satırda durmuyor gibi görünüyorlar. bunun önüne geçmek için şöyle bir düzenleme yapabilirsiniz dosyanızda:


<style type="text/css">
.ikon{
vertical-align:middle;
}
</style>

Kullanımı ise şu şekilde:


<img src="yol" class="ikon" alt="yazı" />

wxPython da Notebook

Bölümlü programlar yazarken yada bir ayarlar bölümü oluşturduğunuzda size kolaylık sağlayacak bir özellik. Tablar vasıtası ile küçük bir alanda daha geniş içerik yada özellik sunabilirsiniz. Kodlar aşağıda:


# -*- coding: cp1254 -*-
import wx

class Uygulama(wx.Frame):
def __init__(self,parent,id,title):
    wx.Frame.__init__(self,parent,-4, title,style=wx.DEFAULT_FRAME_STYLE)

    #Notebook bileşenini oluşturuyoruz
    self.Notebook =wx.Notebook(self,-1,wx.DefaultPosition,wx.DefaultSize,wx.NB_TOP)

    #İlk taşıyıcımızı oluşturup içine
    #bir etiket yerleştiriyoruz
    self.panel1=wx.Panel(self.Notebook, -1)
    text1=wx.StaticText(self.panel1,-1,"Panel 1 İçeriği")

    #İkinci taşıyıcımızı oluşturup
    #içine bir başka etiket yerleştiriyoruz.
    self.panel2=wx.Panel(self.Notebook, -1)
    text2=wx.StaticText(self.panel2,-1,"Panel 2 İçeriği")

    #İlk Tabı oluşturuyoruz
    self.Notebook.AddPage(self.panel1,'Tab 1')
    #İkinci Tabı oluşturuyoruz
    self.Notebook.AddPage(self.panel2,'Tab 2')

if __name__=="__main__":
    app = wx.PySimpleApp()
    frame = Uygulama(None, -1, "wxPython Notebook Örneği")
    frame.Show(1)
    app.MainLoop()

Python ile Access işlemleri

Python da hep shelve yi kullanıyordum programlarımda. Ancak karmaşa bazen büyük oluyor. Bugün bununla ilgilendim. Bir programda shelve kullanmıştım. Ancak onu değiştirip MS Access ile işlemleri yapmak işleri daha kolaylaştırıyordu. Yaptığım küçük örneğe göz attıktan sonra kaynak olarak verdiğim adresi ziyaret edebilirsiniz.


# -*- coding: cp1254 -*-
import win32com.client

#Veritabanı Bağlantısı
conn = win32com.client.Dispatch(r'ADODB.Connection')
DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:\Python24\Programlar\ATC\ATC-data.mdb;' #Burada veritabanı yolunu belirtiyoruz.
conn.Open(DSN)

rs = win32com.client.Dispatch(r'ADODB.Recordset')#Tanımlamayı yap
rs_name = 'Urunler'
rs.Open('[' + rs_name + ']', conn, 1, 3) #Tabloyu aç

#Veritabanındaki kayıtları yazdırıyoruz.
while not rs.eof:
    if rs.eof: #Kayıt bitti ise döngüyü durdur
        break
    else:
        print rs.Fields.Item('Urun').Value #Urun adlı hücredeki değeri yazdır
    rs.MoveNext() #Diğer Kayıta geç

Kaynak

Linux ta Rar arşivleri

Aşağıdaki dosyayı indirip bir klasör içine açın.
Rar

İçerisinde yardım dosyası var. Kısaca dosya açmayı göstereyim ben size. Öncelikle Rar program klasörüne geçiş yapın konsoldan. Daha sonra

$./unrar x /home/omerucel/aciklacakdosya.rar /home/omerucel/acilacakyer

şeklindeki kod ile arşivleri açabilirsiniz. Çok kısa bir açıklama. Sanırım kodlara göz atıp diğer kelimeleri okumasanızda olur gibime geliyor.