Harddiskin seri numarasinin bulunmasi :

Asagida delphi programlama dilinde Harddiskin seri numarasinin bulunmasi için gereken delphi kodlari bulunmaktadir.

procedure TForm1.Button1Click(Sender: TObject); 
  var
       VolumeSerialNumber : DWORD;
       MaximumComponentLength : DWORD;
       FileSystemFlags : DWORD;
       SerialNumber : string;
  begin 
        GetVolumeInformation('C:\',
                                     nil,
                                     0,
                                     @VolumeSerialNumber,
                                     MaximumComponentLength,
                                     FileSystemFlags,
                                     nil,
                                     0);
        SerialNumber := IntToHex(HiWord(VolumeSerialNumber), 4) + '-' +
                           IntToHex(LoWord(VolumeSerialNumber), 4);
        Memo1.Lines.Add(SerialNumber);
   end;



Escape tusuna basildiginda  formun kapanmasi :

Formun KeyPreview özelligini True yapiniz. Daha sonra OnKeyPress olayina asagidaki kodu yazin.

    procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
      begin
          if key = #27 then Close;
      end;

Alt+F4 tus kombinasyonuyla programin kapanmamasi :

Formun KeyPreview özelligini True yapiniz, daha sonra formun OnKeyDown olayina asagidaki kodu yazin.
 
    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); 
      begin
          if ((ssAlt in Shift) and (Key = VK_F4)) then Key := 0;
      end;



Delphide Veri tabanina Kayit Ekleme

Bir önceki makalemizde Delphide Access veritabanina baglanmayi anlatmistik. Bu örnegimizde 1 tane Adoconnection,Adotable,DataSoruce ve Dgrid ekleyin. Veri tabanizdaki alanlar kadar Dbedit kullanin Dbeditlerin Properties'ten Datasoruce özeliklerini DataSoruce1 yapiniz ve  DataField özeligini ise veri tabanindaki alanlarla iliskilendirmesini yapiniz.Veri kaydetmek içinde 1 tane buton form ekleyiniz.

procedure TForm1.Button1Click(Sender: TObject);
begin
     ADOTable1.Edit ;
     ADOTable1.Post ;
end;

Seçilen Veriyi Silme :

Örnegimizde 1 tane Adoconnection,Adotable,DataSoruce ve Dgrid ekleyiniz. Veri silmek  içinde 1 tane buton forma ekleyiniz.

procedure TForm1.Button1Click(Sender: TObject);
var a:integer;
begin
     a:=Application.MessageBox('Seçilen veriyi silmek istediginizden Emin misiniz ?','Uyari',MB_YesNo);
     if a=idyes then Adotable1.Delete;
end;

  Yukaridaki örnek seçili veri üzerindeyken button tikladiginiz zaman karsimiza mesaj gelecek Evet tusuna basilirsa veri silicektir.



Delphi de Access Veri Tabanina Baglanma

Formunuza  AdoConnection,Adotable,DataSource ve DBGrid ekleyin.AdoConnection Obeject inspector kismindan ConnectionString gelerek yaninda bulunan noktalara tiklayiniz. 



Karsiniza gelen yukarida resimde bulunan Build butonuna tiklayiniz.



Microsolf Jet 4.0 ole db Provider seçtikten sonra ileri butonuna tiklayiniz. Sonraki Asamada veri tabanini seçin. Adotable connection özeligini AdoConnection1 yapin ve TableName kisminda tablonuzu seçin.Active kisminida true yapmayi unutmayin.DataSoruce properties özeliklerinden dataset Adotable1 yapin ve Dbgrid DataSource özeligini DataSoruce1 yapin. Böylce Access veri tabanini baglamis olursunuz



Delphi de Repeat Until Komutunun Kullanimi

