Ad Soyad Bölme ( POS ve Trim fonksiyonları )

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
NeverFear
Üye
Mesajlar: 69
Kayıt: 20 Tem 2004 09:41
Konum: İzmir

Ad Soyad Bölme ( POS ve Trim fonksiyonları )

Mesaj gönderen NeverFear »

*** Delphi x.0 (Delphi 2005 ve sonrası sürümlerde denenmedi)

* 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.
İşinizi görmesi dileğimle,
Çalışmalarınızda başarılar dilerim.

NeverFear - kaheri579@hotmail.com
Cevapla