* Bileşen Hint'lerinin StatusBar'da gösterimi.
* Formlardaki nesnelerin kontrolü.
* POS, Trim fonksiyonlarının kullanımına örnek.
* 4 Ad 1 Soyad için bölme yapar. Geliştirmek sizin elinizde.
Kod: Tümünü seç
unit AdSoyad;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, ExtCtrls, Buttons;
type
Tfrm_AdSoyadBol = class(TForm)
StatusBar1: TStatusBar;
Panel1: TPanel; Panel2: TPanel; Panel3: TPanel;
Panel4: TPanel; Panel5: TPanel; Panel6: TPanel;
Panel7: TPanel;
Edit_AdSoyad: TEdit; Edit_Ad1: TEdit; Edit_Ad2: TEdit;
Edit_Ad3: TEdit; Edit_Ad4: TEdit; Edit_Soyad: TEdit;
Edit_Adi: TEdit; Edit_Soyadi: TEdit;
BitBtn_Basla: TBitBtn; BitBtn_Kapat: TBitBtn;
BitBtn_Temizle: TBitBtn;
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BitBtn_BaslaClick(Sender: TObject);
procedure BitBtn_KapatClick(Sender: TObject);
procedure Edit_AdSoyadChange(Sender: TObject);
procedure BitBtn_TemizleClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Edit_AdSoyadExit(Sender: TObject);
procedure Edit_AdSoyadKeyPress(Sender: TObject; var Key: Char);
procedure Edit_Ad1Click(Sender: TObject);
procedure BitBtn_KapatMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
procedure DisplayHint(Sender: TObject);
procedure Ad_Soyad_Bol;
procedure Saha_Temizle;
procedure Saha_Giris_Ac;
procedure Saha_Giris_Kapa;
end;
var
frm_AdSoyadBol: Tfrm_AdSoyadBol;
AdSoyad: string;
Basilan_Tus: TObject;
implementation
{$R *.DFM}
procedure Tfrm_AdSoyadBol.DisplayHint(Sender: TObject);
begin
//Bileşen Hint'lerinin StatusBar'da gösterimi
StatusBar1.Panels.Items[0].Text:= Application.Hint;
end;
procedure Tfrm_AdSoyadBol.FormCreate(Sender: TObject);
begin
//Bileşen Hint'lerinin StatusBar'da gösterimi
Application.ShowHint:= True;
Application.OnHint:= DisplayHint;
end;
procedure Tfrm_AdSoyadBol.FormShow(Sender: TObject);
begin
Saha_Temizle;
Saha_Giris_Kapa;
BitBtn_Basla.Enabled:= False;
BitBtn_Temizle.Enabled:= False;
end;
procedure Tfrm_AdSoyadBol.BitBtn_BaslaClick(Sender: TObject);
begin
Ad_Soyad_Bol;
Saha_Giris_Kapa;
BitBtn_Basla.Enabled:= False;
BitBtn_Temizle.Enabled:= True;
end;
procedure Tfrm_AdSoyadBol.BitBtn_KapatClick(Sender: TObject);
begin
Close;
end;
procedure Tfrm_AdSoyadBol.Saha_Temizle;
var I: integer;
begin
//Form'daki neslerin kontrölü
for I:= 0 to ComponentCount - 1 do
if (Components[I] is TEdit) then TEdit(Components[I]).Text:= '';
end;
procedure Tfrm_AdSoyadBol.Saha_Giris_Kapa;
var I: integer;
begin
//Form'daki neslerin kontrölü
for I:= 0 to ComponentCount - 1 do
if (Components[I] is TEdit) then TEdit(Components[I]).ReadOnly:= True;
Edit_AdSoyad.ReadOnly:= False;
end;
procedure Tfrm_AdSoyadBol.Saha_Giris_Ac;
var I: integer;
begin
//Form'daki neslerin kontrölü
for I:= 0 to ComponentCount - 1 do
if (Components[I] is TEdit) then TEdit(Components[I]).ReadOnly:= False;
end;
procedure Tfrm_AdSoyadBol.Edit_AdSoyadChange(Sender: TObject);
begin
if Edit_AdSoyad.Text = '' then BitBtn_Basla.Enabled:= False;
end;
procedure Tfrm_AdSoyadBol.Ad_Soyad_Bol;
Label 1;
var SAT1_AD,Ad1,Ad2,Ad3,Ad4,Ad5,Ad,Soyad: string;
begin
//Ad Soyad bölme ve birden fazla ad birleştirme
AdSoyad:= Edit_AdSoyad.Text;
SAT1_AD:= Edit_AdSoyad.Text;
Ad1:= SAT1_AD; Ad2:= ''; Ad3:= ''; Ad4:= ''; Ad5:= '';
if Pos(' ', SAT1_AD) > 0 then
begin
Ad1:= Copy(SAT1_AD,1,Pos(' ', SAT1_AD));
SAT1_AD:= Copy(SAT1_AD,Pos(' ', SAT1_AD)+1,Length(SAT1_AD));
Edit_Ad1.Text:= Ad1;
Edit_Soyad.Text:= SAT1_AD;
if Pos(' ', SAT1_AD) = 0 then GoTo 1;
if Pos(' ', SAT1_AD) > 0 then
begin
Ad2:= Copy(SAT1_AD,1,Pos(' ', SAT1_AD));
SAT1_AD:= Copy(SAT1_AD,Pos(' ', SAT1_AD)+1,Length(SAT1_AD));
Edit_Ad1.Text:= Ad1;
Edit_Ad2.Text:= Ad2;
Edit_Soyad.Text:= SAT1_AD;
if Pos(' ', SAT1_AD) = 0 then GoTo 1;
if Pos(' ', SAT1_AD) > 0 then
begin
Ad3:= Copy(SAT1_AD,1,Pos(' ', SAT1_AD));
SAT1_AD:= Copy(SAT1_AD,Pos(' ', SAT1_AD)+1,Length(SAT1_AD));
Edit_Ad1.Text:= Ad1;
Edit_Ad2.Text:= Ad2;
Edit_Ad3.Text:= Ad3;
Edit_Soyad.Text:= SAT1_AD;
if Pos(' ', SAT1_AD) = 0 then GoTo 1;
if Pos(' ', SAT1_AD) > 0 then
begin
Ad4:= Copy(SAT1_AD,1,Pos(' ', SAT1_AD));
Ad5:= Copy(SAT1_AD,Pos(' ', SAT1_AD)+1,Length(SAT1_AD));
Edit_Ad1.Text:= Ad1;
Edit_Ad2.Text:= Ad2;
Edit_Ad3.Text:= Ad3;
Edit_Ad4.Text:= Ad4;
Edit_Soyad.Text:= Ad5;
if Pos(' ', SAT1_AD) = 0 then GoTo 1;
end;
end;
end;
end;
Ad1:= Trim(Ad1); Ad2:= Trim(Ad2); Ad3:= Trim(Ad3);
Ad4:= Trim(Ad4); Ad5:= Trim(Ad5);
1://
if Ad5 <> '' then
begin
Ad:= Ad1 + ' ' + Ad2 + ' ' + Ad3 + ' ' + Ad4;
Soyad:= Ad5;
end
else if Ad5 = '' then
begin
Ad:= Ad1 + ' ' + Ad2 + ' ' + Ad3;
Soyad:= SAT1_AD;
end
else if Ad3 <> '' then
begin
Ad:= Ad1 + ' ' + Ad2;
Soyad:= Ad3;
end
else begin
Ad:= Ad1;
Soyad:= Ad2;
end;
Edit_Adi.Text:= Ad;
Edit_Soyadi.Text:= Soyad;
end;
procedure Tfrm_AdSoyadBol.BitBtn_TemizleClick(Sender: TObject);
begin
Saha_Giris_Ac;
Saha_Temizle;
if Edit_AdSoyad.CanFocus then Edit_AdSoyad.SetFocus;
Edit_AdSoyad.Text:= Ogr_AdSoyad;
Saha_Giris_Kapa;
BitBtn_Temizle.Enabled:= False;
end;
procedure Tfrm_AdSoyadBol.Timer1Timer(Sender: TObject);
begin
//Sistem saatinin StatusBar'da gösterimi
StatusBar1.Panels.Items[1].Text:= TimeToStr(Time);
end;
procedure Tfrm_AdSoyadBol.Edit_AdSoyadExit(Sender: TObject);
begin
if Edit_AdSoyad.Text <> '' then BitBtn_Basla.Enabled:= True;
if Basilan_Tus = BitBtn_Kapat then BitBtn_KapatClick(Basilan_Tus)
else if BitBtn_Basla.CanFocus then BitBtn_Basla.SetFocus;
end;
procedure Tfrm_AdSoyadBol.Edit_AdSoyadKeyPress(Sender: TObject;
var Key: Char);
begin
if Key = #13 then Edit_AdSoyadExit(Edit_AdSoyad);
end;
procedure Tfrm_AdSoyadBol.Edit_Ad1Click(Sender: TObject);
begin
if Edit_AdSoyad.CanFocus then Edit_AdSoyad.SetFocus;
end;
procedure Tfrm_AdSoyadBol.BitBtn_KapatMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
BitBtn_Basla.Enabled:= False;
if Button = mbLeft then
begin
Basilan_Tus:= BitBtn_Kapat;
BitBtn_KapatClick(Basilan_Tus);
end;
end;
end.
Çalışmalarınızda başarılar dilerim.
NeverFear - kaheri579@hotmail.com