Derleyen :
M. Can Tepebağ BORLAND DELPHI InputBox(‘kutu başlık’,’metin kutusu başlık’,kutudaki
varsayılan metin);
Ör : x:=application.messagebox(....,..,...);
Ör: x:=application.messagebox (‘Kapat?’,’Dikkat’,mb_yesno+mb_defbutton1+mb_iconquestion); MessageDlg (‘mesaj’,mt_mesajtipi,[mb_butonlar], helpctx
ilgili yardım dosya no); MDI-SDI Formlar Kullanım : iki form açılır. Ana form olmasına karar verilen formun formstyle özelliğinde “fsMDIForm” seçilir. Alt form olarak kullanılacak diğer pencerede ise “fsMDIChild” seçilir. Çalışma anında alt pencerenin kullanılabilmesi için sahip olduğu “unit” ana pencerenin “uses” kısmında tanımlanır. Örnek : Uses unit2; var alt_pencere : tform2; alt_pencere:=Tform2.create(application); // çalışma anında alt pencere oluşturur. Alt_pencere.caption :=’alt pencere’ + inttostr(MDIChildCount); // alt penc. sayısınca numaralar. Tile; // pencere içine döşer. Cascade // pencere içinde basamaklar. Tabstop Eğer nesnenin çalışma sırasında <TAB> tuşuna basıldığında aktif
olması istenmiyorsa bu değer “false” yapılmalıdır. Taborder <TAB> tuşuna basıldığında nesnenin kaçıncı sırada aktif
olacağını belirler. ( 0,1,2,....); Modified Kontrol nesnesi üzerinde değişiklik olup olmadığını kontrol eder. Ör : if edit1.modified then showmessage(‘girilen bilgi değişti.’); Autoselect Nesneye ulaşıldığında içindeki bilginin seçili olması isteniyorsa “true”
olmalı. Parent – ClassName Bir panel ,groupbox gibi nesnelerin içine konulan nesnelerin parent’ı içine kondukları nesnedir. Örneğin bir panelin “visible “ özelliği “false” yapılırsa içindeki tüm nesneler de görünmez olur. Parent özelliğiyle nesneye parent’ın font,color,ctl3D,showhint özellikleri aktarılabilir. Classname nesnenin ait olduğu parent’ı bildirir. Ör : showmessage(Edit1. Parent.Classname); Owner Projede kullanılan nesnelerin hangi elemana ait olduğunu bildirir. Form1’deki nesnelerin owner’ı form1, form1’in owner’ı ise TApplication’dır. Owner hafızadan silinirse altındaki elemanlarda silinir. Ör : showmessage(Form1. Owner.Classname); Selstart – SelLength – SelText Kontrol nesnesindeki seçim işlemleri için kullanılırlar. MaxLength – GetTextLength Kontrol nesnesindeki nesne alabileceği max. uzuluğu atamak , girilen
text’in uzunluğunu almak için kullalılırlar. Font { Ör : edit1.font.style := [fsitalic,fsbold] ; // fontu ayarlar. Edit1.font.style := Edit1.font.style + [fsitalic] // font stiline özellik ekler. Edit1.font.style := Edit1.font.style -[fsunderline,fsstrikeout] // font
stilinden özellik çıkarır. } Tag Delphi tarafından kolaylık amacıyla tanımlanmış değişkendir. Kullanılış
yeri programcıya bağlıdır Keypress Sadece ,ASCII kodu olan herhangi bir tuşa basıldığında oluşur. Keydown Tüm klavye tuşlarından herhangi birine basıldığında oluşur. ASCII’de olmayan tuşları vk_ tuş ifadeleriyle tanınır. Shift ifadesiyle ctrl-alt-shift durumları öğrenilir. Ör : if (key=65) and (shift=[ssshift]) then showmessage('shift+A') ; Focused - SetFocus - CanFocus Focused : true ise kontrol ilgili nesnededir. SetFocus : Kontrolün istenen nesneye geçmesini sağlar. CanFocus : true ise nesne “setfocus”a tabi tutulabilir. Ör : If button1.focused then edit1.setfocus; Clear – ClearSelection “Clear” nesnenin tüm bilgi içeriğini siler. “ClearSelection” ise sadece
seçili kısmı siler. ScaleBy Nesnenin boyutunu belirtilen oranlarda değiştirir. Ör : Button1.scaleby(75,100); SetBounds(sol,üst,genişlik,yükseklik ) Nesnenin konum ve boyutunu değiştirir. Ör : Edit1.SetBounds(120,30,75,25); CopyToClipboard – CutToClipboard – PasteToClipBoard Seçili olan text üzerinde pano işlemlerini yapar. Ör : Edit1.CopyToCliboard; Edit1.PasteFromClipboard; BUTTON Cancel Bu özelliğin “true” yapılmasıyla <ESC> tuşuna basılması button1Click
olayını oluşturur. Default Bu değerin “true” yapılmasıyla <ENTER> a basılarak düğme aktif
edilebilir. ModalResult Eğer kullanıcının formdan sadece belirli şartlarda çıkması isteniyorsa forma modal özelliği verilir. Böylece form messgebox, inputbox gibi davranır. Formdaki düğmelerin “modalresult” özellikleri ise mrNone , mrCancel , MrYes ,.... şeklinde ayarlanır. { Ör : Form2.showmodal; if form2.modalresult=mrCancel then form2.close; if form2.modalResult= mrOK then showmesssage(‘Tebrikler’); } LABEL FocusControl – ShowAccelChar Label’ın “showAccelChar” özelliği “true” ise etiket isminin önüne & işaretinin eklenmesiyle kısayol tuşunu aktif hale getirmiş oluruz. Fakat bu kısayol tuşunun hangi nesneyi aktif yapacağını “FocusControl” özelliğinde aktif olacak nesneyi seçerek yapabiliriz. ( Örnek görünüm : &Soyadı => Soyadı ) Transparent Label’ın rengini değiştirebilmek için “transparent” özelliği false
olmalıdır aksi halde renk olarak formun rengi esas alınır ,renk ataması
yapılamaz. MEMO Align – Alignement “Align” özelliği memo nesnesinin form içindeki yerini , alignement
özelliği ise memo içindeki yazının memodaki konumunu ayarlamaya yarar. Lines.Count Memo içerisindeki satır sayısını vermektedir. Lines.Strings [n] Memo içindeki istenilen bir satırdaki bilgiyi almaya yarar. [0,1,2,....] Lines.add(‘ Bilgi ’) Memo içindeki son satıra bilgiyi ekler. Lines.Insert ( n, ‘Bilgi’) n. satıra bilgi girişini sağlar. O satıra bilgi girişi yapılırken diğer
bilgiler aşağı kaydırılır. Lines.Exchange ( n1 , n2 ) n1 ve n2. satırdaki bilgilerin yeri değiştirilir. Lines.Move ( n1 , n2 ) n1. satırdaki bilgiyi n2. satıra taşır . Bu işlem sırasında satırlar
kaydırılır. Lines.IndexOf ( ‘ Bilgi’ ) Girilen bilginin kaçıncı satırda olduğunu bildirir. Lines.Values [ ‘’ ] -?- Lines.Assign ( ) Memo içerisine bir başka string yada memo içeriğini yüklemeye yarar. { Ör : Memo1.Lines.Assign ( Memo2.Lines) ; => memo1 = memo2 } Lines.LoadFromFile (‘ Dosya adı’) - Lines.SaveToFile (‘
Dosya adı’) Dosyadan yükleme / dosyaya kayıt yapar. WordWrap “True” ise satır sonuna gelince <ENTER> tuşuna basmadan bir alt satıra otomatik olarak geçer. “False” ise geçmez. WantReturns “False” ise Alt satıra <Ctrl+Enter > ile geçilir ,”true” ise <Enter> ile geçilir. WantTabs “True” ise memo içinde 8 karakter kayma yapar, “false” ise “tabordrer”
sırasına göre diğer nesneye geçer. CHECKBOX Checked Nesnenin işaretli olup olamadığını belirtir / işaretlenmesini sağlar. { Ör : If checkbox1.checked then checkbox2.chexked:= false; } State “checked” özelliğinden farklı olarak kararsızlık durumları için “grayed” özelliğini içerir. { Ör : If checkbox1.state=cbGrayed then label1.caption:=’Kararsız !’ } AllowGrayed “false” ise checkbox’a tıklandığında sadece onaylı/onaysız durumları
gelir. “true” ise bu iki değere ilave olarak bir de kararsız durumu gelir. RADIOGROUP Normal groupbox’lardan farklı olarak içine eklenecek radiobutton’lar “Items” özelliğinden düzenlenebilr. RadioGroup’un içine “items” özelliğinden değil de dışarıdan da “radiobutton” eklenirse grup içinde aynı anda birden fazla seçim şekli oluşacaktır. Seçili öğeyi “ItemIndex” özelliğinden öğrenebiliriz /ayarlayabiliriz . “Columns” özelliğiyle sütunları düzenleyebiliriz. LISTBOX Bazı özelliler yönünden memo nesnesine benzer. Örneğin : items, itemindex,
items.count, items.indexof(‘’), items.saveTofile(‘’),
items.loadFromFile(‘’),items.count, items.insert( n, bilgi), items.exchange.
items.move (n1, n2),.. gibi özellikleri memo nesnesinin strings, lines
özelliklerinin kullanımına benzer. Items[ ] – Items.strings[ ] “items[]” ve “items.strings[]” özellikleri aynı fonksiyona sahiptir.
Listbox’a bilgi girme/ okuma işlemleri için kullanılırlar . Memo’daki
lines.strings[] özelliğine benzerler. TopIndex Bilgilerin sığmamasından dolayı kaydırma çubuğuyla seçeneklerin görünen
kısmı değişebilir. “TopIndex” liste kutusunun en üstündeki satırın index
numarasını verir. Columns Listbox nesnesinin kaç sütundan oluşacağını belirler. Clear Nesnenin içeriğini temizler. Sorted Listbox’taki seçenekleri alfabetik olarak sıralar. MultiSelect – SelCount – Selected [ ] “Multiselect” özeliği “true” ise birden fazla seçim yapılabilir.
“SelCount” ise seçili durumdaki satır sayısını verir. “Selected[n]” index
numarası n olan seçeneğin seçili olup olmadığını verir. ExtendedSelect Bu özellik “true” ise shift,ctrl tuşları yardımıyla da seçim yapılabilir.
“False” ise seçim tek tek tıklamayla yapılır. Style – ItemHeight “style” özelliğinin standarttan farklı seçilmesiyle satır yüksekliğinin değiştirilmesi sağlanabilir. Bu satır yüksekliği ise “ItemHeight” özelliğiyle sağlanır. { Ör : ListBox1.style:=LbOwnerDrawVariable ; ListBox1.Height:=20 ;} COMBOBOX “Listbox” liste yapısından farkı aşağı açılır menü şeklinde olmasıdır. Style ...OwnerDraw... özelliğine sahip stillerden herhangi birisinin seçilmesi
durumunda “ItemHeight” özelliğiyle aralıklar değiştirilebilir. SCROLLBAR Min – Max –Position “Min” ve “max” scrollbar’ın hareket sınırlarının değer aralığını belirler.
“Position” özelliğiyle ise belirlenen bu sınırlarda hareket sırasında
ulaşılan noktanın değerini verir. SetParams ( position , min , max) “ScrollBar” ın position , min ve max özelliklerini tek bir prosedürle düzenler. OnScroll “OnChange” olayı yalnız kaydırma sırasında oluşur. “OnScroll” olayının
farkı ise ekstradan kaydırma işlemi sonrası yapılan işlem hakkında bilgi
verir. (pageDown tuşuna basılması, çubuğun sona dayanması,vs..). MAINMENU-POPUPMENU Break “Break” özelliği verilen menü nesnesinden itibaren menü çubuğu / şıkları
parçalı görünür. BITBTN ModalResult { Ör : “kind” özelliğini “no” olarak belirlemiş olduğumuz bir bitbtn’u <ESC> tuşu ile ilişkilendirmek istersek “modalresult” özelliğinden “mrNo” yu seçeriz.} NumGlyphs Varsayılan değeri 1’dir. 1 ile 4 arası değerler aktarılır. Resim sırasıyla
düğmenin normal/ kullanılmayan/ basılı/ basılı tutuluş anlarını içermektedir. SPEEDBUTTON GroupIndex Belirli bir grup düğme arasından aynı anda sadece birinin basıl kalması
isteniyorsa , bu düğmelerin “groupIndex” numaraları aynı yapılır. AllowAllUp “GroupIndex” numaraları farklı olan tekil çalışan düğmelerin basıldığı
zaman basılı kalması için bu özellikleri “true” yapılmalıdır. Down Nesnenin basık olma durumunu belirtir , ayarlamaya yarar. MASKEDIT EditMask
Text – EditText -SelText “Text” maskenin girilen karakterlerini verir. “edittext” maskenin tamamını verir. “seltext” maskenin seçili kısmını verir. { Ör : sadece “Mehmet Can” şeklinde bir metin için yazılacak mask: >l<lllll\ >l<ll şeklindedir. Boşluk karakteri olarak * seçilmiş olsun. Bu durumda maskedit kutusu :
Bu kutuya şu şekilde giriş yapılmış olsun :
Burada renkli kısım(hm** *) seçilmiş/işaretlemiş kısmı göstermektedir. Buna göre : Maskedit1.Text : Mehm Maskedit1.EditText : Mehm** *** MaskEdit1.SelText : hm** * } MaxLength Eğer “EditMask” ile bir format atanmışsa bu özelliğe değer atayamayız.
Formatta belirlenen karakter sayısı otomatik olarak atanır. Ancak “editmask”
özelliği boşsa değer atayabiliriz. IsMasked Nesnenin “editmask” özelliğinde bir maske formatı olup olmadığını
bildirir. STRINGGRID FixedCols –FixedRows – ColCount –RowCount Sabit , toplam sütun ve satırların sayılarını belirlerler. Cells [ sutun ,satir] Tabloya bilgi girişi ve tablodan bilgi okuma için kullanılır. Sol-üst köşe
[0,0] noktasıdır. Col – Row Aktif /mouse ile son tıklanan hücrenin sütun –satır numarasını verir. DefaultRowHeight- DefaultColWidth – RowHeights [n] –
ColWidths [n] Tüm satırların/sütunların ya da n. satırın/ sütunun boyutunu değiştirir. Rows[ ] – Cols[ ] Listbox’ın items özelliğine ya da memo’nun lines özeliğine uygulanan benzer metotlar kullanılabilir. Ayrıca “SaveToFile” ve “LoadFromFile” metotları da uygulanabilir. Bu yöntemlerle herhangi bir satır veya sütuna tek bir kod parçasıyla değerler atanabilir. { Ör : StringGrid1.Rows[2].Add(‘can’); // 2. Sıranın ilk hücresine ‘can’ yazar. StringGrid1.Cols[4]:=ComboBox1.Items; // 4. Sütunun hücrelerine
comboBox1’in içeriğini atar} Options Çizilecek çizgilerin yeri , kullanıcıya satır/sütun yüksekliğini
değiştirme imkanı verme, hücre taşınması, hücreye bilgi giriş izni,
<TAB> kullanımı, seçim şekli, güncelleme görünümü gibi birçok özellik
buradan ayarlanır. Örneğin “GoEditing” özelliğinin “True” olması şartıyla
kullanıcı hücreye bilgi girebilir. TopRow – LeftCol Kaydırma çubuğundaki kaydırmalardan dolayı en üstte/solda gözüken hücre
değişebilir. Bu iki özellikle sol taraftaki /üst köşedeki hücreyi
tanıyabiliriz. OnSetEditText Bir hücreye bilgi girişi olduğunda girilen her karakterde “OnSetEditText”
olayı oluşur. Hücrenin içeriği anında “value” değişkenine atanır. OnGetEditText Hücre aktif yapıldığı anda içindeki değer “value” değişkenine atanır.
Fakat hücre tekrar aktif yapılmadıkça içindeki değişiklikler “value”
değişkenine atanmaz. OnGetEditMask Bilgi girişine izin verilen hücrelere (goEditing=True) bilgi girişi “value” değişkenine aktarılan maske ile sınırlandırılır. { Ör: procedure StringGrid1GetEditMask(..); if Acol=2 then Value := ‘99/99/0000’ ; //tarih maskesi uygulandı. } MouseToCell ( X,Y,ACol, ARow ) Mouse ile grid üzerinde hareket ederken mouse’un StringGrid’e göre X,Y koordinatlarını (grid’in sol üst köşesi 0,0 noktasıdır.) , üzerinde bulunduğu sütun,satır bilgilerini aktarır. { Ör : Procedure StringGrid1MouseMove (.........); var ACol, ARow : integer; // değişkenleri kendimiz tanımlamamız gerek. begin stringgrid1.mouseToCell(x,y,Acol,Arow); .....; end; } OnDrawCell – canvas.StretchDraw – TbitMap Bu bölümde stringGrid’e resim ekleme olayı örnek üzerinde gösterilecektir : { Ör : Aşağıdaki grid’e tıklandığında belirtilecek bir şarta göre grid’e resim ekler. Kodlar sadece anlatım düşünüldüğünden dolayı tam olarak verilmemiştir. Private resim1 : TbitMap; // resmin türü tanımlandı. procedure formcreate; resim1 : = Tbitmap.create; resim1.loadfromFile(‘c:\windows\kabarcıklar.bmp’); //değişkene dosya yüklendi. procedure stringGrid1Click; if stringgrid1 .tag =n then stringgrid1.tag:=....... //resmi değiştirecek şart belirlendi procedure stringgrid1drawcell; if stringgrid1.tag = m then // stringgrid1.tag özelliği istenen şarta geldiğinde if (Acol=k) and (Arow=p) then //belirtilen sütun-satıra stringgrid1.canvas.stretchdraw(rect,resim1); //resim aktarılıyor. } IMAGE { Ör : uses Clipbrd; // pano kullanımını aktif hale getirir. image1.picture.loadfromfile(‘c:\...’); // dosyadan resim yükler. image1.picture.assign(clipboard() ); // panodan resim yükler. image1.picture:=nil; // aktarılan resim silinir. CHECKLISTBOX Checked [ n ] – Selected [ n ] “Checked” n. indexe sahip olan item’in işaretlilik durumunu belirtir.
“Selected” özelliği ise n. indexin seçili olup olmadığını belirtir. Seçili
bir index işaretli olmayabilir. IntegralHeight Bir seçeneğin bir kısmının görünür bir kısmının görünmez olma durumunu
önler yalnız “style” özelliği “lbOwnerDrawVariable” olursa etkisiz olacaktır. SPLITTER { Ör : İki memo nesnesinin splitter ile ayarlanması . memo1’in “align” özelliğini “alLeft” ayarlayalım. Memo2’yi ise memo1’in
sağına koyup “align” özelliğini “alClient” ayarlayalım. “Splitter” nesnesini
ise memo1’in üzerine bırakalım. } STATICTEXT Bu nesnenin “Label” nesnesinden en önemli farkı “windows handle”
özelliğinin bulunmasından dolayı “windows api” uygulamalarında parametre
olarak kullanılabilmesidir. FocusControl “Caption” kısmında kullanılacak & işaretiyle kısayol tuşu atanır. Bu kısayol tuşuna basıldığında (Alt + ....) hangi nesnenin aktif olacağını ise “focusKontrol” den belirleriz.
FileListBox, DirectoryListBox, FilterComboBox, DriveComboBox nesnelerinin formda birbirleriyle etkileşimli olarak çalışmaları için bazı özelliklerinde birbirlerini belirtmeleri gerekir. Bağlantı kurabilecekleri nesneler ve bağlanacakları özellikler tabloda verilmiştir
PAGECONTROL ActivePage Aktif tabın öğrenilmesi/değiştirilmesi için kullanılır. TabPosition Tab düğmelerinin yerini belirler. (alt,üst,..) MultiLine Tabların ekrana sığmaması durumunda “false” ise kaydırma çubuklarıyla
belirtilmesini ya da “true” ise bir alt satırda görünmesini sağlar. TABCONTROL “Pagecontrol”den farkı bütün tabların aynı nesneleri kullanmasıdır.
“PageControl”de ise her tab farklı nesneleri kullanabilir. IMAGELIST { Birçok resmin yüklenmesini sağlar. Örneğin bir “toolbar” ekleyip toolbar
nesnesine “new button” menüsüyle düğmeler eklediğimizde bu düğmelere seri
olarak resimler atayabiliriz. Bunun için yapılması gereken öncelikle
“imagelist”in “add” menüsünden resimlerin “imagelist”e atanması ve
“toolbar”ın “images” özelliğinde tanımlanmasıdır. } RICHEDIT “memo”dan farkı kendi içinde farklı font özelliklerinin aynı anda kullanılabilmesi,
*.rtf formatında kayıt yapılabilmesidir. SelAttributes.Style Seçili kısmın özelliklerini ayarlar. (kalın,italik,..) Paragraph.Numbering Paragrafa madde imi verilmesini sağlar. Paragraph.LeftIndent – Paragraph.RightIndent- Paragraph.Alignement Paragrafta satırların başlangıç / bitiş yerlerini ayarlar. Paragrafların
istenen hizaya getirir. PageRect Sayfa yapısı(sol-sağ-üst-alt) ayarlanır. { Ör : Var m : TRect ; m.left := 2; m.right:=1; m.top:=4; m.bottom:=4; richEdit1.pagerect:=m; } TRACKBAR Orientation Yatay ya da dikey görünüm sağlar. Min –Max – Position “min” ve ”max” değişim aralıklarını “position ” ise o andaki konumu verir. PageSize – LineSize “pageSize” :PgUp, PgDown veya mouse ile herhangi bir bölgedeki tıklamada
“position” değerinin artış miktarını belirler. “LineSize” ise ok tuşlarıyla
olacak değişimi belirler. SelStart – SelEnd “TrackBar” üzerinde oluşturulacak seçili alanın başlangıç/bitiş yerini
belirler. UPDOWN Associate Nesnenin kontrol edeceği elemanı belirler. Thousand Her 3 basamakta sayıların arasına binlik ayıracı (nokta) konulmasını
sağlar. HOTKEY HotKey Nesnelerin “ShortCut” özelliklerinden değer alabilen/aktarabilen özelliktir. { Ör : Farklı Kaydet1.ShortCut := HotKey1.Hotkey ; } ANIMATE Play ( n1, n2, n ) n1 ile n2. frameler arasındaki frameleri n kez oynatır. FrameCount Toplam frame sayısını verir. Seek ( n ) n. çerçeveye ulaşır. TREEVIEW Items. Add ( dugum , ‘st’ ) Yeni başlıklar ekler .Eğer ‘dugum’ parametresi “Nil” ise en sona , “TreeView1.Selected” ise seçili elemandan hemen sonraya ekler. Items. Insert ( dugum , ‘st’ ) Ara bölümlere ekleme yapar. Items.AddFirst ( dugum , ‘st’ ) En başa ekleme yapar. Items.AddChild ( dugum , ‘st’ ) Dalın en sonuna ekleme yapar. Items.AddChildFirst ( dugum , ‘st’ ) Dalın en başına ekleme yapar. Items.Delete ( dugum ) Başlık ya da alt elemanı siler. Indent Ana başlıklar ve alt dallar arası mesafeyi belirler. FullExpand – FullCollapse Kapalı durumdaki tüm başlıkları açar / kapatır. HEADERCONTROL“Sections” özeliğindeki (...) düğmesine tıklandığında gelen diyalog kutusunda “add” düğmesiyle başlıklar ekleyebiliriz. Bu başlıkların adı(text) ,adının yazılış yeri(alignement) gibi özellikleri açılan diyalog kutusunda eklediğimiz alanları seçerek “object inspector” penceresinden düzenleyebiliriz. Bu ekleme ve özellikler komutlarla da yapılabilir . { Ör : HeaderControl1.Sections.Add; HeaderControl1.Sections.Items[3].Text:=’Yeni Başlık’ ; HeaderControl1.Sections.Items[3].Alignement:=taCenter; } OnSectionTrack“State” parametresi ile bölüm ayıraçlarının durumu öğrenilir. “tsTrackBegin” mouse bölüm başlıkları ayıracı üzerindeyken, “tsTrackMove” çizgi sürüklenirken, “tsTrackEnd” sürükleme işlemi sona erdiğinde oluşur. “Width” parametresiyle ise an ve an tıklanan başlığın genişliği öğrenilir. { Ör : Aşağıdaki kod başlık çubuğuyla beraber listview’in de genişliğini değiştirmektedir. Procedure HeaderControl1SectionTrack (headercontrol, section,width,state); headercontrol1.sections[section.index] .width:=Width; listview1.width:= headercontrol1.sections.items[0].width; } STATUSBARPanels “HeaderControl”deki “sections” özelliğine benzer. Ekleme , isimlendirme,genişlik gibi özelikleri benzer şekilde ayarlanabilir. { Ör : statusbar1.Panels.add; // en sona yeni bir panel ekler. statusbar1.Panels.items[statusbar1.panels.count-1].text:='x' ; //eklenen panele ‘x’ yazar.} TOOLBARÜzerindeyken sağ tuşla “new button” komutuyla düğmeler eklenir. Düğmelere resim atama olayı ise “images” özelliğinin bir “imagelist” nesnesine atanmasıyla yapılır. Düğmelerin basılı kalma, ayıraç olma gibi özelikleri ise düğmelerin seçilip “style” özeliklerinin değiştirilmesiyle sağlanır. Oluşturulan düğmelerin birinden sonraki düğmelerin bir alt satırda gösterilmesi isteniyorsa o düğmenin “wrap” özelliği “true” yapılır. COOLBARDüğme ve kontrollerin , toolbarların form üzerinde yer değiştirebilmesini sağlar. “Bands” özelliği ile nesne üzerinde bantlar oluşturulur. Toolbar, panel ,edit gibi nesnelerin yerleştirilmesiyle bantlar otomatik olarak oluşturulur. PAINTBOXBu kontrol üzerinde çizim yapılmasını sağlar. Çizimlerde “canvas” kullanılır. Kontrol üzerindekileri silmek için “ReFresh” metodu uygulanır. { Ör : Aşağıdaki program mouse ile paintbox nesnesi üzerinde çizim yapmaktadır . Var durum:Boolean; procedure TForm1.PaintBox1MouseDown(Sender; Button; Shift; X, Y); if button=mbLeft then begin durum:=true; // sadece sol tuşla çizilsin. paintbox1.Canvas.MoveTo(x,y); // ilk tıklanan nokta burasıdır. procedure TForm1.PaintBox1MouseMove(Sender; Shift; X,Y); if ciz then paintbox1.canvas.LineTo(x,y); // durum ,true oldukça çiz. procedure TForm1.PaintBox1MouseUp(Sender; Button; Shift; X, Y); durum:=false; // tuşa basılma sona erince çizim bitsin. } MEDIAPLAYERDeviceType Açılacak olan cihazı belirler. Eğer dosyanın uzantısına göre mediaplayer’ın kendinin belirlemesi isteniyorsa “dtAutoSelect” yapılmalıdır. FileNameÇalıştırılacak olan dosyayı belirler. VisibleButtons – EnabledButttons – AutoEnabledGörünür / kullanılabilir düğmeleri belirlerler. “AutuEnabled” özelliğinin “true” olması düğmelerin erişilebilirlik özeliğini Delphi’nin kontrol etmesini sağlar. Örneğin bir parça çalarken play tuşunun kullanılır olması mantıksızdır. Open – AutoOpen – CloseDosyanın çalışabilmesi için “open” durumunda olması gerekir. Bu ise manuel (open) ya da otomatik (AutoOpen) şeklinde yapılır. “Close” ise o dosyayı kapatır. Display – DisplayRect“Display” özelliği görüntünün oynatılacağı yeri , “DisplayRect” ise görüntünün oynatılacağı yerin koordinatlarını gösterir. { Ör : MediaPlayer1.Display := Panel1 ; MediaPlayer1. DisplayRect:= Rect (0,0,Panel1.Width, Panel1.Height) ; } ModeCihazın çalışma durumu hakkındaki bilgiyi alır.( mpPlaying,mPaused, mpStopped , mpOpen, mpSeeking (sardırılıyor), mpNotReady, mpRecording) TimeFormatZaman formatını belirler. (tfMilliseconds, tfHMS, tfMSH,tfFrames,......) StartPos – EndPos – Position - LengthParçanın başlangıç/ bitiş / o anda oynatılan yeri / uzunluğu belirlenir, öğrenilir. Tracks – TrackLength [] – TrackPosition[] - CapabilitiesTrack(iz) sayısı “tracks” ile , iz üzerindeki uzunluğu “trackLength[]” ile başlangıç yeri “trackPosition[]” ile öğrenilir. “Capabilities” ise mpCanStep , mpCanEject , mpCanPlay, mpCanRecord, mpUsesWindow özelliklerinin desteklenip/ desteklenmediğini belirtir. Notify – notifyValue – OnNotifyVerilen komutun yerine getirilip/getirilmediğini anlamak için kullanılır. OPENDIALOG- SAVEDIALOG-OPENPICTUREDIALOG-SAVEPICTUREDIALOGExecute Aç diyalog kutusunun ekrana gelmesini sağlar. TitleAç kutusunun başlığını ayarlar. FileName Seçili olan dosyanın adını belirlemeye / öğrenmeye yarar. Filter – FilterIndexBelirli dosya türlerinin listelenmesi “filter” özelliğiyle sağlanır. “FilterIndex” özelliği ise filtre seçeneklerinden belirleneni varsayılan yapar. { Ör : opendialog1.filter:='Tüm|*.*|Word|*.doc|'+ 'Excel|*.xls|Text|*.txt|' ; } DefaultExt Dosyanın uzantısının belirtilmediği durumlarda kabul edilecek uzantıyı belirler. InitialDirAç kutusu geldiği anda gösterilecek dizini belirler. Options“Options”a ait bazı özelliklerin “true” değerine göre oluşturacakları durum aşağıda verilmiştir.
{ Ör : Bazı örnek kullanımlar : If FileExists(OpenDialog1.FileName) then RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName); RichEdit1.Lines.SaveToFile(SaveDialog1.FileName); Image1.Stretch := True; Image1.Picture.LoadFromFile(OpenpictureDialog1.FileName); FONTDIALOGDevice
Options
OnApply “Apply” düğmesinin diyalog kutusunda görünmesini ve işlemesini sağlar . COLORDIALOGOptions
{ Ör : If ColorDialog1.Execute then Form1.Color := ColorDialog1.Color ; } PRINTDIALOGProgramda printer nesnesi kullanılacaksa “Uses Printers” ifadesi kullanılmalıdır . Copies Belgenin basılacağı kopya sayısını belirler. MinPage – MaxPageKullanıcının seçebileceği yazdırma sayfası aralığını belirler. Bu aralık dışında değer girilemez. PrintRange
Options
{ Ör : Yazıcıya text dosyası gönderen bir program parçası . uses printers ; var Metin : TextFile ; If PrinterDialog1.Execute then begin AssignPrn(Metin); // text dosya yazıcıya yönlendirildi-yazıcı kullanıma hazır hale getirildi. ReWrite(Metin); //yazıcı aktif hale getirildi. For i:=0 to RichEdit1.lines.count-1 do Writeln(Metin,RichEdit1.Lines[i]); //satırlar yazıcıya gönderildi. CloseFile (Metin); end; //yazıcıya yönlendirilen dosya kapatıldı. FINDDIALOG - REPLACEDIALOGFindText “Aranan” alanına yazılarak aranacak bilgi öğrenilir. Options
Position Diyalog kutusunun form üzerindeki konumunu belirler. { Ör : FindDialog1.Position := Point (0,0) ; } CloseDialogDiyalog kutusunu kapatır. ReplaceTextReplaceDialog kutusuna ait bir özellik olup değiştirilmesi istenen bilgiyi belirtir. { istenirse “pos” fonksiyonu ile kelime bulunabilir.} GAUGEKind Kontrolün gösterge biçimini belirler. MinValue – MaxValueKontrolün göstereceği alt-üst limitleri belirlerler. ProgressKontrolün göstereceği değer “minvalue”-“maxvalue” arasındaki % olarak belirlenir / öğrenilir. COLORGRIDFare ile sağ ve sol tıklamalar sonucu arka ve ön plan renklerini değiştirir. ForegroundColor – BackgroundColor – ForegroundIndex – BackgroundIndex“ForegroundColor” ve “BackgroundColor” özellikleri renkleri “ForegroundIndex” ve “BackgroundIndex” ise renklerin index numaralarını vermektedir.{ Ör : Edit1.Font.Color := ColorGrid1. BackgroundColor ; ColorGrid1.ForegroundIndex := 15 ; } ForegroundEnabled – BackgroundEnabledKullanıcının renk seçimini engeller / mümkün kılar. GridOrderingRenk paletinin yerleşimini belirler. DIRECTORYOUTLINEOption OoDrawTreeRoot: Dizin yolunda ana dizinin de yer almasını sağlar. OoDrawFocusRect : Seçili dizin etrafı noktalarla çevrili olarak görünür OoStretchBitmaps : Pictureclosed-pictureleaf-pictureopen özellikleriyle resimleri boyutlandırır. TextCasetcAsls : Dizin isimlerinin orijinal hal korunur. (büyük/küçük harf) tcLowerCase : Dizin isimlerinin tamamını küçük harf gösterir. tcUpperCase : Dizin isimlerinin tamamını büyük harf gösterir. PictureClosed – PictureLeaf – PictureOpen Dizinlerin açık-kapalı durumlarındaki görünüm şekillerini ayarlar. GetItem(X,Y) X,Y koordinatındaki elemanın indexini verir. OnExpand – OnChange – OnCollapseBir dizinin alt dizinleri açıldığında , seçildiğinde, kapatıldığında oluşur. Seçilen dizin “index” parametresiyle öğrenilir. CALENDARDay – Month – Year – StartofWeek Sistem tarihindeki gün, ay ,yıl ,takvimdeki hafta günleri sıralaması öğrenilir / belirlenir. PrevYear – NextYear – PrevMonth – NextMonthYıl ve ay özelliklerinin artırılmasını / azaltılmasını sağlarlar. CHARTFXNValues – NSeries“Nvalues” ile yatay eksende gösterilecek değerler belirlenir. “Nseries” değeri ise yatay eksen ayrı bilgi gruplarından oluşuyorsa bu gruplara erişim sağlar. OpenDataEx( tip, seri , value ) – ThisSerie – CloseData( seri ) “OpenDataEx( )” ile “chartfx” kontrolü kullanılmadan önce özellikleri belirtilmektedir. “ThisSerie” komutuyla hangi seriye bilgi girileceği belirtilmektedir. “CloseData( )” ile bilgi aktarma işinin bittiği belirtilmektedir. { Ör : ChartFx1.OpenDataEx(1,2,4); ChartFx1.ThisSerie:=0; ChartFx1.Value[0]:=100; ChartFx1.Value[1]:=250; ChartFx1.CloseData(0); ChartFx1.ThisSerie:=1; ChartFx1.Value[0]:=30; ChartFx1.Value[1]:=70; ChartFx1.CloseData(1); F1BOOKAutoRecalcHücrelerdeki değişikliğe bağlı olarak sonucun anında ya nsıtılmasını sağlar. NumSheetsÇalışma sayfasındaki “sheet” sayısını belirler. SelStartCol – SelEndCol / SelStartRow – SelEndRowSeçme işleminin başlayacağı/biteceği satırları/sütunları belirler. SelectionSeçilen hücre veya hücreleri belirler. ShowZeroValuesİşlem sonucu sıfır olduğunda hücrede boşluk mu sıfır mı gösterileceğini belirler. DLL Oluşturma : File -> New ->Dll komutuyla açılan sayfada yazılır. “Compile” komutuyla derlenir. { Ör : Library .....; .......; Function X ( a, b : integer) : real ; begin x:=(a+b) /2 ; end; Exports X ; // derle ve kaydet . } Çalıştırma : { Ör : Unit ......; .......; Function X ( a, b : integer) : real ; External ‘deneme.dll ‘ ; Proc. Button1Click(...); Begin edit1.text:=inttostr(X(3,2)); end ; } DRAG-DROP Bir nesnenin drag-drop(sürükle-bırak) tekniği kullanılırken “DragDrop” ve “DragOver” özelikleri gerçekleşir.Bir nesnenin sürüklenerek diğer nesne üzerine getirilmesi sırasında “DragOver” özelliği oluşur. “DragDrop” ise getirilen nesnenin bırakılmasıyla oluşur. { Örneğin listbox1’deki bir bilgiyi sürükleyerek listbox2’ye eklemek için listbox2’nin dragover ve dragdrop özelliklerine bakılır. Fakat sürükleme işleminin olabilmesi için listbox1’in dragmode özelliği dmAutomatic olmalıdır. Eğer “dragmode” özelliği “dmManual” olursa “begindrag()”, “enddrag()” metodlarına gerek duyulur. Procedure listbox2dragover(,source,accept,); If source = listbox1 then accept := true ; Source sürüklenerek getirilen nesnenin kaynağını, accept ise nesnenin kabul edilip edilmeyeceğini belirtir. Procedure listbox2DragDrop(,source,); Listbox2.items.add (listbox1.Items[listbox1.itemindex] ) ; } CLIPBOARD “Clipboard” özelliğini kullanabilmek için “uses” kımına “clipbrd” adlı unit’i eklemek gerekir. Clipboard ile resim ve yazılarda yapılacak işlemlerde kullanım farklıdır. { Ör : Clipboard.Assign(image1.picture) ; // panoya resim kopyalar. Image2.picture.Assign(clipboard) ; // panodaki resmi image2 nesnesine aktarır. Clipboard. AsText :=Edit1.Text ; // panoya edit1’in metnini kopyalar. Edit1.Text:=Clipboard. AsText ; // edit1’e panodaki yazıyı aktarır. } WINAPI SendMessage - PostMessageHerhangi bir kontrole mesaj gönderir. “SendMessage” fonksiyonu mesajı mesaj kuyruğunun sonuna “PostMesaj” ise başına gönderir. Delphi – windows arası iletişim kontrol veya pencerlerin windows tarafından tanınan “handle” numaralarıyla olmaktadır. Programların sınıf adlarını öğrenmek için program çalışırken WinSight programını çalıştırıp WinSight içinde programımızı bulur, sınıf adını buradan öğrenebiliriz. { Ör : var H : THandle ; H := FindWindow(Pchar(‘winamp v1.x’ ), nil ); // Winamp’a ait handle numarası alınıyor . Sendmessage(H,WM_CLOSE,0,0); Sendmessage(Edit1.Handle,WM_CHAR,50,0); // Edit1’e 50 asci kodlu karakter yazdırılıyor. WinExec ( program adı , ekrana yerleşimi) Herhangi bir programı çalıştırmak için kullanılır. { Ör : WinExec(‘c:\windows\calc.exe’ , 9 ); // windowsun hesap makinesini çalıştırır. WinExec(‘c:\windows\command.com /c dos_komutu >c:\windows\desktop\sonuc.txt ‘ ,1); //dos_komutu kısmına yazılan dos’a ait bir komutu çalıştırıp ekran çıktısını sonuc adlı dosyaya kaydeder . } ExitWindowsEx( ) Windows’u yeniden başlatır. GetWindowsDirectory (yol , yol uzunluğu) - GetSystemDirectory (yol , yol uzunluğu) Windows / system dizinlerinin yolunu yol parametresine atar. MATEMATİK-LOJİK-KARAKTER FONKSİYONLARI
DOSYA – DİZİN FONKSİYONLARI GetDir (surucu , parametre) - GetCurrentDir Aktif klasörü belirtir. Surucu kısmı 0 ise aktif sürücüdeki , 1 ise A sürücüsü ,2 ise B,...aktif dizini verir. ChDir ( ) – MkDir ( ) – RmDir ( ) Aktif dizini değiştirir , yeni dizin oluşturur , parametre olarak verilen dizini siler. ForceDirectories Alt dizin oluşturur. “Uses FileCtrl” ifadesini gerektirir. Bir seferde birden çok alt dizini oluşturabilmesi yönüyle “MkDir” göre avantajlıdır. IOResult Hata kontrolü yapar. Sorun yoksa sıfır değerini üretir. DirectoryExists ( ) // Uses FileCtrl ; Belirtilen dizinin varlığını kontrol eder. SelectDirectory (varsayılan_dizin, parametre , HelpCtx) parametre kısmına şu özellikler girilebilir : sdAllowCreate , sdPerformCreate , sdPrompt FileAge( ) - FileDateToDateTime “FileAge” dosya yaratılış tarihini verir . Dosya yaratılış tarihini görmek için önce DOS formatlı tarih “FileDateToDateTime” fonksiyonuyla Delphi formatına dönüştürülür. { Ör : Edit1.Text:=DateToStr(FileDateToDateTime(FileAge( ‘c:\dene’ ) ) ); } FileGetAttr – FileSetAttr Dosya özniteliklerini bildirir / ayarlar .
RenameFile (eski_dosya_ad , yeni_dosya_ad ) Dosya adını değiştirir. FileExists ( dosya ) Dosyanın diskte olup olmadığını kontrol eder. FileSearch(aranılacak_dosya,Bakılacak_adres) , FindFirst(aranılacak_dizin, öznitelik, bulunanlar) , FindNext(bulunanlar) , FindClose(bulunanlar) Dosya aramada kullanılırlar. “FindFirst”ün “FileSearch”ten farkı bir tek dosyanın değil şartlara uyan bir çok dosyanın bulunmasını sağlar. “ FindFirst”te “öznitelik” bölümüne “faAnyFile,FaReadOnly, FaSystem,FaHidden,...” girilebilir. Eğer birden fazla özelik belirtilecekse aralarına “+” işareti konulur.Aranılacak dizinler birden fazlaysa “; “ ile ayrılarak girilir. “bulunanalar” bölümünden bulunan dosyanın adı,kapladığı alan, yaratılı tarihi,zaman bilgileri öğrenilebilir. Yalnız bu parametrenin önceden “var” bölümünde “TsearchRec” tipinde tanımlanması gerekir. “FindNext” şarta uyan sonraki dosyayı verir. “FindClose” ile arama sonlandırılır. { Ör : Edit1.Text := Bulunanlar.Name + IntToStr(Bulunanlar.Size); } DiskFree( ) – DiskSize( ) Diskteki boş alanı ve diskin boyutunu verir. Parametre olarak disk numarası (1,2,..) verilir. Disk bulunamazsa –1 değeri döndürülür. DeleteFile ( dosya ) Belirtilen dosyayı diskten siler eğer dosya bulunamazsa “false” değerini üretir. ExtractFileExt( dosya ) Dosyanın uzantısını değer olarak döndürür.
Derleyen : M.Can Tepebağ
|