Delphi1

HANGİ DELPHİ SÜRÜMÜ BANA DAHA UYGUN?
Delphi piyasaya üç sürüm halinde sürülmektedir: Standart , Profesyonel ve Client/Server Suite.
Ben hangi sürümü kullanıyım diye soruyorsanız Delphi 3.0 ve Delphi 4.0'ın Client/Server Sürümlerini kullanın. Ancak standart ve profesyonel sürümleride kullanabilirsiniz tabi. Ancak mesela standart sürümü kullanıyorsanız InstallShield, Database Explorer, Visual Query Builder gibi araçları kullanamazsınız. Bilmiyorum hala kullanan varmı ama Delphi'nin 1.0 sürümünü kullanmayın (bence). Delphi 2.0 kullanıyorsanız Delphi 3.0 veya 4.0'a terfi edin (yine bence).
Standart Sürüm:
Bu sürüm Delphi ile yeni tanışanları hedefliyor. Bu sürüm Delphi ile Windows programları yazmak için gereken tüm özelliklere sahip. Bu sürüm Bimeks tarafından 145$+KDV'ye satılıyor.
Profesyonel Sürüm:
Bu sürüm profesyonel programcıları hedefliyor. Bu sürüm Bimeks tarafından 895$+KDV'ye satılıyor. Standart sürümün özelliklerinin yanında aşağıdaki özellikleri de içeriyor (Delphi 3 için):
- VCL'nin kaynak kodu
- InstallShield Express
- Database Explorer
- TChart bileşeni
- ActiveX ve ActiveForm geliştirme desteği
- Internet Solutions Pack
- ODBC Bağlantısı
- Open Tools API'si
Client/Server Suite:
Bu sürüm client/server (istemci/sunucu) uygulamaları geliştiren programcıları hedefliyor. Bu sürüm Bimeks tarafından 2895$+KDV'ye satılıyor. Bu sürüm Profesyonel sürümün tüm özelliklerinin yanında aşağıdaki özellikleri de içeriyor.
- Decision Cube CrossTab bileşeni
- Geniş bir Web hizmet birimi desteği
- Doğal Client/Server BDE bağlantısı için SQL Links
- BDE Driver Development Kit
- SQL Monitor
- Visual Query Builder
- CASE Tool Expert
- Data Pump Expert
DELPHI DOSYA UZANTILARI
Uzantı
|
Açılımı
|
Açıklama
|
DCU
|
Delphi Compiled Unit
Delphi Derlenmiş Birimi
|
Derleme sırasında bir Pascal dosyasının derlenmesi sonucunda oluşur. Kaynak kodu olmadığı zaman derleme için bunu kullanabilirsiniz.
|
DFM
|
Delphi Form File
Delphi Form Dosyası
|
Bir formun veya veri modülünün ve içerdiği bileşenlerin özelliklerinin tanımlarını içeren ikilik dosya. Geliştirme sırasında oluşturulur.
|
~DF
|
|
Delphi Form Dosyası(DFM) Yedeği.
|
DOF
|
Delphi Options File
Delphi Seçenekler Dosyası
|
Proje seçeneklerinin mevcut ayarlarını içeren bir metin dosyası. Geliştirme sırasında oluşturulur. Delphi 1'de uzantısı OPT idi.
|
DPR
|
Delphi Proje Dosyası
|
Geliştirme sırasında oluşturulan bu dosya gerçek Pascal kaynak kodu içerir.
|
~DP
|
|
Delphi Proje Dosyası (DPR) yedeği.
|
DSK
|
Masaüstü dosyası
|
Bu dosya pencerelerin konumları,editördeki açık dosyalar ve diğer masaüstü ayarları hakkında bilgiler içerir. Projeyi yeni bir dizine kopyalarken silmeniz gerekir.
|
PAS
|
Pascal dosyası
|
Bir pascal biriminin kaynak kodu, bir formla ilgili veya bağımsız bir birim.
|
~PA
|
|
Pascal dosyası (PAS) yedeği.
|
RES
|
Resource (Kaynak) dosyası
|
Proje ile ilgili ve genellikle simgesini içeren ikilik dosya. Bu türden başka dosyalarıda projeye ekleyebilirsiniz.
|
REGISTRY
Registry Windows'un tüm ayarlarını sakladığı veri deposudur. Registry'nin önemi hafife alınmamalıdır. Registry sistem donanım konfigürasyonu, Denetim Masası (Control Panel) ayarları gibi önemli bilgiler içerir. Sizde programlarınızla ilgili ayarları ve bazı verilerinizi Registry'de saklayabilirsiniz. Registry hakkında herhangi bir bilginiz yoksa bilgisayar dergilerine bakmanızı tavsiye ederim. Ayrıca Internet üzerinden PcWorld Dergisinin Windows 95 köşesine bakarsanız burda Registry ile ilgili bilgi bulabilirsiniz.
Delphi ile Registry'e bilgi yazmak ve Registry'den bilgi okumak son derece kolaydır. Delphi'de Registry kullanımına iki yaklaşım bulunur: TRegistry ve TRegIniFile. TRegIniFile sınıfı TRegistry sınıfının bir alt sınıfıdır ve TIniFile sınıfının yöntem ve özelliklerini kullanır, ancak ini dosyalar yerine Registry'ye kaydeder. TRegistry sınıfını kullanmak için genellikle ilk olarak bir anahtarı açmanız ve daha sonra değer ve alt anahtarlarıyla birlikte verilere ulaşmanız gerekir.
Bir örnek programı (regist1.zip) esas alarak yapılan işlemleri adım adım açıkladım.
Registry ile ilgili komutları kullanmak için uses kısmına "Registry" ifadesini eklemelisiniz.
- İlk önce
var
Reg1:TRegistry;
Reg1:TRegistry;
ile TRegistry türünden bir değişken tanımlayın. Reg1 yerine Delphi'deki isimlendirme kuralları dahilinde istediğiniz ismi verebilirsiniz.
- Daha sonra
Reg1:=TRegistry.Create;
ile uygulama için bir Registry objesi oluşturun.
-Registry'de 6 tane ana anahtar bulunur. Registry objesini oluşturduğunuz zaman (bir önceki adım) RootKey (ana anahtar) olarak HKEY_CURRENT_USER atanır. Eğer başka bir ana anahtar'da işlem yapmak istiyorsanız "RootKey" özelliğini kullanmalısınız. Mesela biz işlemlerimizi HKEY_LOCAL_MACHINE'de yapmak istiyoruz;
Reg1.RootKey:=HKEY_LOCAL_MACHINE;
-RootKey olarak HKEY_LOCAL_MACHINE atadık. Daha sonra işlem yapmak istediğimiz anahtarı "OpenKey" ile açmalıyız. OpenKey fonksiyonu iki parametre alır. Birincisi açmak istediğimiz anahtar, diğeri ise açmak istediğimiz anahtar yoksa bu anahtarın oluşturulup, oluşturulmayacağı. Bu özelliği True atarsanız açmak istediğiniz anahtar yok ise bu anahtar oluşturulur.
Reg1.OpenKey('SoftwareMustafaSoftRegDeneme',True);
-İşlem yapacağımız anahtarı açtık. (HKEY_LOCAL_MACHINESoftwareMustafaSoftRegDeneme). Bu anahtarları rastgele belirlememeniz gerekir. Anahtarlarınızı nereye ekleyeceğinize dair bilgileri Windows 95 veya NT ile ilgili Microsoft dokümanlarından elde edebilirsiniz. Anahtarı açtıktan sonra çeşitli işlemler yapabilirsiniz:
- CreateKey('anahtar_ismi') ile yeni bir anahtar oluşturabilirsiniz.
- DeleteKey('anahtar_ismi') ile mevcut bir anahtarı silebilirsiniz.
- DeleteValue('değer_ismi') ile bir değeri silebilirsiniz.
- GetKeyNames ile geçerli anahtarın alt anahtarlarının listesini elde edebilirsiniz.
- DeleteKey('anahtar_ismi') ile mevcut bir anahtarı silebilirsiniz.
- DeleteValue('değer_ismi') ile bir değeri silebilirsiniz.
- GetKeyNames ile geçerli anahtarın alt anahtarlarının listesini elde edebilirsiniz.
Reg1.GetKeyNames(memo1.lines);
- GetValueNames ile geçerli anahtardaki değerlerin isimlerinin listesini elde edebilirsiniz.
Reg1.GetValueNames(memo1.lines);
- HasSubKeys ile geçerli anahtarın alt anahtarlara sahip olup olamdığını öğrenebilirsiniz. Geçerli anahtar en az bir alt anahtara sahip ise bu fonksiyon True, hiç alt anahtarı yoksa False değerini döndürür.
- KeyExists('anahtar_ismi') ile belirttiğiniz anahtarın olup olmadığını öğrenebilirsiniz.
- ValueExists('değer_ismi') ile belirttiğiniz değerin olup olmadığını öğrenebilirsiniz.
- RenameValue(eski isim, yeni isim) ile bir değerin ismini değiştirebilirsiniz.
- WriteString('değer_ismi', 'değer') ile bir string ifadeyi yazabilirsiniz. değer String tipinde olmalıdır.
- KeyExists('anahtar_ismi') ile belirttiğiniz anahtarın olup olmadığını öğrenebilirsiniz.
- ValueExists('değer_ismi') ile belirttiğiniz değerin olup olmadığını öğrenebilirsiniz.
- RenameValue(eski isim, yeni isim) ile bir değerin ismini değiştirebilirsiniz.
- WriteString('değer_ismi', 'değer') ile bir string ifadeyi yazabilirsiniz. değer String tipinde olmalıdır.
Reg1.WriteString('wstring','Mustafa ŞİMŞEK');
- WriteInteger('değer_ismi', 'değer') ile bir integer sayıyı yazabilirsiniz. değer Integer tipinde olmalıdır.
Reg1.WriteInteger('wint',1234);
- WriteFloat('değer_ismi', 'değer') ile bir float sayıyı yazabilirsiniz. değer Double tipinde olmalıdır.
Reg1.WriteFloat('wfloat',123.45);
- WriteDate('değer_ismi', 'değer') ile bir tarihi yazabilirsiniz. değer TDateTime tipinde olmalıdır.
Reg1.WriteDate('bugun',date);
- WriteTime('değer_ismi', 'değer') ile bir saati yazabilirsiniz. değer TDateTime tipinde olmalıdır.
Reg1.WriteTime('wtime',time);
- WriteDateTime('değer_ismi', 'değer') ile tarih ve saatten oluşan ifadeyi yazabilirsiniz. değer TDateTime tipinde olmalıdır.
Reg1.WriteDateTime('wdt',now);
- WriteBool('değer_ismi', 'değer') ile sadece Doğru veya Yanlış değerlerini alabilen bir ifadeyi yazabilirsiniz. değer sadece True veya False değerini alabilir.
- WriteCurrency('değer_ismi', 'değer') ile bir para değerini yazabilirsiniz. değer Currency tipinde olmalıdır.
- WriteCurrency('değer_ismi', 'değer') ile bir para değerini yazabilirsiniz. değer Currency tipinde olmalıdır.
Reg1.WriteCurrency('wcurr',1000000.325);
|
Yazma işlemlerinden sonra registry'deki görünüm. Registry'e üç tip veri kaydedilir. Dize değeri (string), ikili değer (binary) ve dword değeri. Dword değerleri heksadesimal (onaltılık) veya desimal (ondalık) formdadır. Şekilde wstring - dize değeri, wint - dword değeri geriye kalanlar ise ikili değer(binary)lerdir.
|
- ReadString('değer_ismi') ile bir string ifadeyi okuyabilirsiniz.
Reg1.ReadString('wstring')
- ReadInteger('değer_ismi') ile bir integer ifadeyi okuyabilirsiniz.
- ReadFloat('değer_ismi') ile bir float sayıyı ifadeyi okuyabilirsiniz.
- ReadDate('değer_ismi') ile bir tarihi okuyabilirsiniz.
- ReadTime('değer_ismi') ile bir saati okuyabilirsiniz.
- ReadDateTime('değer_ismi') ile bir tarih ve saatten oluşan ifadeyi okuyabilirsiniz.
- ReadBool('değer_ismi') ile bir sadece Doğru veya Yanlış değerlerini alabilen bir ifadeyi okuyabilirsiniz.
- İşlemlerimiz bittikten sonra anahtarı kapatmamız ve ayırdığımız kaynakları serbest bırakmamız lazım.
- ReadFloat('değer_ismi') ile bir float sayıyı ifadeyi okuyabilirsiniz.
- ReadDate('değer_ismi') ile bir tarihi okuyabilirsiniz.
- ReadTime('değer_ismi') ile bir saati okuyabilirsiniz.
- ReadDateTime('değer_ismi') ile bir tarih ve saatten oluşan ifadeyi okuyabilirsiniz.
- ReadBool('değer_ismi') ile bir sadece Doğru veya Yanlış değerlerini alabilen bir ifadeyi okuyabilirsiniz.
- İşlemlerimiz bittikten sonra anahtarı kapatmamız ve ayırdığımız kaynakları serbest bırakmamız lazım.