📄 jsyjf.~pas
字号:
unit JSYJF;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, ExtCtrls;
type
TDriverJF = class(TForm)
Label1: TLabel;
GroupBox3: TGroupBox;
Panel1: TPanel;
GroupBox1: TGroupBox;
Label2: TLabel;
GroupBox2: TGroupBox;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
ComboBox1: TComboBox;
Label8: TLabel;
ComboBox2: TComboBox;
Label9: TLabel;
Label10: TLabel;
Edit1: TEdit;
Label11: TLabel;
Edit2: TEdit;
Label12: TLabel;
Panel8: TPanel;
DBGrid1: TDBGrid;
procedure ComboBox1Change(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure pingfen;
procedure readdata;
procedure DBGrid1CellClick(Column: TColumn);
procedure ComboBox2Change(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure Panel8MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel8MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DriverJF: TDriverJF;
weizhangrec,shigurec,yycount1:integer;
sumsr,sumweixiu:real;
implementation
uses unit2,unit7;
{$R *.dfm}
procedure TDriverJF.ComboBox1Change(Sender: TObject);
begin
if combobox1.Text = '系统评分' then
edit1.Enabled:=false
else edit1.Enabled:=true;
end;
procedure TDriverJF.FormShow(Sender: TObject);
begin
combobox2.Items.Clear;
with datamodule2.CarclassQ do
begin
close;
sql.Clear;
sql.Add('select * from cardriver.dbf');
open;
while not eof do
begin
combobox2.Items.Add(fieldbyname('name').AsString);
next;
end;
first;
end;
combobox2.ItemIndex:=0;
end;
procedure TDriverJF.DBGrid1CellClick(Column: TColumn);
begin
combobox2.Text:=datamodule2.CarclassQ.fieldbyname('name').AsString;
pingfen;
end;
procedure TDriverJF.ComboBox2Change(Sender: TObject);
begin
datamodule2.CarclassQ.Filter:='[name]='+''''+combobox2.Text+'''';
if datamodule2.CarclassQ.FindFirst then
pingfen;
datamodule2.CarclassQ.Filter:='';
end;
procedure Tdriverjf.pingfen;
begin
//with datamodule2.CardanganQ do
//begin
//if recordcount > 0 then
//begin
readdata;
label3.Caption:='运营次数:'+ inttostr(yycount1);
label4.Caption:='运营收入:'+ floattostr(sumsr);
label6.Caption:='违章次数:'+ inttostr(weizhangrec);
label7.Caption:='维修费用:'+ floattostr(sumweixiu);
label5.Caption:='事故次数:'+ inttostr(shigurec);
if combobox1.text='系统评分' then
begin
if yycount1 >= 30 then
edit1.Text:=floattostr(10-(shigurec*10+weizhangrec*2))
else edit1.Text:=floattostr(10-(shigurec*10+weizhangrec*2+(30-yycount1)*0.3));
edit2.text:=floattostr((sumsr*0.2-sumweixiu*0.4)* strtofloat(edit1.Text)*0.1);
end
else
if (edit1.Text <> '') and (strtofloat(edit1.text) <= 10) then
edit2.text:=floattostr((sumsr*0.2-sumweixiu*0.4)* strtofloat(edit1.Text)*0.1)
else edit2.Text:='';
//end;
//end;
end;
procedure Tdriverjf.readdata;
begin
with datamodule2.CardanganQ do
begin
//事故次数
close;
sql.Clear;
sql.Add('select * FROM carshigu ');
sql.add('where carnum in (SELECT carnum FROM cardangan INNER JOIN cardriver ON cardangan.driver = cardriver.name');
sql.add('where cardriver.name=:nam)');
parambyname('nam').AsString:=combobox2.Text;
open;
shigurec:=recordcount;
//违章次数
close;
sql.Clear;
sql.Add('select * FROM carweizhang ');
sql.add('where carnum in (SELECT carnum FROM cardangan INNER JOIN cardriver ON cardangan.driver = cardriver.name');
sql.add('where cardriver.name=:nam)');
parambyname('nam').AsString:=combobox2.Text;
open;
weizhangrec:=recordcount;
//运营次数
close;
sql.Clear;
sql.Add('select yunyingsr FROM caryunying ');
sql.add('where carnum in (SELECT carnum FROM cardangan INNER JOIN cardriver ON cardangan.driver = cardriver.name');
sql.add('where cardriver.name=:nam)');
parambyname('nam').AsString:=combobox2.Text;
open;
yycount1:=recordcount;
//运营总收入
close;
sql.Clear;
sql.Add('select sum(yunyingsr) FROM caryunying ');
sql.add('where carnum in (SELECT carnum FROM cardangan INNER JOIN cardriver ON cardangan.driver = cardriver.name');
sql.add('where cardriver.name=:nam)');
parambyname('nam').AsString:=combobox2.Text;
open;
sumsr:=datamodule2.CardanganQ.Fields.Fields[0].AsFloat;
close;
sql.Clear;
sql.Add('select sum(countfy) FROM carweixiu ');
sql.add('where carnum in (SELECT carnum FROM cardangan INNER JOIN cardriver ON cardangan.driver = cardriver.name');
sql.add('where cardriver.name=:nam)');
parambyname('nam').AsString:=combobox2.Text;
open;
sumweixiu:=datamodule2.CardanganQ.Fields.Fields[0].AsFloat;
close;
end;
end;
procedure TDriverJF.Edit1Change(Sender: TObject);
begin
pingfen;
end;
procedure TDriverJF.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',char(VK_BACK),'.']) then
key:=#0;
end;
procedure TDriverJF.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
key:=#0;
end;
procedure TDriverJF.Panel8MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Tpanel(sender).BevelOuter:=bvLowered;
end;
procedure TDriverJF.Panel8MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
tpanel(sender).BevelOuter:=bvSpace;
end;
procedure TDriverJF.Panel8Click(Sender: TObject);
begin
if (trim(edit1.Text) <>'') and (trim(edit2.Text) <>'') then
begin
with datamodule2.CardanganQ do
begin
close;
sql.Clear;
sql.Add('insert into driverjf.dbf (name,yunyingrec,yunyingsr,shigurec,weizhangre,weixiufy,fenshu,jiangjin)');
sql.Add(' values(:name1,:yunyingrec1,:yunyingsr1,:shigurec1,:weizhangre1,:weixiufy1,:fenshu1,:jiangjin1)');
parambyname('name1').AsString:=combobox2.Text;
parambyname('yunyingrec1').AsCurrency:=yycount1;
parambyname('yunyingsr1').Asfloat:=sumsr;
parambyname('weizhangre1').AsCurrency:=weizhangrec;
parambyname('weixiufy1').Asfloat:=sumweixiu;
parambyname('fenshu1').Asfloat:=strtofloat(edit1.Text);
parambyname('jiangjin1').Asfloat:=strtofloat(edit2.Text);
parambyname('shigurec1').AsCurrency:=shigurec;
execsql;
form7.QuickRep1.Preview;
end;
end
else showmessage('请选择驾驶员!');
with datamodule2.CardanganQ do
begin
close;
sql.Clear;
sql.Add('delete from driverjf.dbf');
execsql;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -