Пример базы данных на Delphi 2.0

unit redakt;

interface

uses

  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

  ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, Mask, Buttons, DBCGrids;

type

  TForm2 = class(TForm)

    Panel1: TPanel;

    Button3: TButton;

    Button4: TButton;

    Button6: TButton;

    Button7: TButton;

    Button5: TButton;

    Button8: TButton;

    Button9: TButton;

    Button10: TButton;

    RadioGroup1: TRadioGroup;

    CheckBox1: TCheckBox;

    BitBtn1: TBitBtn;

    Edit1: TEdit;

    RadioGroup2: TRadioGroup;

    CheckBox3: TCheckBox;

    DBGrid1: TDBGrid;

    DBEdit1: TDBEdit;

    Label1: TLabel;

    CheckBox2: TCheckBox;

    Edit2: TEdit;

    BitBtn2: TBitBtn;

    Label2: TLabel;

    procedure ComboBox1Change(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

    procedure Button6Click(Sender: TObject);

    procedure Button5Click(Sender: TObject);

    procedure Button7Click(Sender: TObject);

    procedure Button8Click(Sender: TObject);

    procedure Button9Click(Sender: TObject);

    procedure Button10Click(Sender: TObject);

    procedure RadioGroup1Click(Sender: TObject);

    procedure CheckBox1Click(Sender: TObject);

    procedure DBEdit1Change(Sender: TObject);

    procedure BitBtn1Click(Sender: TObject);

    procedure Edit1Change(Sender: TObject);

    procedure CheckBox3Click(Sender: TObject);

    procedure RadioGroup2Click(Sender: TObject);

    procedure DBEdit1Click(Sender: TObject);

    procedure CheckBox2Click(Sender: TObject);

    procedure SpeedButton1Click(Sender: TObject);

    procedure SpeedButton3Click(Sender: TObject);

    procedure SpeedButton4Click(Sender: TObject);

    procedure Edit2Change(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

{    procedure FormCreate(Sender: TObject);}

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form2: TForm2;

implementation

uses data, Enter, categor, Vopros2;

{$R *.DFM}

procedure TForm2.ComboBox1Change(Sender: TObject);

begin

{Form2.ComboBox1:=}

end;

procedure TForm2.Button3Click(Sender: TObject);

begin

DM.Table4.First;

Form2.DBGrid1.SetFocus;

end;

procedure TForm2.Button4Click(Sender: TObject);

begin

DM.Table4.Next;

Form2.DBGrid1.SetFocus;

end;

procedure TForm2.Button6Click(Sender: TObject);

begin

DM.Table4.Prior;

Form2.DBGrid1.SetFocus;

end;

procedure TForm2.Button5Click(Sender: TObject);

begin

DM.Table4.Last;

Form2.DBGrid1.SetFocus;

end;

procedure TForm2.Button7Click(Sender: TObject);

begin

DM.Table4.Edit;

Form2.DBGrid1.SetFocus;

end;

procedure TForm2.Button8Click(Sender: TObject);

begin

DM.Table4.Insert;

Form2.DBGrid1.SetFocus;

end;

procedure TForm2.Button9Click(Sender: TObject);

begin

DM.Table4.Edit ;

DM.Table4.Post;

DM.Table1.Refresh;

DM.Table2.Refresh;

DM.Table3.Refresh;

DM.Table4.Refresh;

Form2.DBGrid1.Setfocus;

end;

procedure TForm2.Button10Click(Sender: TObject);

begin

if not DM.Table4.EOF then

begin

with DM.Table4 do

 begin

 DisableControls;

 Delete;

{ MessageDlg('╙фрышЄ№ ърЄхуюЁш■ ?',mtCustom,(mbYes),(mbNo));}

 EnableControls;

 Form2.DbGrid1.SetFocus;

end;

end;

end;

procedure TForm2.RadioGroup1Click(Sender: TObject);

var Pole:shortstring;

begin

Case Form2.RadioGroup1.ItemIndex of

0: Pole:='ърЄхуюЁшш';

1:Pole:='ЇшЁьх-шчуюЄютшЄхых';

2:Pole:='ьюфхыш';

3:Pole:='Ўхэх';

4:Pole:='╩юышўхёЄтє эр ёъырфх';

end;

if Form2.RadioGroup1.ItemIndex=0 then

DM.Table4.IndexFieldNames:='Categorija';

if Form2.RadioGroup1.ItemIndex=1 then

DM.Table4.IndexFieldNames:='Firma';

if Form2.RadioGroup1.ItemIndex=2 then

DM.Table4.IndexFieldNames:='Model';

if Form2.RadioGroup1.ItemIndex=3 then

DM.Table4.IndexFieldNames:='CENAD';

if Form2.RadioGroup1.ItemIndex=4 then

DM.Table4.IndexFieldNames:='SKLAD';

DM.Table4.Refresh;

DM.Table4.Close;

DM.Table4.Open;

Form2.DbGrid1.SetFocus;

end;

procedure TForm2.CheckBox1Click(Sender: TObject);

begin

if Form2.CheckBox1.Checked then

   begin

      Form2.RadioGroup1.Visible:=True;

      Form2.RadioGroup1.ItemIndex:=0;

     end

else

begin

DM.Table4.IndexFieldNames:='';

Form2.RadioGroup1.Visible:=False;

end;

end;

procedure TForm2.DBEdit1Change(Sender: TObject);

begin

Form3.Button6.Visible:=True;

Form3.Show;

Form3.Dbgrid1.SetFocus;

end;

procedure TForm2.BitBtn1Click(Sender: TObject);

begin

Form10.ShowModal;

end;

procedure TForm2.Edit1Change(Sender: TObject);

var Pole:ShortString;sd:real;

begin

if Edit1.Modified then

begin

 CASE RadioGroup2.ItemIndex OF

   0:

   begin

   DM.Table4.IndexFieldNames := 'CATEGORIJA';

   DM.Table4CATEGORIJA.Index := 0;

   Pole:='CATEGORIJA';

   end;

   1:

   begin

   DM.Table4.IndexFieldNames := 'FIRMA';

   DM.Table4FIRMA.Index := 0;

   Pole:='FIRMA';

   end;

   2:

   begin

   DM.Table4.IndexFieldNames := 'MODEL';

   DM.Table4MODEL.Index := 0;

   Pole:='MODEL';

   end;

   3:

   begin

   DM.Table4.IndexFieldNames := 'CENAD';

   DM.Table4CENAR.Index := 0;

   Pole:='CENAD'

   end;

   4:

    begin

   DM.Table4.IndexFieldNames := 'SKLAD';

   DM.Table4SKLAD.Index := 0;

   Pole:='SKLAD';

  end;

  end;

{   DM.Table4.FindNearest([Edit1.Text]);}

if RadioGroup2.ItemIndex<=2 then

   DM.Table4.FindNearest([Edit1.text])

   else

     if Edit1.text <> '' then

    begin

    try

    sd:=StrToFloat(Edit1.Text);

    DM.Table4.FindNearest([sd]);

    except

    on EConvertError do

    begin

    ShowMessage('эхяЁртшы№э√щ ттюф !');

    Form2.Label2.Caption:='';

    end

    end;

    end;

{   try

      sd:=StrToFloat(Edit1.text);

           except

        raise Exception.create(Edit1.text+' ¤Єю эх ўшёыютющ ЇюЁьрЄ !');

      end

   else

    DM.Table4.FindNearest([StrToFloat(Edit1.text)]);

  DM.Table4.FindNearest([Edit1.Text]);

  then Form2.Label1.Caption('╟эрўхэшх'+Edit1.Text+'эх эрщфхэю');}

end;

Form2.Label2.caption:=('╩рЄхуюЁш :' +DM.Table4CATEGORIJA.Value+' '+'╘шЁьр:'+DM.Table4Firma.Value+' '+'╠юфхы№:'+DM.Table4MODEL.Value);

end;

procedure TForm2.CheckBox3Click(Sender: TObject);

begin

if Form2.CheckBox3.Checked then

  begin

     Form2.Label2.Visible:=True;

     Form2.Edit1.Visible:=True;

     Form2.CheckBox2.Checked:=False;

     Form2.RadioGroup2.Visible:=True;

     RadioGroup2.ItemIndex:=0;

     RadioGroup1.ItemIndex:=RadioGroup2.ItemIndex;

     Form2.CheckBox1.Checked:=True;

  end

    else

  begin

      Form2.RadioGroup2.Visible:=False;

      Form2.Edit1.Visible:=False;

      Form2.Label2.Visible:=False;

  end;

     end;

procedure TForm2.RadioGroup2Click(Sender: TObject);

begin

   RadioGroup1.ItemIndex:=RadioGroup2.ItemIndex;

end;

procedure TForm2.DBEdit1Click(Sender: TObject);

begin

Form3.Button6.Visible:=True;

Form3.ShowModal;

end;

procedure TForm2.CheckBox2Click(Sender: TObject);

begin

if Form2.CheckBox2.Checked then

  begin

  Form2.Label2.Visible:=True;

  Form2.BitBtn2.Visible:=True;

  Form2.Edit2.Visible:=True;

  Form2.CheckBox3.Checked:=False;

  Form2.RadioGroup2.Visible:=True;

  Form2.Checkbox1.Checked:=True;

  end

  else

  begin

    Form2.Label2.Visible:=False;

    Form2.BitBtn2.Visible:=False;

    Form2.Edit2.Visible:=False;

    Form2.RadioGroup2.Visible:=False;

  end;

end;

procedure TForm2.SpeedButton1Click(Sender: TObject);

var pole:shortstring;

begin

  CASE RadioGroup2.ItemIndex OF

   0:

   begin

   DM.Table4.IndexFieldNames := 'CATEGORIJA';

   DM.Table4CATEGORIJA.Index := 0;

   Pole:='CATEGORIJA';

   end;

   1:

   begin

   DM.Table4.IndexFieldNames := 'FIRMA';

   DM.Table4FIRMA.Index := 0;

   Pole:='FIRMA';

   end;

   2:

   begin

   DM.Table4.IndexFieldNames := 'MODEL';

   DM.Table4MODEL.Index := 0;

   Pole:='MODEL';

   end;

   3:

   begin

   DM.Table4.IndexFieldNames := 'CENAD';

   DM.Table4CENAD.Index := 0;

   Pole:='CENAD'

   end;

   4:

    begin

   DM.Table2.IndexFieldNames := 'SKLAD';

   DM.Table2SKLAD.Index := 0;

   Pole:='SKLAD';

  end;

  end;

 DM.Table4.locate(pole,Edit2.Text,[loCaseInsensitive,

 lopartialKey]);

end;

procedure TForm2.SpeedButton3Click(Sender: TObject);

begin

DM.Table4.First;

Form2.Dbgrid1.SetFocus;

end;

procedure TForm2.SpeedButton4Click(Sender: TObject);

begin

DM.Table4.FindLast;

Form2.Dbgrid1.SetFocus;

end;

procedure TForm2.Edit2Change(Sender: TObject);

var Pole:shortString;sd:real;

begin

end;

procedure TForm2.BitBtn2Click(Sender: TObject);

var Pole:shortstring;sd:real;

begin

Form2.Label2.Visible:=True;

 CASE RadioGroup2.ItemIndex OF

   0:

   begin

   DM.Table4.IndexFieldNames := 'CATEGORIJA';

   DM.Table4CATEGORIJA.Index := 0;

   Pole:='CATEGORIJA';

   end;

   1:

   begin

   DM.Table4.IndexFieldNames := 'FIRMA';

   DM.Table4FIRMA.Index := 0;

   Pole:='FIRMA';

   end;

   2:

   begin

   DM.Table4.IndexFieldNames := 'MODEL';

   DM.Table4MODEL.Index := 0;

   Pole:='MODEL';

   end;

   3:

   begin

   DM.Table4.IndexFieldNames := 'CENAD';

   DM.Table4CENAR.Index := 0;

   Pole:='CENAD'

   end;

   4:

    begin

   DM.Table4.IndexFieldNames := 'SKLAD';

   DM.Table4SKLAD.Index := 0;

   Pole:='SKLAD';

  end;

  end;

  if RadioGroup2.ItemIndex<=2 then

 begin

      if not

   DM.Table4.Locate(Pole,Edit2.text,[LoCaseInsensitive,LoPartialKey])

 then

 begin

 ShowMessage('╟эрўхэшх'+ ' '+Edit2.text+' '+'эх эрщфхэю');

 Form2.Label2.Caption:='';

 end

 else

 Form2.Label2.caption:=('╩рЄхуюЁш :' +DM.Table4CATEGORIJA.Value+' '+'╘шЁьр:'+DM.Table4Firma.Value+' '+'╠юфхы№:'+DM.Table4MODEL.Value);

 end

   else

     if Edit1.text <> '' then

    begin

    try

  sd:=STRToFloat(Edit1.Text);

  if not DM.Table4.Locate(Pole,sd,[LoCaseInsensitive,LoPartialKey])

 then

 begin

  ShowMessage('╟эрўхэшх'+ ' '+Edit2.text+' '+'эх эрщфхэю');

   Form2.Label2.Caption:='';

  end

  else

  Form2.Label2.caption:=('╩рЄхуюЁш :' +DM.Table4CATEGORIJA.Value+' '+'╘шЁьр:'+DM.Table4Firma.Value+' '+'╠юфхы№:'+DM.Table4MODEL.Value);

    except

    on EConvertError do

    begin

    ShowMessage('эхяЁртшы№э√щ ттюф !');

    Form2.Label2.Caption:='';

    end

    end;

{   DM.Table4.FindFirst;}

    end;end;

end.