Delphide kullanilan döngülerden biride Repeat until döngüsüdür. Bu döngüde Repeat ile until arasindaki blok Until kelimesinden sonraki kontrol sarti yanlis oldukça çalisacaktir. Yani Untildeki karsilastirma dogru çikana kadar döngüden çikilmaz. Bu döngüde kontrol sonda yapildigi için döngüden hemen çikilsa bile döngü içerisindeki kod en az bir defa çalistirilacaktir. Buna dikkat edilmelidir. Eger ters karsilastirma yapilmasi isteniyorsa yani sart olustugunda döngüden çikilmasi isteniyorsa döngü Not operatörü ile kullanilabilir.

Asagida DBGrid içinde bulunan “Toplam” sütunu içerisindeki rakamlari (Real veya Currency) tüm satirlarini toplatip Label1 içerisine yazan program .

procedure TForm1.Button2Click(Sender: TObject);
var toplam:real;
begin
      toplam:=0;
      Adotable1.First;
      Repeat
           Toplam:=Toplam+Adotable1Toplam.AsCurrency;
           Adotable1.Next;
       Until(Adotable1.Eof) 
       Label1.Caption:=FloatToStr(toplam);
end;



Delphi de for döngüsünün kullanimi

For döngüsüyle baslagiç ve bitis degerine kadar olan program bloglarinin çalismasini saglar. Baslangiç Degeri, bitis Degeri den küçükse döngüye hiç girilmez. Sayaç’in artarak degil azalarak çalismasi için downto deyimi kullanilir. Baslangiç degeri, bitis degerinden büyükse döngüye hiç girilmez.Kullanimi:

For sayaç:=baslangiç degeri to bitis degeri do
    Begin
      Komutlar;
   End;

Edit1 içine yazilan bir sayinin asal olup olmadigini buton1.onclick gerçeklesince bulan ve bunu label1 içine yazan program:

procedure TForm1.Button1Click(Sender: TObject);
var sayi,a,x:integer;
begin
    sayi :=StrToInt(edit1.Text );
    a:=-1;
    for x:=2 to sayi-1 do
       begin
             if sayi mod x=0 then a:=+1 ;
       end;
    if a=1 then label1.Caption :='ASALDIR DEGILDIR'
    else label1.Caption:= 'ASALDIR';
end;

Degiskenlerimizi tanimladik. Baslangiç degerimizi x:=1 baslatik bitis degerimizi sayi-1 edit1 yazdigimiz degeri 1 azaltarak bitis degerimizi belirtik ve if ile x degiskenimiz sifir ise a degikenimizi 1 artirmasini saglanmis oldu. Diger if döngüsüylede a degikenimiz bir ise label1 "Asal degildir" degilse "asal" yazdirmasi saglamis olduk.



Delphi de if then else komutunun kullanimi

if komutu ile karsilastirma yapmak için kullanilan bir komuttur. if komutuyla sart gerçeklestigi zaman yapilacak görevler else ise sart gerçeklesmedigi zaman yapilmasi gereken görevler yazilir.if karsilastirma operatörünü size örneklerle açiklamaya çalisalim.Kullanimi:

if (sart) then komutlar
else komutlar


Örnek: Butona tiklandiginda edit1 içine girilen sayinin tek mi çift oldugunu label1 yazdiran program yapalim.

procedure TForm1.Button1Click(Sender: TObject);
Var i:integer;
Begin
    i :=StrToInt(edit1.text);
    if i mod 2 =0 then
             label1.caption:=’çift sayi’
    else
             label1.caption:=’tek sayi’
end;

i degiskenimizi integer tanimladik. StrToInt komutuyla i degiskenizi sayisal deger vermemizi saglamis olduk. if i mod 2 =0 then komutlariyla i edit1.textbox kutusunda yazdigimiz degeri 2 böldürdük kalan sifir ise label1 çift sayi else (degilse) tek sayi yazdirir.Not: if i mod 2 =0 then buradaki mod edit1 girilen sayiyi 2 bölümünden kalani verir



