📄 carout.pas
字号:
unit carout;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls, ExtCtrls,dateutils,math;
type
TForm_carout = class(TForm)
BitBtn9: TBitBtn;
BitBtn10: TBitBtn;
BitBtn11: TBitBtn;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
ComboBox1: TComboBox;
BitBtn4: TBitBtn;
BitBtn1: TBitBtn;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
BitBtn2: TBitBtn;
ComboBox4: TComboBox;
BitBtn3: TBitBtn;
ComboBox5: TComboBox;
BitBtn5: TBitBtn;
ComboBox6: TComboBox;
BitBtn6: TBitBtn;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
DateTimePicker3: TDateTimePicker;
ComboBox7: TComboBox;
BitBtn7: TBitBtn;
ComboBox8: TComboBox;
BitBtn8: TBitBtn;
Label8: TLabel;
Label15: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Label16: TLabel;
Edit5: TEdit;
Label17: TLabel;
Edit6: TEdit;
Label18: TLabel;
ComboBox9: TComboBox;
Label19: TLabel;
Edit7: TEdit;
ListBox1: TListBox;
ListBox2: TListBox;
ListBox3: TListBox;
Label20: TLabel;
Edit8: TEdit;
ListBox4: TListBox;
ListBox5: TListBox;
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure Edit3Change(Sender: TObject);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn11Click(Sender: TObject);
procedure ComboBox2Enter(Sender: TObject);
procedure ComboBox3Enter(Sender: TObject);
procedure ComboBox4Enter(Sender: TObject);
procedure ComboBox5Enter(Sender: TObject);
procedure ComboBox6Enter(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure Edit5KeyPress(Sender: TObject; var Key: Char);
procedure Edit6KeyPress(Sender: TObject; var Key: Char);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox7KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox8KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox4Change(Sender: TObject);
procedure ComboBox3Change(Sender: TObject);
procedure ComboBox1Enter(Sender: TObject);
procedure Edit7KeyPress(Sender: TObject; var Key: Char);
procedure Edit2Change(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure ComboBox7Enter(Sender: TObject);
procedure ComboBox8Enter(Sender: TObject);
procedure DateTimePicker2Change(Sender: TObject);
procedure DateTimePicker3Change(Sender: TObject);
procedure BitBtn10Click(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Edit8KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_carout: TForm_carout;
mglbt:double;
procedure getlistbox2(Sender: TObject);
procedure getlistbox3(Sender: TObject);
procedure getlistbox5(Sender: TObject);
implementation
uses dm, addcar, adddriver, addtype1, addtype2, addunit, addsigner,
addbegin, addend;
{$R *.dfm}
procedure getlistbox2(Sender: TObject);
var i,s,e:integer;
begin
form_carout.ListBox2.Items.Clear;
s:=hourof(form_carout.datetimepicker2.time);
e:=hourof(form_carout.datetimepicker3.time);
if (form_carout.datetimepicker3.time-form_carout.datetimepicker2.Time)<0 then e:=e+24;
i:=s;
while i< e do
begin
form_carout.listbox2.Items.Add(inttostr(i));
i:=i+1;
end;
end;
procedure getlistbox3(Sender: TObject);
var i,j,n1,n2:integer;
begin
i:=0;
n1:=26;
n2:=form_carout.listbox2.Items.Count;
form_carout.listbox3.Items.Clear;
while i<n1 do
begin
j:=0;
while j<n2 do
begin
if form_carout.listbox2.Items.Strings[j]=form_carout.listbox1.Items.Strings[i] then
form_carout.listbox3.Items.Add(form_carout.listbox2.Items.Strings[j]);
j:=j+1;
end;
i:=i+1 ;
end;
end;
procedure getlistbox5(Sender: TObject);
var i,j,n1,n2:integer;
begin
i:=0;
n1:=2;
n2:=form_carout.listbox2.Items.Count;
form_carout.listbox5.Items.Clear;
while i<n1 do
begin
j:=0;
while j<n2 do
begin
if form_carout.listbox2.Items.Strings[j]=form_carout.listbox4.Items.Strings[i] then
form_carout.listbox5.Items.Add(form_carout.listbox2.Items.Strings[j]);
j:=j+1;
end;
i:=i+1 ;
end;
end;
procedure TForm_carout.BitBtn4Click(Sender: TObject);
begin
form_addcar.showmodal;
end;
procedure TForm_carout.BitBtn1Click(Sender: TObject);
begin
form_adddriver.showmodal;
end;
procedure TForm_carout.ComboBox1Change(Sender: TObject);
begin
form_dm.ADOTable_car.Open;
if form_dm.ADOTable_car.Locate('id',combobox1.Text,[]) then
begin
edit1.Text:=floattostr(form_dm.ADOTable_car.FieldValues['km']);
mglbt:=form_dm.ADOTable_car.FieldValues['glj'];
end;
form_dm.ADOTable_driver_car.open;
if form_dm.ADOTable_driver_car.Locate('car_id',combobox1.Text,[]) then
begin
combobox2.Text:=form_dm.ADOTable_driver_car.FieldValues['driver_name'];
end;
form_dm.ADOTable_driver_car.close;
end;
procedure TForm_carout.Edit3Change(Sender: TObject);
begin
if edit3.Text<>'' then
begin
if combobox3.Text='按里程收费' then
begin
form_dm.adotable_params.open;
if combobox4.Text='市内' then
begin
edit5.Text:=floattostr(int(strtofloat(edit3.text)*(mglbt+form_dm.adotable_params.FieldValues['snj'])*100)/100);
end
else if combobox4.Text='省外'then
begin
edit5.Text:=floattostr(int(strtofloat(edit3.text)*(mglbt+form_dm.adotable_params.FieldValues['swj'])*100)/100);
end
else
edit5.Text:=floattostr(int(strtofloat(edit3.text)*mglbt*100)/100);
form_dm.ADOTable_car.Open;
form_dm.ADOTable_car.Locate('id',combobox1.Text,[]);
edit7.Text:=floattostr(int(strtofloat(edit3.Text)*form_dm.ADOTable_car.FieldValues['price']*100)/100);
end
else if combobox3.Text='包车' then
begin
form_dm.adotable_params.open;
if combobox4.Text='市内' then
begin
edit5.Text:=floattostr(int(strtofloat(edit3.text)*(mglbt+form_dm.adotable_params.FieldValues['snj'])*100)/100);
end
else if combobox4.Text='省外'then
begin
edit5.Text:=floattostr(int(strtofloat(edit3.text)*(mglbt+form_dm.adotable_params.FieldValues['swj'])*100)/100);
end
else
edit5.Text:=floattostr(int(strtofloat(edit3.text)*mglbt*100)/100);
edit7.Text:='';
end
else if combobox3.Text='车队用车' then
begin
edit5.Text:='0';
edit6.Text:='0';
edit7.Text:='0';
end
else if combobox3.Text='领导用车' then
//////////////////////////////////
begin
form_dm.adotable_params.open;
if combobox4.Text='市内' then
begin
edit5.Text:=floattostr(int(strtofloat(edit3.text)*(mglbt+form_dm.adotable_params.FieldValues['snj'])*100)/100);
end
else if combobox4.Text='省外'then
begin
edit5.Text:=floattostr(int(strtofloat(edit3.text)*(mglbt+form_dm.adotable_params.FieldValues['swj'])*100)/100);
end
else
edit5.Text:=floattostr(int(strtofloat(edit3.text)*mglbt*100)/100);
edit7.Text:=floattostr(roundto(strtofloat(edit3.text)*form_dm.adotable_params.FieldValues['ld'],-2));
end;
/////////////////////////////////
end;
end;
procedure TForm_carout.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#46,#48,#49,#50,#51,#52,#53,#54,#55,#56,#57,#13,#8]) then
begin
showmessage('只能为数字!');
key:=#0;
end;
if key = #13 then
edit4.SetFocus;
end;
procedure TForm_carout.BitBtn11Click(Sender: TObject);
begin
close;
end;
procedure TForm_carout.ComboBox2Enter(Sender: TObject);
begin
with form_dm.ADOtable_driver do
begin
open;
Sort:='name';
first;
combobox2.Items.Clear;
repeat
combobox2.Items.Add(form_dm.ADOtable_driver.fieldbyname('name').AsString);
form_dm.ADOtable_driver.Next;
until eof;
end;
end;
procedure TForm_carout.ComboBox3Enter(Sender: TObject);
begin
with form_dm.ADOtable_type1 do
begin
open;
first;
combobox3.Items.Clear;
repeat
combobox3.Items.Add(form_dm.ADOtable_type1.fieldbyname('yclx').AsString);
form_dm.ADOtable_type1.Next;
until eof;
end;
end;
procedure TForm_carout.ComboBox4Enter(Sender: TObject);
begin
with form_dm.ADOtable_type2 do
begin
open;
first;
combobox4.Items.Clear;
repeat
combobox4.Items.Add(form_dm.ADOtable_type2.fieldbyname('ccjl').AsString);
form_dm.ADOtable_type2.Next;
until eof;
end;
end;
procedure TForm_carout.ComboBox5Enter(Sender: TObject);
begin
with form_dm.ADOtable_employer do
begin
open;
Sort:='name';
first;
combobox5.Items.Clear;
repeat
combobox5.Items.Add(fieldbyname('name').AsString);
Next;
until eof;
end;
end;
procedure TForm_carout.ComboBox6Enter(Sender: TObject);
begin
with form_dm.adoquery_signers do
begin
sql.Text:='select * from signers where employer='''+combobox5.text+'''';
open;
first;
combobox6.Items.Clear;
repeat
combobox6.Items.Add(fieldbyname('signer').AsString);
Next;
until eof;
end;
combobox6.ItemIndex:=0;
end;
procedure TForm_carout.FormShow(Sender: TObject);
begin
datetimepicker1.Date:=date;
datetimepicker1.Date:=date;
datetimepicker2.time:=now;
datetimepicker3.time:=now;
end;
procedure TForm_carout.Edit4KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#46,#48,#49,#50,#51,#52,#53,#54,#55,#56,#57,#13,#8]) then
begin
showmessage('只能为数字!');
key:=#0;
end;
if key = #13 then
edit5.SetFocus;
end;
procedure TForm_carout.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#46,#48,#49,#50,#51,#52,#53,#54,#55,#56,#57,#13,#8]) then
begin
showmessage('只能为数字!');
key:=#0;
end;
if key = #13 then
edit6.SetFocus;
end;
procedure TForm_carout.Edit6KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#46,#48,#49,#50,#51,#52,#53,#54,#55,#56,#57,#13,#8]) then
begin
showmessage('只能为数字!');
key:=#0;
end;
if key = #13 then
edit8.SetFocus;
end;
procedure TForm_carout.Edit1KeyPress(Sender: TObject; var Key: Char);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -