Delphi Ders3 Asli Ergün
Çevirimler Kelimeden sayı: Sayi =StrToInt(Edit1.Text); Sayı kelime: Edit1.Text:=IntToStr(a);
String Fonksiyonları Length : kelime boyu verir. s,t : string; n :integer; n:=length(s); Copy : kelimeden karakter kopyalar. copy(kelime,nerden,nekadar) t :=copy(s,5,3); Pos : kelimenin cümle içindeki yerini bulur. Bulunmazsa 0 döner. n:=pos('are','Who are you ?');
Diziler Degisken_adi : Array[x..y] of tip_adi Degisken_adi : Array[x..y,a..b] of degisken_tipi isimler : Array[1..100] of string; sayilar : Array[1..10] of Integer; isimler[20] := ‘Asli’; ad := isimler[30]; notlar : Array[1..50,1..5] of integer; i= notlar[10,2]
Listbox, combobox özellikleri Items.Add Komutu: ListBox sonuna eleman ekler. Lines.Assign Komutu: Aynı anda birden fazla elemanı ListBox’a eklemek için kullanılır. Items.Clear Komutu: ListBox içerisinde yer alan bilgileri temizlemek için kullanılır. Items.Count Komutu: ListBox bileşenindeki elemanların sayısını verir. Items.IndexOf Komutu: Girilen bir String tipteki değerin ListBox içerisinde kaçıncı satırda olduğunu gösterir. Items.Insert Komutu: ListBox’ın başına eleman eklemek için kullanılır.
Items.Delete Komutu: Bu komut sayesinde ListBox bileşeninin herhangi bir satırı silinebilir. Items.Strings Komutu: Belirtilen satırdaki bilgiyi öğrenmek veya o satırdaki elemanın değerini değiştirmek için kullanılır. Items.Exchange Komutu: Bu komut sayesinde satır numarası verilen iki satır kendi arasında değiştirilir. Items.LoadFromFile Komutu: Bu komut sayesinde ListBox bileşenine dosyada kayıtlı bulunan bilgiler aktarılabilir. Items.SaveToFile Komutu: Bu komut ile ListBox’ta yer alan bilgiler belirtilen bir dosyaya kaydedilir.
MultiSelect Özelliği: ListBox’ın elemanlarından aynı anda birden fazla elemanın seçilmesi sağlar. ItemIndex Özelliği: ItemIndex özelliği ListBox içerisindeki seçili olan elemanın sıra numarasını verir. Selected Özelliği: Herhangi bir elemanın seçili olup olmadığını bildiren özelliktir.
Listboxda multiselect ile çoklu seçilen elemanları silmek for i:= listbox.iterms.count-1 downto 0 do if listbox.selected[i] then listbox.item.delete[i]; end
Boş liste kontrolü if (listBox1.Items.Count>0) { MessageBox.Show("dolu"); } else { MessageBox.Show("boş"); } Veya if ListBox1.ItemIndex = - 1 then MessageBox.Show("seçili yok");
Çoklu Formlar var Form2: TForm2; implementation {$R *.dfm} uses Unit3; procedure TForm2.Button1Click(Sender: TObject); begin Form3.Show; end; end.
Dinamik Form Yaratmak procedure TForm1.FormClick(Sender: TObject); begin if not Assigned(Form2) then Begin Application.CreateForm(TForm2, Form2); Form2.Show; End; end; procedure TForm1.FormClick(Sender: TObject); begin If not Assigned(Form2) Then Begin Form2 := TForm2.Create(Self); Form2.Show; End; end;
Çoklu Formlar frmHastaListesi:=TfrmHastaListesi.Create(self); frmHastaListesi.FormStyle :=fsMDIChild; frmHastaListesi.WindowState:=wsMaximized; frmHastaListesi.Show;
Dinamik Kontrol Oluşturmak (button) var x:TButton; //Buton değişkeni tanımlanıyor. begin x:=TButton.Create(Form1); //Form1 de bir buton oluştur. x.name:='button1'; //name özelliği atadık x.Parent:=Form1; //Buton Form1 formunun üzerinde oluştur. //(Bazen panelin içerisinde yada gurup içerisinde oluşturabilirsiniz) x.Caption:='Tamam'; x.OnClick:=DugmeClick; // bir olay ekledik burada tıklama olayı atadık x.SetBounds(left,top,width,height); //butonun x ve y düzelemindeki koordinatları yükseklik ve genişliği belirlendi. //ve x. diyerek bir butonun sahip olacağı tüm özellikleri atayabilirsiniz
Dinamik Kontrol Oluşturmak (textbox) var t:TEdit; begin t:=TEdit.Create(Form1); t.SetBounds(left,top,width,height); t.Parent:=Panel1; //Bu sefer bir panel içerisinde oluşturalım ve left ve top değerleri de panele göre hizalandırması yapacaktır. t.name:='edit1'; //name özelliği atadık t.Text:='Edit oluşturuldu'; t.OnChange:=YaziDegistiginde;
Dinamik olarak çoklu kontrol oluşturmak var t:TEdit; i:integer; begin for i:=1 to 10 do begin t:=TEdit.Create(Form1); t.SetBounds(0,(i*25),50,22); // i*10 ile editleri alt alta oluşturacağız. t.Parent:=Panel1; t.name:='edit'+inttostr(i); // Bu kısım önemlidir name özellikleri farklı olmalıdır aksi taktirde sorunlarla karşılaşırsınız çünkü bir her kontrolün name özelliği kendine özeldir başka bir kontrolle aynı olamaz t.Text:=inttostr(i)+'. Edit oluşturuldu'; t.OnChange:=YaziDegistiginde; end;
Timer Enabled Özelliği: Timer bileşeninin kodları çalıştırıp çalıştırmayacağına karar verdiği özelliğidir. Eğer enabled özelliği true ise timer istenilen sürelerde kodları çalıştırır. Enabled özelliği false ise timer çalışmaz. Interval Özelliği: Bu özellik timer bileşeninin hangi aralıklarla işletileceğini belirten özelliğidir.
Kronometre var sure : Integer; procedure TForm1.tmrZamanTimer(Sender: TObject); sn, ss :Integer; begin inc(sure); // sure := sure + 1 ile aynıdır. Sure değişkeninin değerini 1 artırır sn := (sure div 10); // geçen sürenin 10a bölümünden bölümü alır ve saniyeyi bulur ss := (sure mod 10); // geçen sürenin 10a bölümünden kalanı alır ve saliseyi bulur lblSure.Caption := Inttostr(sn)+'.'+Inttostr(ss); // saniye ve saliseyi birleştirerek labela yazar end; procedure TForm1.FormCreate(Sender: TObject); sure := 0; // form oluşturulurken sure değişkenini sıfırlar procedure TForm1.btnBaslaClick(Sender: TObject); begin tmrZaman.Enabled := true; // timer bileşenini aktif hale getirir end; procedure TForm1.btnDurdurClick(Sender: TObject); tmrZaman.Enabled := false; // timer bileşenini pasif hale getirir procedure TForm1.btnSifirlaClick(Sender: TObject); tmrZaman.Enabled := false; // timer bileşenini durdurur sure := 0; // süreyi sıfırlar lblSure.Caption := '0'; // süreyi labela yazar
Timer ile kayan yazı procedure TForm1.Timer1Timer(Sender: TObject); var a,b: String; begin a := copy(form1.Caption,1,1); // caption'ın ilk karakterini kopyalar b := copy(form1.Caption,2,length(form1.caption)); // caption'ın ilk karakterden sonraki kısmını kopyalar form1.Caption := b+a; // kopyalanan metinleri ters bir şekilde birleştirir end;
Memo Lines Özelliği: Memo bileşenin her bir satırına verilen isimdir. Lines.Clear Komutu: Memo içerisinde yer alan bilgileri temizlemek için kullanılır. Lines.Add komutu satır ekler. Memo1.Lines.Add('Antalya'); Lines.Count Komutu: Memo bilenindeki satırların sayısını verir. Items.IndexOf Komutu: Girilen bir String tipteki değerin memo içerisinde kaçıncı satırda olduğunu gösterir.
Memo-2 Lines.Insert Komutu: Memoya eleman eklemek için kullanılır. Items.Delete Komutu: Bu komut sayesinde memo bileşeninin herhangi bir satırı silinebilir. Lines.Exchange Komutu: Bu komut sayesinde satır numarası verilen iki satır kendi arasında değiştirilir. Lines.LoadFromFile Komutu: Bu komut sayesinde memo bileşenine dosyada kayıtlı bulunan bilgiler aktarılabilir. Lines.SaveToFile Komutu: Bu komut ile memoda yer alan bilgiler belirtilen bir dosyaya kaydedilir.
Memo örnek komutlar Memo1.Lines.Add( edit1.text); Memo1.Lines.Clear; satirSayisi := Memo1.Lines.Count; yer := Memo1.Lines.IndexOf(Edit2.Text); memo1.Lines.Insert(yer, Edit4.Text); memo1.lines.Delete(silinecekSatir); memo1.Lines.Exchange(ilkSatir,ikinciSatir); Memo1.Lines.LoadFromFile('anlatim.txt'); Memo1.lines.SaveToFile(Edit8.Text);