SQL DEYİMLERİ

    Structured Query Language (Yapısal Sorgulama Dili) database (veritabanı) yönetimi için bir programlama standartı.ANSI ve ISO standartlarında ve bir çok programlama dilli standart komutlarında SQL özelliklerini kullanmaya imkan sağlıyor.Veritabanından sorgulama yapmak için SELECT, ekleme yapmak için INSERT güncelleme yapmak için UPDATE, silme yapmak için DELETE, yeni tablo oluşturmak için CREATE TABLE gibi komutlara sahiptir. Bu komutlar işlevlerine göre şu şekilde kategorilendirilir:

    VERİ TANIMLAMA DİLİ (DDL DATA DEFİNİTİON LANGUAGE) DEYİMLERİ

     DDL deyimleri ile veritabanı üzerinde nesneler oluşturulabilir.. En yaygın kullanılan DDL deyimleri şunlardır.

 

  • CREATE
     
  • ALTER
     
  • DROP

        CREATE DEYİMİ : Veritabanı üzerinde bir tablo oluşturmak için CREATE deyimi kullanılır. Yapısı: CREATE tablonun adı . Bir örnekle açıklamaya çalışalım:

    CREATE TABLE `ogrenciler` (
       `BolumKodu` char(5) NOT NULL default '',
        `OgrenciNo` char(15) NOT NULL default '',
        `Adi` char(25) NOT NULL default '',
        `Soyadi` char(25) NOT NULL default '',
        `DTarihi` date NOT NULL default '0000-00-00',
    PRIMARY KEY (`OgrenciNo`)
    )

         Bu örnekte CREATE TABLE `ogrenciler` ( adlı komutlar ile ogrenciler adında bir tablo oluşturuluyor. BolumKodu` char(5) NOT NULL default '', bu komutlarda ise char(5) BolumKodu 5 karekter olabilecek NOT NULL boş bırakılamayacak bir alan oluşturuyor . `OgrenciNo` char(15) NOT NULL default '', bu komutlarda ise char(15) OgrenciNo 15 karekter olabilecek NOT NULL boş bırakılamayacak bir alan oluşturuyor. `Adi` char(25) NOT NULL default '', ve `Soyadi` char(25) NOT NULL default '', bu komutlarda ise char(25) Adi ,Soyadi 25 karekter olabilecek NOT NULL boş bırakılamayacak bir alan oluşturuyor.DTarihi` date NOT NULL default '0000-00-00' komutları ise date komutu ile o zaman ki kayıt tarihi NOT NULL boş bırakılamayacak, default '0000-00-00' tarih kısmı " " işaretleri arasında ki gibi yazılabilcek bir alan oluşturuyor. PRIMARY KEY (`OgrenciNo`) komutuyla bilincil anahtarımızı OgrenciNo adlı alanına atıyoruz ve ) ile bitiriyoruz.

        ALTER DEYİMİ : Daha önceden oluşturulmuş nesnenin değiştirilmesini sağlar.Yapısı : ALTER TABLE tablonun adı. Örnek:

          ALTER TABLE Ogrenciler ADD Memleketi int

       Bu örnekte ALTER TABLE Ogrenciler Ogrenciler tablosunu değiştir. ADD Memleketi int ifadesi ile integer tipinde Memleketi adlı bir alan eklenmiş oluyor.

          ALTER TABLE Ogrenciler DROP COLUMN Memleketi

       Bu örnekte ise ALTER TABLE Ogrenciler Ogrenciler tablosunu değiştir. DROP COLUMN Memleketi Memleketi adlı daha önceden var olan bir alanı sil demek isteniyor.

        DROP : DROP ifadesi, önceden var olan bir alanı veya tablonun kaldırılması için kullanılır.Yapısı : DROP TABLE tabolonun adi . Örnekle açıklamaya çalışalım.

          DROP TABLE Ogrenciler

        Yukarıdaki örnekte Ogrenciler adlı tabloyu ve içindeki bilgilerin hepsinin kaldırılması sağlar.


« ... 11 12 13 14 »