Delphi Kod Arşivi

YoRuMSuZ

Biz işimize bakalım...
Bu bölümde sık kullanılan küçük kod örnekleri verilecektir. Verilen kodları projelerinizde rahatlıkla kullanabilirsiniz.

Programı (exe) Dosyasını kapatıp tekrar açmak için kullanabileceğini güzel bir kod. Görevi bir butona atayabilirsiniz.

Kod:
var
  FullProgPath: PChar;
begin
  FullProgPath := PChar(Application.ExeName);
  WinExec(FullProgPath, SW_SHOW);
  Application.Terminate;
 

YoRuMSuZ

Biz işimize bakalım...
Delphi içerisinden veritabanı olarak kullandığınız msaccess dosyalarını sıkıştırmaya ve onarmaya yarayan kod.

Bu koda bazı eklemeler yaparak şifreli msaccess dosyalarınıda sıkıştırıp onarabilirsiniz. Bununla ilgili bir örnek E-CozumNet Programları bölümünde mevcut.

Kod:
CompactAndRepair(sOldMDB : String; sNewMDB : String) : Boolean;
const
sProvider = 'Provider=Microsoft.Jet.OLEDB.4.0;';
var
  oJetEng : JetEngine;
begin
  sOldMDB := sProvider + 'Data Source=' + sOldMDB;
  sNewMDB := sProvider + 'Data Source=' + sNewMDB;
try
  oJetEng := CoJetEngine.Create;
  oJetEng.CompactDatabase(sOldMDB, sNewMDB);
  oJetEng := Nil;
  Result := True;
except
  oJetEng := Nil;
  Result := False;
end;
end;
  if CompactAndRepair('e:\Old.mdb', 'e:\New.mdb') then
  ShowMessage('İşlem Başarılı.')
else
  ShowMessage('İşlemde Hata Oluştu.');
 

YoRuMSuZ

Biz işimize bakalım...
Ad - Soyad ayırmak. Veya kelimeleri birbirinden ayırmak için kullanabileceğiniz kod örneği:

Kod:
procedure TForm1.Button2Click(Sender: TObject);
begin
  Edit2.Text:=Copy(Edit1.Text,0,pos(' ',Edit1.Text)-1);
  Edit3.Text:=Copy(Edit1.Text,pos(' ',Edit1.Text)-(-1),Length(Edit1.Text));
end;
 

YoRuMSuZ

Biz işimize bakalım...
Query ile bir kaydın daha önceden girilip girilmediğini kontrol etme:

Kod:
  if ((Adoquery1.fieldbyname('FormNo').asstring)=Edit1.Text) then
   begin
     ShowMessage('Bu numara mevcut!. Farklı numara deneyin);
     Edit1.SetFocus;
  end;
 

YoRuMSuZ

Biz işimize bakalım...
Eğer bir tablo üzerinde değişiklik yapıldığında kaydet butonuna basmayı unutursanız yaptığınız değişikliğin kaydedilip kaydedilmeyeceğini bu kodla kontrol edebilirsiniz.

Kod:
  if ADOQuery1.State in [dsInsert, dsEdit] then
  if Application.MessageBox('Değişiklikleri kaydetmek istiyor musunuz?','Dikkat !',mb_YesNo)= idYes then
  ADOQuery1.Post
else
  ADOQuery1.Cancel;
 

YoRuMSuZ

Biz işimize bakalım...
DBGrid için fare tekelereği kontrolü.

Delphi içindeki standat DBGrid fare tekerleğine duyarlı değil. Ancak siz bunu küçük bir kodla halledebilirsiniz. Bunun için form üzerine ApplicationEvents bileşeni ekleyip Message yordamına alttaki kodu yazabilirsiniz.

Kod:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
   var 
   i: SmallInt; 
begin 
   if Msg.message = WM_MOUSEWHEEL then 
   begin 
     Msg.message := WM_KEYDOWN; 
     Msg.lParam := 0; 
     i := HiWord(Msg.wParam) ; 
     if i > 0 then 
       Msg.wParam := VK_UP 
     else 
       Msg.wParam := VK_DOWN; 
     Handled := False; 
   end; 
end;
 

YoRuMSuZ

Biz işimize bakalım...
Form Başlığını Gizleme

Formun varsayılan başlığını gizleyerek kendinize özel başlık çubuğu oluşurabilir veya duruma göre başlık çubuğu olmadan kullanabilirsiniz. Kod:

Kod:
procedure TForm3.FormCreate(Sender: TObject);
begin
  SetWindowLong( Handle,
     GWL_STYLE,
     GetWindowLong( Handle, GWL_STYLE )
     and not WS_CAPTION ) ;
   ClientHeight := Height;
end;
 

YoRuMSuZ

Biz işimize bakalım...
Yanıp Sönen Label

Forma bir adet Timer bileşeni yerleştirin.

Kod:
procedure TForm1.Timer1Timer(Sender: TObject);
var
  c:TColor;
begin
  c:=Label1.Color;
  Label1.Color:=Label1.Font.Color;
  Label1.Font.Color:=c;
end;
 

YoRuMSuZ

Biz işimize bakalım...
Edit bileşenine sadece rakam girilsin.

OnKeyPress yordamına alttaki kodu yazın.
Kod:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); 
  if not (key in ['0'..'9',#8,',']) then
  begin
    Key:=#0;
    ShowMessage('Bu alana sadece rakam girebilirsiniz!');
  end;
end;
 

YoRuMSuZ

Biz işimize bakalım...
Edit veya DBEdit bileşenlerine sadece büyük harf girmek.

OnKeyPress yordamına alttaki kodu yazın.
Kod:
  Case key Of
    'a' : Key := 'A';
    'b' : Key := 'B';
    'c' : Key := 'C';
    'ç' : Key := 'Ç';
    'd' : Key := 'D';
    'e' : Key := 'E';
    'f' : Key := 'F';
    'g' : Key := 'G';
    'ğ' : Key := 'Ğ';
    'h' : Key := 'H';
    'ı' : Key := 'I';
    'i' : Key := 'İ';
    'j' : Key := 'J';
    'k' : Key := 'K';
    'l' : Key := 'L';
    'm' : Key := 'M';
    'n' : Key := 'N';
    'o' : Key := 'O'; 
    'ö' : Key := 'Ö';
    'p' : Key := 'P';
    'r' : Key := 'R';
    's' : Key := 'S'; 
    'ş' : Key := 'Ş';
    't' : Key := 'T';
    'u' : Key := 'U';
    'ü' : Key := 'Ü';
    'v' : Key := 'V';
    'y' : Key := 'Y'; 
    'z' : Key := 'Z';
    'x' : Key := 'X';
  end;

Daha sonra hangi Editlerde kullanmak istiyorsanız seçili hale getirip onKeyPress özelliği girdiğiniz edite referans verebilirsiniz.
 
Top