- - Delphi 5 Enterprise
- - Delphi 5 Professional
- - Delphi 5 Standart
- - Delphi 5 Yenilikler
- - Delphi 5 Enterprise
Delphi 5 Enterprise Delphi 5 Enterprise internet ve dağıtık hesaplama için yüksek üretkenlik çözümüdür. Delphi'nin InternetExpress'i, e-ticareti destekleyen, esnek, yayılabilen sistemleri oluşturmak için HTML 4 ve XML'i kullanan Web Client Page Wizard'ı, dağıtık HTML uygulamaları oluşturmak için MIDAS PageProducer ve WebBroker'ı içerir. ADOExpress ile her türlü bilgiye hızlı erişim kazanırsınız ve TeamSource ile bütün geliştirme takımınızın üretkenliğini arttırabilirsiniz. CORBA, COM ve MTS gibi bütün dağıtık hesaplama standartlarını kullanan MIDAS'ı kullanarak internet uygulamalarınızı arttırabilirsiniz. 200'ün üstünde tekrar kullanılabilen bileşenleri ve kaynağıyla birlikte Visual Component Library kullanan güvenilir uygulamaları oluşturabilir, hata ayıklayabilir ve programlarınızı yayabilirsiniz. Kilit veritabanı sistemleri oluşturmak için Interbase Express'i kullanabilirsiniz. Ayrıca bu paket InterBase, MS SQL, Informix, Sybase ve Oracle için Native SQL Link'leri içermektedir. Delphi 5 Professional Delphi 5 Professional, web ve veritabanı uygulamaları oluşturmak için en hızlı, en üretken Windows geliştirme aracıdır. Delphi 5 Professional , profesyonel IDE, WebBroker, Native Internet Components, InterBase Express ve güvenilir hata ayıklama araçlarını içerir. Project Browser, Code Explorer ve Data Module Designer görüntüleriyle kodunuzu anlayabilir ve araştırabilirsiniz.İşiniz için bileşenleri Frame'ler ile görsel olarak oluşturabilirsiniz. MS Office otomasyon kontrolcülerinin tamamını içeren COM nesne ve sunucularını oluşturup yeniden kullanın. Delphi 150 tekrar kullanılabilir bileşeni ile üretkenliği arttıtır ve bütün uygulama evresini yönetir. Güvenilir uygulamaları pazara daha hızlı getirmek için dünyanın en hızlı 32-bit derleyicisini ve Advanced Project Manager' i kullanır. Delphi 5 Standard Delphi 5 Standard , sürükle ve bırak görsel programlama, örnekler ve 85'in üstündeki tekrar kullanılabilir bileşenli Visual Component Library ile Windows altında uygulama geliştirmeyi kolaylaştırır. Kolay ve çabucak Word, Excel, PowerPoint ve Outlook için MS Office bileşenleri gibi COM nesnelerini otomatikleştiren Windows uygulamaları oluşturabilir, hata ayıklayabilir ve yayabilirsiniz. Kodu sizin için tamamlayan CodeInsight Wizard'ı kullanabilir, Tek bir satır kod yazmadan tekrar kullanılabilir bileşenleri oluşturmak için Componenet Template'leri kullanabilirsiniz. Artı Microsoft Windows 95 ve Windows NT, Win32 API, COM, ActiveX ve OLE Automation'ı içeren endüstri standartları için tam destek hakkı kazanın. Geliştirme ortamınızı tamamen kişiselleştirmek için Dockable Toolbars ve Dockable Windows'u bu pakette kullanabilirsiniz. Delphi 5 Yenilikler XML: Delphi 5, veri dağıtımını ve değişimini kolaylaştırır! Verilerinizi web'e çabucak ulaştıran yüksek hızlı Internet uygulamaları geliştirebilirsiniz. Delphi'nin XML veri desteği esnek olduğu için internetteki e-ticaret'i desteklemek için genişletilebilir sistemleri kurmanızı sağlar. HTML 4 : Web için nitelikli Dynamic Thin-client Delphi 5, HTML 4 ve XML kullanan dinamik ultra-thin istemciler kurmanız için ihtiyacınız olan gücü getiriyor. Bu size nitelikli ve isteklerinize yanıt veren istemci uygulamalarını Internete hızlı yayma olanağı tanır. ADO: Bütün bilgi kaynaklarına hızlı erişim. Delphi 5 e-posta ve dosya sistemleri de dahil olmak üzere her türlü veri tabanına hızlı erişim sağlar. Microsoft'un ActiveX Veri Nesnesini ve OLEDB teknolojisini kullanarak son-kullanıcılarınızın daha iyi ticari karar vermeleri için ihtiyaç duydukları veri evrenine anında erişim kazanabilirsiniz. Delphi'nin açık veri bileşenlerini kullanarak, kısa zamanda ticari verilerinizi internette müşterilerinize, son kullanıcılarınıza ve bütün hedef kitlenize götüren sistemler kurabilirsiniz. ADO son kullanıcınızın istemci işletim sisteminin standart bir parçası haline geldiğinden, programlarınız kolayca yayılabilecek. InterBase Express: Yüksek performanslı sistemler InterBase Express ile, VAR'lar, SI'lar ve ISV'ler programları, çabuk dağıtılabilen yüksek performanslı sistemleri inşa edebilirsiniz. Delphi ve InterBase ile, yüksek üretkenlik, yüksek performanslı geliştirme yapabilirsiniz. Ayrıca yüksek hızlı, az bakım isteyen, small-footprint ilişkisel veri tabanı birleştirilmiştir. Interbase Express ile mükemmel gömülü sistemler oluşturmak için artık Borland Database Engine ile geliştirme ve dağıtma yapmanıza gerek kalmayacak. TeamSource: Bütün geliştirme takımınıza üretkenlikte cesaret verin Delphi 5 ile bütün takımınız, birlikte daha iyi ve daha hızlı çalışacak. TeamSource kaynak kodunuzu yönetim biçiminizde bir devrimdir. TeamSource, varolan kaynak kodu yönetiminizin ve sürüm motorunuzun üzerinde oluşturulur ve bunları büyük dağıtık takımlar için kaynak kodu yönetimini basitleştiren yüksek üretkenlikli iş akışı modeli ile yayar. Borland Çeviri Takımı: Dünya çapında yeni pazarları keşfedin! Delphi 5 ile, programlarınız için pazar bütün gezegeni kapsayacak şekilde büyümüştür. Borland Çeviri Takımında programlarınızı yeni dil ve kültürler için hızlı bir şekilde globalleştirmek veya yerelleştirmek için ihtiyacınız olan herşey mevcut. Programlarınızı daha hızlı pazarlayabilmek için aynı anda birden fazla bölge için geliştirebilirsiniz. Delphi, kaynakların tercümesini yönetir ve uluslarası geliştirmenizi ivmelendirmek için çevrilmiş nesnelerin bir örneğini tutar. MIDAS: Internet uygulamalarınız için ölçülebilirlik. MIDAS ile Internet tabanlı uygulamaların taleplerini karşılayan sistemler inşa edebilirsiniz. MIDAS işlem hacminizin ölçüsü programları dağıtmak için Delphi'nin yüksek üretkenliği üzerine inşa edilmiştir. Son kullanıcı sayısını arttırır. Çok sayıda web tarayıcısı istemcilerinin , internetteki veya intranet inizdeki Windows istemcilerinin kolaylıkla üstesinden gelebilecek Internet uygulamalarını oluşturabilirsiniz.MIDAS, varolan sistemleriniz ile e-ticaret uygulamalarının birleştirilmesini kolaylaştırmak için CORBA, COM ve MTS gibi bütün dağıtık hesap standartlarını kullanır. MIDAS'taki birçok yeni özellikten bazıları: · Mobil ve düşük bant genişliği durumlarında daha fazla kontrol için Stateless DataBroker · Programlarınızı firewall'un dışına güvenli bir şekilde taşıyabilmek için WebConnection bileşenleri · Geliştirilmiş ölçülebilirlik için sunucu nesne havuzlama IDE: Geliştirici için yüksek üretkenlik. Delphi 5 IDE, kodu okuma, yazma ve araştırma işlemini kolaylaştırarak geliştiricinin üretkenliğini yüksek ölçüde artırır. Kod editörü bir ünite içinde veya ilişkili üniteler arasında gezinmeyi kolaylaştırır. Proje yöneticisindeki Sürükle ve Bırak desteği herhangi bir açık projeden veya Windows Gezgini dosya diyalogundan projeye dosyaları eklemeyi kolaylaştırır. Proje yöneticisinin çoklu proje desteğini kullanarak, EXE ve DLL dosyaları gibi birden fazla hedefte kolay derleme yapabilirsiniz. Delphi'nin görsel form dizayncısı ile hızlı bir şekilde Internet, dağıtık hesap ve Windows uygulanmalarını görsel olarak bir panelden bileşenleri seçerek oluşturabilirsiniz. Delphi 5 birçok yeni özellik ve VCL'e artırımlar içerir: · Geliştirme ortamınızın daha fazla kontrolü için kişiselleştirilebilen Masaüstü Ayarları · Editörü çalışma şeklinize göre ayarlayabileceğiniz Editor Key mapping · Kodunuzu daha iyi anlamak ve VCL'i taramak için proje çapında araştırma · Programınızda verinin ayrıntılı anlatılabilirlik kazanması için Tree ve Data Diagram View ile DataModule Dizayncısı · Proje yöneticisi ve derleyicisi için bütünleşmiş RC Dosyaları · Uygulamanızın takvimini tutmak için Yapılacaklar listesi · Programınızın özelliklerini ayarlamak için Denetim Masası Visual Component Library: Kod tekrar kullanımında son nokta Delphi ile güvenilir ve verimli uygulamalar oluşturmak için nesne tabanlı uygulama gücünü, kendi yararınıza kullanırsınız. Delphi'nin ispatlanmış nesne tabanlı bileşen yapısı ile kendi bileşenlerinizi inşa edin. Delphi 5 (Delphi Enterprise'da) 200'ün üstünde Internet ve Windows uygulamalarınız için pazarlama hızını dramatik arttıran bileşenleri içeren Visual Component Library içerir. Yeni Frame özelliği ile işiniz için görsel olarak bileşenler inşa edeceğinizden üretkenliğiniz artacak. Kaynak koda açık erişim ile VCL' in şıklığını keşfedeceksiniz. (Şimdi Decision Cube bileşenleri ve ek Property Editors için ek kaynak kod içerir). Delphi ile bileşen tabanlı geliştirme, Windows ya da Internet uygulamaları gibi en zor geliştirme görevlerini basitleştirir. Delphi 5 VCL ile ilgili birçok yeni özellik ve artırımlar içerir: · Karmaşık bileşenler derlemek ve inşa etmek için Frameler · Uygulamanızla HTML arattırmayı birleştirmek için WebBrowser bileşeni · Word, Excel ve Outlook gibi Office uygulamaları ile kendi programlarınızı hızlı bir şekilde entegre etmek için MS Office otomasyon bileşenleri kümesi · Öğrenme ve üretkenliği arttırmak için Property Category'ler · Özellik seçeneklerini basitleştirmek için Property Editor'ünde Owner Draw desteği · Windows API üzerinde daha fazla kontrol için Advanced Custom Draw fonksiyonlarına geliştirilmiş destek Karmaşık projeleri pazara daha hızlı taşımak için gelişmiş hata ayıklama Delphi ile, en karmaşık projelerde bile hataları bulmak ve ayıklamak daha önce hiç daha basit olmamıştı. Delphi'nin geliştirilmiş hata ayıklayıcısı kodunuzun ne yapacağını anlamanıza ve kontrol etmenize yardımcı olur. Breakpoint'ler ile kodda istediğimniz noktada yoğunlaşabilirsiniz. Şimdi breakpoint'te yapılması gereken işi ayarlayıp breakpoint'leri gruplayarak kodunuzun ilgilendiğiniz bölümlerini çabucak hata ayıklayabilirsiniz. Delphi 5 hata ayıklayıcısı için birçok yeni özellik ve artırımlar içerir: · Pano ve sürükle ve bırak desteği de dahil olmak üzere, editör ile hata ayıklama pencerelerinin entegrasyonu ve kolay kullanılabilirlik · Daha hızlı araştırma için Breakpoint ToolTip'leri · Hata ayıklama işlemi üzerinde daha fazla kontrol için Breakpoint Action'ları · Birden fazla breakpoint'i daha kolay kontrol için Breakpoint Groups · DCUlar ve Hata Ayıklama sembol arama yolları ile daha kolay hata ayıklama · Artırılmış düşük seviyeli hata ayıklama için MMX desteğiyle birlikte FPU görüşü · Çok-işlem hata ayıklama · Merkezileşmşt çok-işlemli hata ayıklama için Temporary Process Option'ları · İşlem sınırlarını geçmek için Çapraz işlem hata ayıklama · Üretilmiş işlemleri ayıklama · Çalışan işleme ekleme yapma ve hata ayıklama Form1 Form tasarımcısı. Object İnspector F11 (Bir nesnenin özelliği ve değeri değişir.) Componet Palet Bileşen Paleti Run (F9) Programı çalıştırır. Her satırdan sonra mutlaka ; konur. 1. SHOWMESSAGE ('yazılacak mesaj'); Butona tıklayınca ekran mesaı verir. Örnek: showmessage('merhaba') 2. CLOSE Butona tıklayınca kapatsın. Begin Close; end String Karakter İnteger Sayısal değerler 3. TIME Form1'in başlığına saati gösterir. Form1.caption:=TimeToStr(time); Hem saat hem tarih için; Form1.caption:=datetimeToStr(now); Edit Butonu : Form1.caption:=edit1.text İki sayının toplamını üçüncüye yazdıran kod: Ama 5+5 sonucunu 55 yazar. Edit3.text:=edit1.text+edit2.text; Tam String ifadeyi integer ifadeye çevirmek suretiyle doğrusu yazılır. edit3.text:=intToStr(StrToint+(edit1.text)+StrToint(edit2.text)); Butona tıkladığında .exe dosyasını çalıştıran kod: Winexec(pchar('C:\windows\scandskw.exe'),sw_shownormal); & işareti karakterin altını çizer ve Alt tuşu ile kullanılmasını sağlar. Kapat yazan butonun caption özelliğine &Kapat yazarsa sonuç; Kapat olur. BİLEŞENLERİ (COMPONENTLERİ) KULLANMAK NESNE Events Properties Method İPUCU : Shift tuşu ile birlikte butona basılırsa aynı butondan bir çok buton çizilebilir. 4. CAPTİON : Nesnenin etiketini değiştirir. 5. CONSTRAİNTS : Nesnenin en geniş veya en dar alabileceği en yüksek ve en küçük değeri gösterir. Maxheight : En büyük alabileceği yükseklik Maxwidht: Genişliğinin en büyük alabileceği değer. Minheight : Minimum yükseklik Minwidht : Minimum genişlik If …(a)…. then begin (a) şartı temsil eder. (b) (b) Koşul sağlandığında işleyecek kodlar end else begin (c) Koşul sağlanmadığında işleyecek kodlar (c) end; end; end.
ÇALIŞMA-1 1 nci butona tıklayınca 4 nolu button enabled (pasif) olsun. 2 nci buttona tıklayınca font özellikleri 1 nciye kopyalansın. 3 ncü buttona tıklayınca 6 ncı buttonu genişletsin. 4 ncü buttona tıklayınca button1 eski halini alsın. 5 nci buttona tıklayınca 2 nciyi gizlesin. Show yazsın. 6 ncı buttona tıklayınca kendini küçültsün. Çözüm Açıklaması 1.Button (onclick olayına yazılacak kod) if button4.enabled=True then {Eğer, Button4 enabled(aktif) özelliği doğru ise;} begin button4.enabled=False; {Button4'in enabled özelliği yanlış ise,} button1.caption:='&1 Enabled 4'; {Button1'in Caption özelliğine '&1 Enabled 4' yaz.} end else Değilse, begin button4.enabled.=True; {Button4'ün enabled özelliği doğru ise,} button1.caption:='&1 Disable 4' {Button1'in caption özelliğine '&1 Disable 4' yaz.} end; end; end. 2. Button (onclick olayına yazılacak kod) button1.font:=button2.font; {Button2'nin font özelliğini Button1'e kopyalar.} 3. Button (onclick olayına yazılacak kod) button6.height:=button6.height+2; {Button6'nin yüksekliğini 2 birim artırır.} button6.widht:=button6.widht+2; {Button6'nin genişliğini 2 birim artırır.} 4. Button (onclick olayına yazılacak kod) button1.parentfont:=True; {Button1'in Parentfont (eski font ayarlansın) doğru yap.} Not: (PARENFONT özelliği; font ayarlarının eski haline dönmesini sağlar) 5. Button (onclick olayına yazılacak kod) if button2.visible=True then; {Eğer button2 visible (görünür) özelliği doğru ise.} begin button2.visible:=False; {Button2nin visible özelliği yanlış ise; (yani görünmüyorsa)} button5.caption:='&5 Show 2'; {Button5'in caption'una &5 Show yaz.} end else Değilse, begin button2.visible:=True; {Button2nin visible özelliği doğru ise (görünüyorsa)} button5.caption:='&5 Hide 2'; {Button5'in capiton özelliğine &5 Hide 2 yaz.} end; end; end. 6. Button (onclick olayına yazılacak kod) button6.height:=button6.height-3; {Button6'nın yüksekliğini 3 birim küçültsün} ÇALIŞMA-2 WORDRAP : Etikette alta yazmasını sağlar. (True olursa ) Label'in formu kaplaması için Align özelliği alclient yapılır. Alignment Özellikleri Tacenter à Yazıyı ortalar. TaLeftJustify à Sola hizalar. TaRightJustify àSağa hizalar. Onclick olayına yazılacak kod Label1.Alignment:=taLeftJustify Onclick olayına yazılacak kod Label1.Alignment:=taRightJustify Onclick olayına yazılacak kod Label1.Alignment:=taCenterJustify Renkler için dialogs bölümünden colordialog kutusu formun üzerine getirilir. Name özelliği dlgRenkKutusu olarak yazabiliriz. Onclick olayına yazılacak kod DlgRenkKutusu.Execute; (execute: dialog kutusunu getirir.) Label1.color:=dlgRenkKutusu.color; Onclick olayına yazılacak kod DlgRenkKutusu.Execute; (execute: dialog kutusunu getirir.) Label1.font.color:=dlgRenkKutusu.color;
DELPHİDE KAYDETME İŞLEMİ Her uygulamanın adına Application denir. Project (Program) Unit (Form) Her uygulama için ayrı bir klasör oluşturmak gerekir. Project1.exe à Bizim verdiğimiz isimler olacak. Unit1.pas Project1.dpr Unit1.dfm ÇALIŞMA-3 (sürükleme) Yukarıdaki şekilde soldaki Label'lerin renkleri mouse ile yandaki StaticText nesnesinin rengi değişecek. 1. İki çeşit sürükleme vardır. Manual ve Automatic Nesnenin dragmode özelliği ayarlanır. 2. Label'in Properties'inden DragMode özelliği Automatic seçilir. 3. Üstüne sürüklenen nesnenin dragover olayındaki accept true olacak. Yani statictext'in event bölümünde; Accept:=True; 4. Sonra sürüklenen yerde ondragDrop olayı oluşur. 5. Kendi üzerine birşey sürüklenen nesnenin sürükleme işlemi devam ederken onDragDop olayı oluşur. DragDrop : Çekti buraktı, DragOver : Çekti dolaştırdı. 6. StaticText'in ondragDrop olayına yazılacak kod; StaticText1.color:=(source as Tlabel).color;
Çalışma 3-1 Yukarıdaki uygulamada; edit1.text içindeki yazı label'lerin üzerine sürüklendiğinde label'lerin caption özelliğine kopyalansın. Yapılacak İşlemler 1. edit1'in DragMode olayı dmAutomatic yapılır. (properties) 2. Label1'in onDragOver olayına Accept:=True; kodu yazılır: 3. Label1'in onDragDrop olayına Label1.caption:=edit1.text kodu yazılır. Ama burda sadece bir label için oldu. Biz bütün Label'ler için olmasını istiyorsak eğer; (sender as Tlabel).caption:=(source as Text).text; kodu yazılır. Sender : Olayın meydana geldiği yer.
edit1.text:=(sender as Tbutton).caption; NOT: Yazılan kodlar içine kendimiz açıklama yazmak istiyorsak eğer; 3 yöntem kullanabiliriz. 1. // tek satırlık açıklamalarda kullanılır. 2. { } birden çok satırlı açıklamalarda kullanılır. 3. (* *) birden çok satırlı açıklamalarda kullanılır. ÇALIŞMA-4 (Giriş Odağının Yönetilmesi) TabOrder : Tabsırasını ayarlar. Tabstop : True iken False olursa tab sekmesi o nesneye uğramaz. OnEnter : Odaklanan nesnenin hakkında bilgi verir. StatusBar1 (Durum çubuğu) : StatusBar'ın üzerinde yazı görünmesini sağlar. StatusBar'ın üzerine yazı yazmak için simpletext özelliği kullanılır. Yazının StatusBar'da gözükmesi için; SimplePanel à True olacak. Password yazarken * gözükmesi için, özelliklerden PasswordChar bölümüne bir tane * konur. Edit2'ye gelince status bar'da yazı görünmesi için OnEnter olayında Statüs Bar1.snpktext:='Adınızı Giriniz'; diğer Ed,tler içinde geçerlidir. Statüs Bar1'deki yazı fontunun değişmesi için UseSystemFont özelliği True olmalıdır. Hint(ipucu) özelliği O nesnenin hint özelliğine açıklama yazılır. Showhint özelliği True olmalıdır. StatusBar1.simpletext:=(sender as (edit).hint; Onexit Edit1'de çıkmaya çalıştığında boş ise mesaj verilir. Tamama tıklayın sonra o edite dönsün If edit1.text:='' then ('')hiçbirşey anlamındadır. Begin Showmessage('adınzı yazınız'); Edit1.setfocus; End; End; End;
Sender ile yaparsak; If(sender as tedit).text:=" then Begin Showmessage((sender as tedit).hint)); (Sender as tedit).setfocus; end; end; end. DÖNGÜLER DÖNGÜ:Ağaç veya birbirine çok benzeyen işlemlerin birden çok kez tekrarlandığı kısımlara denir. Bu işlemleri alt alta yazmak yerine bir döngü içinde tanımlamak kodu kısaltır ve olanaklığını arttırır Ali ayaklarını yıkada gel Boşlukları say Edit1.text[1] texin ilk değeri Length(edit1.text) text'deki krakter sayısını gösterir. Kodu Var I,s:integer; Begin Fori:=1 to length(edit1.text) do If edit1.text[I]=" " then s:=s+1; Show message('boşluk sayısı:'+inttostr(s)); End; End End;
Var Ad:string[10] ad değişkenine en fazla 10 Soyad:string[15] ad değişkenine en fazla 15
ÖDEV Klavye yazılan paragraftaki istatiklik kodu yazılacak
Boşluk Kelime Cümle Nokta Virgül For Döngü Değişkeni:iİlk değer 10 son değer 00 Begin …… end; for x:=1 to 10 do begin …….. end; AÇIKLAMA:X döndü değişkeni ilk blok içindeki program satırı 10 kez arka arkaya iletilir.
Var I:string[100]; Begin For I:=to length(edit1.text) do If edit1.text[I]=string[100]
Edit kutusuna girilecek karakterleri tanımlamak pp Check ile run edilince
Check butonunun OnClick olayı Var Sayi,kod:integer; Begin If edit1.text<>" then Begin Val (edit1.text,sayi,kod); If kod<>0 then Begin Edit1.setfocus; Label6.caption:=inttostr(kod); MessageDlg('giriş hatalı',mterror,[mbOK]; Var I,sc,sn,skb,sv:integer; Begin Sc:=0; Sn:=0; Skb:=0; For I:=1 to length Edit1'in OnChange Olayı Var Sayi,kod:integer; CurEdit:Tedit; Begin CurEdit:=sender as tEdit; If CurEdit.text<>" then Begin Val(curedit.text,sayi,kod); If kod<>0 then Begin Curedit.setfocus; Label6.caption:=inttostr(kod); MessageDlg('giriş hatalı',mtError,[mbOK]; End; End; End. Edit'tin OnExit olayı Odak bir nesneden ayrıldığı zaman o nesnenin OnExit olayı meydana gelir.
Var Sayi,kod:integer; Begin If edit1.text<>"" then Begin Val(edit1.text,sayi,kod); If kod<>0 then Begin Edit1.setfocus; Label6.caption:=inttostr(kod); MessageDlg('giriş hatalı',mtError[mbOK],0'); End; End; End; Sayı girdikçe her edit dosyasına geçişi sağlıyor. Aynı kodu Edit1'in OnChange yazdığımız zaman (karakter seçtiğimiz zaman )hata veriyor. RichEdit1:Sadece seçili alanlar için özellik ayarlar. Memo1:Hepsi birden değişir (özelliklerinin). [ ] olan özellikler kümes tipi özelliklerdir. + Bir kümeye eleman ekler. - Bir kümeden eleman siler. Style :[ ]; Style:=[fsBold,fsitalic]; Style:=style+[fsunderline]; Style:=Style-[fsbold]; Eğer memo1'deki yazı hem italic, hemde bold olacaksa, ayrıca tıklandığında, Bold; seçiliyken tıklandığında Bold özelliği kalkacak kod; if checkBox1.checked then memo1.font.style:=memo1.font.style+[fsBold] else memo1.font.style:=memo1.font.style-[fsBold]; end; RadioButton Begin Memo1.font.name:=RadioButton1.caption; end Case Of Deyimi Case RadioGroup1.itemindex of 0: memo1.alignment:=taleftJustify; 1: memo1.alignment:=taRightJustify; 2: memo1.Alignment:=tacenter; end; Ödev: Kutuya yazılan paragraftaki istatistik kodu yazılacak. (Boşluk sayısı, Kelime sayısı, Cümle sayısı, Nokta sayısı, Virgül sayısı) FOR DÖNGÜ DEĞİŞKENİ İlk değer TO son değer DO Begin ………. End; For x=1 TO 10 DO
Açıklama : X döngü değişkeni İlk blok içindeki program satırı 10 kez arka arkaya işletilir. var i:string[100] begin for i=1 TO length (edit1.text) DO if edit1.text[i]=string [100] CHECK ile RUN edilince; Check Butonunun OnClick olayı Var Sayi,kod:integer; Begin If edit.text<>" then Begin Val (edit1.text,sayi,kod); If kod<>0 then Begin Edit1.setfocus; Label 6.caption:=inttostr(kod); MessageDlg('Giriş Hatalı',mtError,[mbOK]; Editin change olayı var sayi,kod:integer CurEdit:Tedit; Begin CurEdit:=Sender as Tedit; If CurEdit.text<>" then Begin Val(Curedit.text,sayi,kod); If kod<>0 then Begin CurEdit.setfocus; label6.caption:=inttostr(kod); messageDlg('giriş hatalı',mtError,[mbOK]; end; end; end. EDİTİN ONEXIT OLAYI Odak nesneden ayrıldığı zaman o nesnenin onExit olayı meydana gelir. Var Sayi,kod:integer; Begin Val(edit1.text,sayi,kod); If kod<>0 then Begin Edit1.setfocus; Label6.caption:=inttostr(kod); MessageDlg('giriş hatalı',mtError,[mbOK]; End; End; End; Sayı girildikçe her edit dosayasına geçişi sağlıyor. Yanı kodu edit1 in OnChange yazdığımız zaman (karakter girdiğimiz zaman)hata veriyor. RichEdit1:sadece seçili alanlar için özellik ayarlar. Memo1:hepsi birden değişir(özelliklerinin) [] olan özellikler küme tipi özelliklerdir +:bir kümeye eleman ekler. -:bir kümeden eleman siler. Style :[]; Style:=[fsBold,fsItalik] Style:=style+[fsunderline]; Style:=style-[fsbold]; Eğer memo1 deki yazı hem italikihem bold olacaksa ayrıca tıklandığındabold özelliği kalkacak KOD CHECKBOX If checkbox1.checked then Memo1.fontstyle:=memo1.fontstyle+[fsbold]; Else Memo1.font.style:=memo1.font:style-[fsbold]; End; RADIO BUTTON Begin Memo1.fontname:=radiobuton1.caption; End Label1.caption:=inttostr(radiogroup1.ItemIndex); CASE OF DEĞİMİ Case radioGroup1.ItemIndex of 0 memo1.aligment:=toleftjustfy; 1 memo1.aligment:=torightjustfy; 2 memo1.aligment:=tocenter; end ÖDEV Fist object position second object RadioGroup1.Items[RadioGroup1.ItemIndex] ONKEYPRESS Odak bir nesne üzerindeyken klavyeden bir tuşa basılınca meydana gelen olay Editii onkeypress olayıdır. Var(edit1 de sadece rakamları alıyor) Key:char Begin If not((key in ["0".."y",#8]) then Begin Key:=#0; Beep End End; Eğer 9 değer girildiği zaman edit 4'e karakter yazamıyoruz Program 0'dan büyük harf olmak koşuluyla Y'e kadar değergirebiliriz. MASKEDIT(Additional altında 3.button) Editmask özelliği\çift tıkla\extension\ok Kaç haneli rakam girileceğini belirtiyor. ÖDEV Adınızı giriniz(küçük) OnKeypress özelliği Soyadınızı girin(büyük) Aksi taktirde klavye yazmıyacak. PROGRAM Var Key:char; Begin Key:=#0; End; End; Var Key:char; Begin If not(key in ['A'..'Y',#8]) then Begin Key:=#0; End; End; Var I,sc,sn,sk,b,sv:integer; Begin Sc:=0; Sn:=0; Skb:=0; Sv:=0; For i:=1 to lenght(edit1.text) do If edit1.text[i]='?' then Sc:=sc+1; Else If edit1.text[i]='.' Then Begin Sc:=sc+1; Sn:=sn+1; End End; Else SHOWMESSAGE ('cümle sayısı'+inttostr(sc)+#13+'nokta sayısı'+inttostr(sn)+#13+'kelime sayısı' inttostr(skb+1)+#13+'boşluk sayısı'+intostr(skb+#13+'virgül sayısı+inttostr(sv)); Begin Dlgrenk_kutusu.execute Label1.color:=Dlgrenk_kutusu End; SORU1 Zeminin OnClik Begin Dlgrenk_kutusu.color End; F9 run ediliyor -------------------------------------------------------- begin Dlgrenk_kutusu.execute Label1.color:=Dlgrenk_kutusu.color; Label2.color:=Dlgrenk_kutusu.color; Button1.caption:=Dlgrenk_kutusu.color End; F9 run ediliyor cvp:Button1 color özelliği yok Var Key:char; (program çalışmıyor eğer kullanılmıyorsa) begin key:=#0; . . . . soru3) if kod<>0 (<>0 :hatalı kod(integer mi)) (<>0 doğru kod,1 hatalı kodmu)
EDİTÖR YAPIMI DİOLOG ALTINDA PANEL AlTop üçte taşır Panel'in align özelliğini AlClient akranı kaplar(özelliklerden) Font'a tıkladığımıda seçili nesne varsa dialog kutusu açılacak Her procedure begin ile başlar. Begin If re.sellength>0 then Begin Fd.fontAssign(RE.defAtributes); Parantezin içindekilerFD'nin içine kopyalanıyor. If FD.execute then Re.selAtributes.Assign(FD.font); Re.setfocus; End, Else Showmessage('metin seçin'); F9run edilince Richtext nesnesi içeriğine yazı yazılıp seçilip,font tuşuna basılınca ,font menüsü ekrana gelir. Aynı panele ekliyoruz. Begin If memo1.sellenght>0 then Begin Fd.font:memo1.font; If fd.execute then Memo1.font:=fd.font; Memo1.setfocus ; End ; Else Showmesage('önce metin seçin'),
|