بسم الله الرحمن الرحيم
والصلاة والسلام على أشرف المرسلين سيدنا محمد صلى الله عليه وسلم وعلى آله وصحبه أجمعين
الحمد لله نحمده ونستغفره ونعوذ بالله من شرور أنفسنا وسيئات أعمالنا
وأشهد أن لا إله إلا الله وحده لا شريك له وأشهد أن محمدا عبده ورسوله
عملية البحث في قواعد البيانات -دلفي- مثال بسيط
------------------------------------------------------
المشروع
------------------------------------------------------
program Recher;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3};
{$R *.RES}
begin
Application.Initialize;
;( Application.CreateForm(TForm1, Form1
); Application.CreateForm(TForm2, Form2
Application.CreateForm(TForm3, Form3);
Application.Run;
end.
------------------------------------------------------
الوحدة الاولى
------------------------------------------------------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, StdCtrls, Db, DBTables, Grids, DBGrids;
type
TForm1 = class(TForm)
Table1: TTable;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
BitBtn1: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button4: TButton;
Button5: TButton;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Edit4: TEdit;
Edit5: TEdit;
Table1Code: TFloatField;
Table1Nom: TStringField;
Table1Prenom: TStringField;
Table1Lui: TStringField;
Table1Date: TStringField;
Label4: TLabel;
Label5: TLabel;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Ajout(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
private public
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.Open;
Table1.Append;
Table1Code.Text := Edit1.Text;
Table1Nom.Value := Edit2.Text;
Table1Prenom.Value := Edit3.Text;
Table1Lui.Value := Edit4.Text;
Table1Date.Value := Edit5.Text;
Table1.Post;
Showmessage('تمت عملية الايظافة بنجاح');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Table1.Next;
Ajout(Form1);
end;
procedure TForm1.Ajout(Sender: TObject);
begin
Edit1.Text := Table1Code.Text;
Edit2.Text := Table1Nom.Value;
Edit3.Text := Table1Prenom.Value;
Edit4.Text := Table1Lui.Value;
Edit5.Text := Table1Date.Value;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Table1.Prior;
Ajout(Form1);
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
Edit1.Text := ''; Edit4.Text := '';
Edit2.Text := ''; Edit5.Text := '';
Edit3.Text := '';
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Table1.Open;
Label1.Caption := 'رقم التسجيل';
Label2.Caption := 'الاســـم';
Label3.Caption := 'اللـقـــب';
Label4.Caption := 'مكان الميلاد';
Label5.Caption := 'تاريخ الميلاد';
// Label.Caption := '';
Caption := 'مثال';
Button1.Caption := 'إيظافة';
Button2.Caption := 'الـتالي';
Button3.Caption := 'بحث بالرقم';
Button4.Caption := 'السابق';
Button5.Caption := 'بحث باسم ورقم';
Button6.Caption := 'بحث';
Button7.Caption := 'مـــســـح';
Button8.Caption := 'تصحيح';
Button9.Caption := 'بحث بالاسم';
Button10.Caption := 'بحث';
Button11.Caption := 'مــــــــثال 2';
Button12.Caption := 'مـــــثال 3';
BitBtn1.Caption := '&خـــروج';
Button13.Caption := 'الاول';
Button14.Caption := 'الاخير';
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
Table1.Edit;
Table1['Code'] := Edit1.Text;
Table1['Nom'] := Edit2.Text;
Table1['Prenom'] := Edit3.Text;
Table1['Lui'] := Edit4.Text;
Table1['Date'] := Edit5.Text;
Table1.Post;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
Table1.SetKey;
Table1.Fields[0].AsString := Edit1.Text;
if not Table1.GotoKey then
Showmessage('هذا الاسم غير موجود');
Ajout(Form1);
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
Table1.Locate('Nom',Edit2.Text,[LopartialKey]);
Ajout(Form1);
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
with Table1 do
begin
EditKey;
FieldByName('Code').AsString := Edit1.Text;
FieldByName('Nom').AsString := Edit2.Text;
GotoKey;
end ;
Ajout(Form1);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Table1.FindNearest([Edit1.Text]);
Ajout(Form1);
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
with Table1 do
begin
SetKey;
FieldByName('Code').AsString := Edit1.text;
FieldByName('Nom').AsString := Edit2.Text;
GotoNearest;
end ;
Ajout(Form1);
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
Form2.Show;
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
Form3.Show;
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
Table1.First; Ajout(Form1);
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
Table1.Last; Ajout(Form1);
end;
end.
------------------------------------------------------
الوحدة الثانية
------------------------------------------------------
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, Grids, DBGrids, StdCtrls, Buttons;
type
TForm2 = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
BitBtn1: TBitBtn;
Edit1: TEdit;
Label1: TLabel;
procedure FormActivate(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Form2: TForm2;
implementation
{$R *.DFM}
procedure TForm2.FormActivate(Sender: TObject);
begin
Table1.DatabaseName := '';
Table1.TableName := 'Basse1.db';
Table1.Active := True;
Table1.IndexName := '';
end;
procedure TForm2.Edit1Change(Sender: TObject);
begin
Table1.FindNearest([Edit1.Text]);
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
Label1.Caption := 'أدخل رقما من القائمة';
Caption := 'القائمة';
end;
end.
------------------------------------------------------
الوحدة الثالثة
------------------------------------------------------
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Grids, DBGrids, Db, DBTables;
type
TForm3 = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
Table2: TTable;
DataSource2: TDataSource;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
BitBtn1: TBitBtn;
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
Table1Code: TFloatField;
Table1Nom: TStringField;
Table1Prenom: TStringField;
Table2Code: TFloatField;
Table2Nom: TStringField;
Table2Prenom: TStringField;
procedure FormActivate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Form3: TForm3;
implementation
{$R *.DFM}
procedure TForm3.FormActivate(Sender: TObject);
begin
Table1.DatabaseName := '';
Table2.DatabaseName := '';
Table1.TableName := 'Basse1.db';
Table2.TableName := 'Basse.db';
Table1.Active := True;
Table2.Active := True;
Table1.IndexName := '';
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
Table1.FindNearest([Edit1.Text]);
Table2.Append;
Table2Code.Text := Table1Code.Text;
Table2Nom.Value := Table1Nom.Value;
Table2Prenom.Value := Table1Prenom.Value;
Table2.Post;
Table1.Delete;
Edit1.Text := '';
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
Table2.FindNearest([Edit1.Text]);
Table1.Append;
Table1Code.Text := Table2Code.Text;
Table1Nom.Value := Table2Nom.Value;
Table1Prenom.Value := Table2Prenom.Value;
Table1.Post;
Table2.Delete;
Edit1.Text := '';
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
Button1.Caption := 'نقل من القائمة الاولى الى القائمة الثانية';
Button2.Caption := 'نقل من القائمة الثانية الى الاولى';
Button2.Caption := 'نقل من القائمة الاولى الى القائمة الثانية';
end;
end.