Tbl := 'Station';
pole1 := 'id';
pole2 := 'Station';
pole3 := '';
pole4 := '';
pole5 := '';
pole6 := '';
pole7 := '';
pole8 := '';
pole9 := '';
pole10 := '';
pole11 := '';
pole12 := '';
pole13 := '';
ShowZapros;
Form3.ShowModal;
Tbl := 'Operations_s_vagonom';
Edit2.SetFocus;
end;
procedure TForm7.Edit2Enter(Sender: TObject);
begin
Form3.Caption := 'Фронт отправитель';
Form3.Label1.Caption:= Form3.Caption;
Tbl := 'Front';
pole2 := 'Front';
Edit7.SetFocus;
procedure TForm7.Edit9Enter(Sender: TObject);
Form3.Caption := 'Операции';
Tbl := 'Operation';
pole2 := 'Operation';
Edit10.SetFocus;
procedure TForm7.Edit10Enter(Sender: TObject);
Form3.Caption := 'Груз';
Tbl := 'Gruz';
pole2 := 'Gruz';
Edit3.SetFocus;
procedure TForm7.Edit7Enter(Sender: TObject);
Form3.Caption := 'Станция получатель';
Edit8.SetFocus;
procedure TForm7.Edit8Enter(Sender: TObject);
Form3.Caption := 'Фронт получатель';
Edit9.SetFocus;
procedure TForm7.addExecute(Sender: TObject);
Form8.ShowModal;
procedure TForm7.editExecute(Sender: TObject);
if (DataModule2.Quslugi['USV.id']=Null) then
ShowMessage('Нечего редактировать');
EditMode3 := false;
end
else
EditMode3 := True;
procedure TForm7.delExecute(Sender: TObject);
ShowMessage('Нечего удалять');
Tbl := 'Uslugi_sv';
pole2 := 'zakaz';
pole3 := 'key_vagon';
pole4 := 'key_uslugi';
pole5 := 'key_na';
pole6 := 'key_s';
pole7 := 'cena';
ForDel := DataModule2.Quslugi['USV.id'];
DelZapros;
ShowZapros();
TBL:='Operations_s_vagonom';
procedure TForm7.Edit6Exit(Sender: TObject);
try
strtoint(Edit6.Text);
except
ShowMessage('Здесь должно быть число!!');
Edit6.SetFocus;
procedure TForm7.Edit4Exit(Sender: TObject);
strtoint(Edit4.Text);
Edit4.SetFocus;
procedure TForm7.Edit3Exit(Sender: TObject);
strtoint(Edit3.Text);
end.
unit Unit8;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, ActnList, Menus;
type
TForm8 = class(TForm)
GroupBox1: TGroupBox;
Edit1: TEdit;
Label1: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Label2: TLabel;
Label3: TLabel;
DBGrid1: TDBGrid;
Label4: TLabel;
ActionList1: TActionList;
PopupMenu1: TPopupMenu;
add: TAction;
edit: TAction;
del: TAction;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
procedure Edit2Enter(Sender: TObject);
procedure Edit3Enter(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure addExecute(Sender: TObject);
procedure editExecute(Sender: TObject);
procedure delExecute(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Edit1Exit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
var
Form8: TForm8;
implementation
Uses unit2, unit4, Unit3, Unit5, Unit7;
{$R *.dfm}
procedure TForm8.Edit2Enter(Sender: TObject);
Form3.Caption := 'Цех заказчик';
Tbl := 'Ceha';
pole2 := 'n_ceha';
pole3 := 'bal_schet';
procedure TForm8.Edit3Enter(Sender: TObject);
Form3.Caption := 'Цех исполнитель';
DBGrid1.SetFocus;
procedure TForm8.FormShow(Sender: TObject);
if EditMode3 then
Edit1.Text := DataModule2.Quslugi['zakaz'];
Edit2.Text := DataModule2.Quslugi['CS.n_ceha'];
Edit2.Tag := StrToInt(DataModule2.Quslugi['key_s']);
Edit3.Text := DataModule2.Quslugi['CNA.n_ceha'];
Edit3.Tag := StrToInt(DataModule2.Quslugi['key_na']);
Edit1.Text := '';
Edit2.Text := '';
Edit2.Tag := 0;
Edit3.Text := '';
Edit3.Tag := 0;
Tbl:='Stoimost';
TBL:='Uslugi_sv';
procedure TForm8.DBGrid1DblClick(Sender: TObject);
ToIns := Edit1.Text;
ToIns2 := DataModule2.QOSV['OSV.id'];
ToIns3 := DataModule2.QSelUs['ST.id'];
ToIns4 := IntToStr(Edit2.Tag);
ToIns5 := IntToStr(Edit3.Tag);
if MessageDlg('Перемножить стоимость заказа на вес?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
// ToIns6 := IntToStr(StrToInt(DataModule2.QSelUs['stoimost']) * StrToInt(Form7.Edit3.Text));
ToIns6 := FloatToStr(StrToFloat(DataModule2.QSelUs['stoimost']) * StrToFloat(Form7.Edit3.Text));
Close;
ToIns6 := DataModule2.QSelUs['stoimost'];
If ((Edit1.Text<>'')and(Edit2.Text<>'')and(Edit3.Text<>'')) then
ForEdit := DataModule2.Quslugi['USV.id'];
InsEdit5 := true;
InsertZapros();
ForEdit := '-1';
Form8.Close;
ShowMessage('Все поля обязательны к заполнению!');
procedure TForm8.addExecute(Sender: TObject);
Form5.Show;
procedure TForm8.editExecute(Sender: TObject);
if (DataModule2.QSelUs['ST.id']=Null) then
EditMode4 := false;
EditMode4:=true;
procedure TForm8.delExecute(Sender: TObject);
pole2 := 'key_vid_uslug';
pole3 := 'key_ves';
pole4 := 'stoimost';
ForDel := DataModule2.QSelUs['ST.id'];
procedure TForm8.FormClose(Sender: TObject; var Action: TCloseAction);
EditMode3:=false;
Tbl:='Operations_s_vagonom';
procedure TForm8.Edit1Exit(Sender: TObject);
strtoint(Edit1.Text);
Edit1.SetFocus;
unit Unit9;
Dialogs, StdCtrls, Grids, Menus, DBGrids;
TForm9 = class(TForm)
MainMenu1: TMainMenu;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
procedure N1Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
Form9: TForm9;
uses Unit2, Unit10, Unit4, Unit1, Unit11;
procedure TForm9.N1Click(Sender: TObject);
var tmpRadio, MyI : integer;
Form10.Caption := 'Сортировка';
ForSort := true;
ForFiltr := false;
Form10.RadioGroup2.Enabled := true;
Form10.Edit1.Enabled:=False;
Form10.Edit2.Enabled:=False;
Form10.Edit1.Clear;
Form10.Edit2.Clear;
Form10.Button3.Caption := 'Next';
Form10.RadioGroup1.ItemIndex := 0;
Form10.RadioGroup2.ItemIndex := 0;
ForOrder:='';
Form10.RadioGroup1.Items.Clear;
For MyI:=0 to Form9.DBGrid1.Columns.Count-1 do
Form10.RadioGroup1.Items.Add(Form9.DBGrid1.Columns[MyI].Title.Caption);
for tmpRadio:=0 to Form10.RadioGroup1.Items.Count-1 do
TRadioButton(Form10.RadioGroup1.Controls[tmpRadio]).Enabled := true;
Form10.ShowModal;
procedure TForm9.N3Click(Sender: TObject);
Form10.Caption := 'Фильтрация';
Form10.RadioGroup2.Enabled := false;
Diap := 'in';
ForSort := false;
ForFiltr := true;
Form10.Edit1.Enabled:=true;
Form10.Edit2.Enabled:=true;
Form10.Button3.Caption := 'Ok';
procedure TForm9.N4Click(Sender: TObject);
Diap := 'out';
procedure TForm9.N5Click(Sender: TObject);
ForReport();
procedure TForm9.N6Click(Sender: TObject);
Form11.QuickRep1.PreviewModal;
unit Unit10;
Dialogs, StdCtrls, ExtCtrls;
TForm10 = class(TForm)
RadioGroup2: TRadioGroup;
Button3: TButton;
Button2: TButton;
RadioGroup3: TRadioGroup;
RadioGroup1: TRadioGroup;
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Sort();
procedure Filtr();
Form10: TForm10;
Uses Unit4;
procedure TForm10.Sort();
var tmpRadio, myNumb: integer;
QueryString: string;
tmp, Napr: String;
if RadioGroup2.ItemIndex = 0 then
Napr := ''
Napr := ' Desc ';
TRadioButton(RadioGroup1.Controls[RadioGroup1.ItemIndex]).Enabled := False;
if (ForOrder='') then
ForOrder := RadioGroup3.Items[RadioGroup1.ItemIndex] + Napr
ForOrder := ForOrder + ','+ RadioGroup3.Items[RadioGroup1.ItemIndex] + Napr;
for tmpRadio:=0 to RadioGroup1.Items.Count-1 do
myNumb := -1;
if (TRadioButton(RadioGroup1.Controls[tmpRadio]).Enabled) then
MyNumb := tmpRadio;
Break;
if (myNumb<>-1) then
RadioGroup1.ItemIndex := myNumb
Button3.Caption := 'Выполнить';
if (myNumb=-1) then
Form10.Close;
procedure TForm10.Filtr();
if Diap='in' then
tmpFiltr := RadioGroup3.Items[RadioGroup1.ItemIndex] + ' BETWEEN :Par1 AND :Par2'
tmpFiltr := RadioGroup3.Items[RadioGroup1.ItemIndex] + ' NOT BETWEEN :Par1 AND :Par2';
Edit1.Enabled:=False;
Edit2.Enabled:=False;
ForFiltr := False;
procedure TForm10.Button3Click(Sender: TObject);
if ForSort = true then Sort();
if ForFiltr = true then Filtr();
procedure TForm10.Button2Click(Sender: TObject);
If ForSort then
ForOrder := RadioGroup3.Items[RadioGroup1.ItemIndex]
ForOrder := RadioGroup3.Items[RadioGroup1.ItemIndex] + ' Desc';
unit Unit11;
Dialogs, ExtCtrls, QuickRpt, QRCtrls;
TForm11 = class(TForm)
QuickRep1: TQuickRep;
ColumnHeaderBand1: TQRBand;
DetailBand1: TQRBand;
PageFooterBand1: TQRBand;
QRExpr1: TQRExpr;
QRExpr2: TQRExpr;
QRExpr3: TQRExpr;
QRExpr4: TQRExpr;
QRExpr5: TQRExpr;
QRExpr7: TQRExpr;
QRExpr8: TQRExpr;
QRExpr10: TQRExpr;
QRExpr11: TQRExpr;
QRExpr14: TQRExpr;
QRExpr15: TQRExpr;
QRExpr16: TQRExpr;
QRExpr17: TQRExpr;
QRExpr18: TQRExpr;
QRExpr19: TQRExpr;
QRExpr9: TQRExpr;
QRExpr12: TQRExpr;
QRExpr6: TQRExpr;
QRExpr13: TQRExpr;
QRExpr20: TQRExpr;
Form11: TForm11;
Uses Unit2, Unit9;
Приложение 3
Результаты работы программы
Форма формирования отчета
Форма печати отчетов
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29