27 Mart 2010 Cumartesi

Ad Soyad Bölme Pos ve Trim Fonksiyonları

* 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.

//*.pas ve *.dfm kısımları

//*.pas kısmı
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(Se nder: TObject);
begin
//Bileşen Hint'lerinin StatusBar'da gösterimi
StatusBar1.Panels.Items[0].Text:= Application.Hint;
end;

procedure Tfrm_AdSoyadBol.FormCreate(Sen der: TObject);
begin //Bileşen Hint'lerinin StatusBar'da gösterimi
Application.ShowHint:= True; Application.OnHint:= DisplayHint;
end;

procedure Tfrm_AdSoyadBol.FormShow(Sende r: TObject);
begin
Saha_Temizle;Saha_Giris_Kapa;
BitBtn_Basla.Enabled:= False;
BitBtn_Temizle.Enabled:= False;
end;

procedure Tfrm_AdSoyadBol.BitBtn_BaslaCl ick(Sender: TObject);
begin
Ad_Soyad_Bol;
Saha_Giris_Kapa;
BitBtn_Basla.Enabled:= False;
BitBtn_Temizle.Enabled:= True;
end;

procedure Tfrm_AdSoyadBol.BitBtn_KapatCl ick(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_Kap a;
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_AdSoyadCh ange(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_Temizle Click(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(Se nder: TObject);
begin //Sistem saatinin StatusBar'da gösterimi
StatusBar1.Panels.Items[1].Text:= TimeToStr(Time);end;

procedure Tfrm_AdSoyadBol.Edit_AdSoyadEx it(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_AdSoyadKe yPress(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_KapatMo useUp(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.

Hiç yorum yok:

Yorum Gönder