Форма сортировки
Экранная форма:
Код:
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, unit2;
type
TForm3 = class(TForm)
RadioGroup1: TRadioGroup;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
RadioGroup2: TRadioGroup;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.BitBtn1Click(Sender: TObject);
begin
if RadioGroup2.ItemIndex=0 then
case RadioGroup1.ItemIndex of
0:DataModule2.Table1.IndexName:='nazv_v';
1:DataModule2.Table1.IndexName:='god_v';
2:DataModule2.Table1.IndexName:='janr_v';
3:DataModule2.Table1.IndexName:='razr_v';
4:DataModule2.Table1.IndexName:='izdat_v';
5:DataModule2.Table1.IndexName:='treb_v';
6:DataModule2.Table1.IndexName:='cost_v';
end else
case RadioGroup1.ItemIndex of
0:DataModule2.Table1.IndexName:='nazv_n';
1:DataModule2.Table1.IndexName:='god_n';
2:DataModule2.Table1.IndexName:='janr_n';
3:DataModule2.Table1.IndexName:='razr_n';
4:DataModule2.Table1.IndexName:='izdat_n';
5:DataModule2.Table1.IndexName:='treb_n';
6:DataModule2.Table1.IndexName:='cost_n';
end;
end;
procedure TForm3.BitBtn2Click(Sender: TObject);
begin
close;
end;
end.
Форма поиска
Экранная форма:
Код:
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, DB, DBTables, Grids, DBGrids;
type
TForm4 = class(TForm)
RadioGroup1: TRadioGroup;
Edit1: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Table1: TTable;
Table1Nazv: TStringField;
Table1God: TFloatField;
Table1Janr: TStringField;
Table1Razr: TStringField;
Table1Izdat: TStringField;
Table1Treb: TStringField;
Table1Cost: TFloatField;
procedure Table1FilterRecord(DataSet: TDataSet; var Accept: Boolean);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
{$R *.dfm}
procedure TForm4.Table1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
case RadioGroup1.ItemIndex of
0:accept:=(edit1.Text=Table1Nazv.Value);
1:accept:=(strtoint(edit1.Text)=Table1God.Value);
2:accept:=(edit1.Text=Table1Janr.Value);
3:accept:=(edit1.Text=Table1Razr.Value);
4:accept:=(edit1.Text=Table1Izdat.Value);
5:accept:=(edit1.Text=Table1Treb.Value);
6:accept:=(strtoint(edit1.Text)=Table1Cost.Value);
end;
end;
procedure TForm4.BitBtn1Click(Sender: TObject);
begin
Table1.Filtered:=true;
DataSource1.Enabled:=true;
end;
procedure TForm4.BitBtn2Click(Sender: TObject);
begin
close;
end;
end.
Форма фильтрации
Экранная форма:
Код:
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, DBTables, Grids, DBGrids, Buttons, ExtCtrls;
type
TForm5 = class(TForm)
RadioGroup1: TRadioGroup;
Edit1: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Table1: TTable;
Table1Nazv: TStringField;
Table1God: TFloatField;
Table1Janr: TStringField;
Table1Razr: TStringField;
Table1Izdat: TStringField;
Table1Treb: TStringField;
Table1Cost: TFloatField;
Label1: TLabel;
Label2: TLabel;
Edit2: TEdit;
procedure BitBtn1Click(Sender: TObject);
procedure Table1FilterRecord(DataSet: TDataSet; var Accept: Boolean);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
{$R *.dfm}
procedure TForm5.BitBtn1Click(Sender: TObject);
begin
Table1.Filtered:=true;
DataSource1.Enabled:=true;
end;
procedure TForm5.Table1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
case RadioGroup1.ItemIndex of
0:accept:=(Table1Nazv.Value>=Edit1.text) and (Table1Nazv.Value<=Edit2.text);
1:accept:=(Table1God.Value>=strtoint(Edit1.text)) and (Table1God.Value<=strtoint(Edit2.text));
2:accept:=(Table1Janr.Value>=Edit1.text) and (Table1Janr.value<=Edit2.text);
3:accept:=(Table1Razr.Value>=Edit1.text) and (Table1Razr.Value<=Edit2.text);
4:accept:=(Table1Izdat.Value>=Edit1.text) and (Table1Izdat.Value<=Edit2.text);
5:accept:=(Table1Treb.Value>=Edit1.Text) and (Table1Treb.Value<=Edit2.text);
6:accept:=(Table1Cost.Value>=strtoint(Edit1.text)) and (Table1Cost.Value<=strtoint(Edit2.text));
end;
end;
procedure TForm5.BitBtn2Click(Sender: TObject);
begin
close;
end;
end.