📄 wxgl.pas
字号:
unit WXGL;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ComCtrls;
type
TCarweixiu = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Panel5: TPanel;
Panel6: TPanel;
Panel7: TPanel;
Panel8: TPanel;
Label14: TLabel;
Panel9: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
DateTimePicker1: TDateTimePicker;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
ComboBox4: TComboBox;
Edit3: TEdit;
Edit1: TEdit;
Edit2: TEdit;
countEdit: TEdit;
GroupBox1: TGroupBox;
Memo1: TMemo;
Panel10: TPanel;
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
procedure chkedit;
procedure zeroscan;
procedure editshow(I:integer);
procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
procedure Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel1Click(Sender: TObject);
procedure Panel2Click(Sender: TObject);
procedure Panel3Click(Sender: TObject);
procedure Panel4Click(Sender: TObject);
procedure Panel8Click(Sender: TObject);
procedure Panel7Click(Sender: TObject);
procedure Panel6Click(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure Panel5Click(Sender: TObject);
procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox3KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox4KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Panel10Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Carweixiu: TCarweixiu;
insertorupdate,editreadonly:boolean;
oldcarnum: string;
olddate:Tdatetime;
oldjiage:real;
implementation
uses unit2;
{$R *.dfm}
procedure TCarweixiu.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
edit3.SetFocus
else
if not (key in ['0'..'9',Chr(vk_Back)]) then
key:=#0;
end;
procedure TCarweixiu.FormShow(Sender: TObject);
begin
combobox1.Clear;
combobox2.Clear;
combobox3.Clear;
combobox4.Clear;
insertorupdate:=true;
editreadonly:=true;
with datamodule2.carclassq do
begin
close;
sql.Clear;
sql.Add('select * from cardangan.dbf');
open;
if recordcount > 0 then
while not eof do
begin
combobox1.Items.Add(fieldbyname('carnum').AsString);
next;
end;
end;
with datamodule2.carclassq do
begin
close;
sql.Clear;
sql.Add('select * from carlingjian.dbf');
open;
if recordcount > 0 then
while not eof do
begin
combobox4.Items.Add(fieldbyname('lingjiannm').AsString);
combobox2.Items.Add(fieldbyname('lingjiannm').AsString);
combobox3.Items.Add(fieldbyname('lingjiannm').AsString);
next;
end;
end;
with datamodule2.carclassq do
begin
close;
sql.Clear;
sql.Add('select * from carweixiu.dbf');
open;
oldcarnum:=fieldbyname('carnum').AsString;
combobox1.Text:=fieldbyname('carnum').AsString;
combobox2.Text:=fieldbyname('changep1').AsString;
combobox3.Text:=fieldbyname('changep2').AsString;
combobox4.Text:=fieldbyname('changep3').AsString;
edit1.Text:=inttostr(fieldbyname('shuliang1').AsInteger);
edit2.Text:=inttostr(fieldbyname('shuliang2').AsInteger);
edit3.Text:=inttostr(fieldbyname('shuliang3').AsInteger);
countedit.Text:=floattostr(fieldbyname('countfy').AsFloat);
oldjiage:=fieldbyname('countfy').AsFloat;
datetimepicker1.DateTime:=fieldbyname('weixiudt').AsDateTime;
olddate:=fieldbyname('weixiudt').AsDateTime;
end;
chkedit;
end;
procedure Tcarweixiu.chkedit;
begin
if editreadonly then
begin
panel6.Enabled:=true;
panel6.Color:=clmoneygreen;
panel7.Enabled:=true;
panel7.Color:=clmoneygreen;
panel1.Enabled:=true;
panel1.Color:=clmoneygreen;
panel2.Enabled:=true;
panel2.Color:=clmoneygreen;
panel3.Enabled:=true;
panel3.Color:=clmoneygreen;
panel4.Enabled:=true;
panel4.Color:=clmoneygreen;
edit1.enabled:=false;
edit2.enabled:=false;
edit3.enabled:=false;
datetimepicker1.enabled:=false;
memo1.enabled:=false;
combobox1.enabled:=false;
combobox2.enabled:=false;
combobox3.enabled:=false;
combobox4.enabled:=false;
edit1.color:=clinfobk;
edit2.color:=clinfobk;
edit3.color:=clinfobk;
datetimepicker1.color:=clinfobk;
memo1.color:=clinfobk;
combobox1.color:=clinfobk;
combobox2.color:=clinfobk;
combobox3.color:=clinfobk;
combobox4.color:=clinfobk;
panel5.Caption:='添加';
end
else
begin
panel6.Enabled:=false;
panel6.Color:=clwindow;
panel1.Enabled:=false;
panel1.Color:=clwindow;
panel2.Enabled:=false;
panel2.Color:=clwindow;
panel3.Enabled:=false;
panel3.Color:=clwindow;
panel4.Enabled:=false;
panel4.Color:=clwindow;
panel7.Enabled:=false;
panel7.Color:=clwindow;
edit1.enabled:=true;
edit2.enabled:=true;
edit3.enabled:=true;
datetimepicker1.enabled:=true;
memo1.enabled:=true;
combobox1.enabled:=true;
combobox2.enabled:=true;
combobox3.enabled:=true;
combobox4.enabled:=true;
edit1.color:=clwindow;
edit2.color:=clwindow;
edit3.color:=clwindow;
datetimepicker1.color:=clwindow;
memo1.color:=clwindow;
combobox1.color:=clwindow;
combobox2.color:=clwindow;
combobox3.color:=clwindow;
combobox4.color:=clwindow;
panel5.Caption:='保存';
end;
end;
procedure TCarweixiu.DateTimePicker1KeyPress(Sender: TObject;
var Key: Char);
begin
if key=#13 then
edit1.SetFocus;
end;
procedure TCarweixiu.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Tpanel(sender).BevelOuter:=bvLowered;
end;
procedure TCarweixiu.Panel1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
tpanel(sender).BevelOuter:=bvSpace;
end;
procedure Tcarweixiu.editshow(I:integer);
begin
case I of
1: datamodule2.CarclassQ.First;
2: datamodule2.CarclassQ.Prior;
3: datamodule2.CarclassQ.next;
4: datamodule2.CarclassQ.Last;
end;
with datamodule2.CarclassQ do
begin
oldcarnum:=fieldbyname('carnum').AsString;
combobox1.Text:=fieldbyname('carnum').AsString;
combobox2.Text:=fieldbyname('changep1').AsString;
combobox3.Text:=fieldbyname('changep2').AsString;
combobox4.Text:=fieldbyname('changep3').AsString;
edit1.Text:=inttostr(fieldbyname('shuliang1').AsInteger);
edit2.Text:=inttostr(fieldbyname('shuliang2').AsInteger);
edit3.Text:=inttostr(fieldbyname('shuliang3').AsInteger);
countedit.Text:=floattostr(fieldbyname('countfy').AsFloat);
datetimepicker1.DateTime:=fieldbyname('weixiudt').AsDateTime;
olddate:=fieldbyname('weixiudt').AsDateTime;
oldjiage:=fieldbyname('countfy').AsFloat;
end;
end;
procedure TCarweixiu.Panel1Click(Sender: TObject);
begin
if not datamodule2.carclassq.Bof then
editshow(1)
else showmessage('已经是首记录了');
end;
procedure TCarweixiu.Panel2Click(Sender: TObject);
begin
if not datamodule2.carclassQ.Bof then
editshow(2)
else
showmessage('您已经在首记录了!!')
end;
procedure TCarweixiu.Panel3Click(Sender: TObject);
begin
if not datamodule2.carclassQ.Eof then
editshow(3)
else showmessage('这已经是最后一条记录');
end;
procedure TCarweixiu.Panel4Click(Sender: TObject);
begin
if not datamodule2.CarclassQ.Eof then
editshow(4)
else showmessage('已经是末记录');
end;
procedure TCarweixiu.Panel8Click(Sender: TObject);
begin
insertorupdate:=true;
editreadonly:=true;
chkedit;
carweixiu.FormShow(sender);
end;
procedure TCarweixiu.Panel7Click(Sender: TObject);
begin
if (combobox1.Text <>'') and (messagebox(carweixiu.Handle,'确定要删除吗?','提示',MB_YESNO) = ID_YES) then
begin
with datamodule2.CarclassQ do
begin
close;
sql.Clear;
sql.Add('delete from carweixiu.dbf where carnum=:carnum1 and countfy=:oldfy and weixiudt=:olddt');
parambyname('carnum1').value:=combobox1.Text;
parambyname('olddt').value:=olddate;
parambyname('oldfy').AsFloat:=oldjiage;
execsql;
end;
carweixiu.FormShow(sender);
chkedit;
end;
end;
procedure TCarweixiu.Panel6Click(Sender: TObject);
begin
if datamodule2.CarclassQ.RecordCount > 0 then
begin
insertorupdate:=false;
editreadonly:=false;
chkedit;
combobox1.Enabled:=false;
combobox2.SetFocus;
end
else showmessage('无记录');
end;
procedure TCarweixiu.ComboBox2Change(Sender: TObject);
var
jiage1,jiage2,jiage3:real;
begin
with datamodule2.CardanganQ do
begin
close;
sql.Clear;
sql.Add('select * from carlingjian.dbf where lingjiannm=:chang1');
parambyname('chang1').AsString:=combobox2.Text;
open;
jiage1:=fieldbyname('jiage').AsFloat;
close;
sql.Clear;
sql.Add('select * from carlingjian.dbf where lingjiannm=:chang2');
parambyname('chang2').AsString:=combobox3.Text;
open;
jiage2:=fieldbyname('jiage').Asfloat;
close;
sql.Clear;
sql.Add('select * from carlingjian.dbf where lingjiannm=:chang2');
parambyname('chang2').AsString:=combobox4.Text;
open;
jiage3:=fieldbyname('jiage').AsFloat;
zeroscan;
countedit.Text:=floattostr(jiage1*strtoint(edit1.Text)+jiage2*strtoint(edit2.Text)+jiage3*strtoint(edit3.Text));
end;
end;
procedure TCarweixiu.Panel5Click(Sender: TObject);
begin
if editreadonly then
begin
edit1.text:='0';
edit2.text:='0';
edit2.text:='0';
datetimepicker1.DateTime:=now;
memo1.Clear;
combobox1.ItemIndex:=0;
combobox2.ItemIndex:=0;
combobox3.ItemIndex:=0;
combobox4.ItemIndex:=0;
editreadonly:=false;
chkedit;
combobox1.SetFocus
end
else
begin
if insertorupdate then //添加
begin
if (trim(edit1.Text)='0') and (trim(edit2.Text)='0') and (trim(edit3.Text)='0') then
showmessage('没有维修请不要增加!!')
else
begin
zeroscan;
with datamodule2.CarclassQ do
begin
close;
sql.Clear;
sql.Add('insert into carweixiu.dbf');
sql.Add(' (carnum,changep1,shuliang1,changep2,shuliang2');
sql.Add(',changep3,shuliang3,weixiudt,countfy,memo)');
sql.Add(' values(:carnum1p,:changep1p,:shuliang1p,:changep2p,');
sql.Add(':shuliang2p,:changep3p,:shuliang3p,:weixiudtp,:countfyp,:memop)');
parambyname('carnum1p').AsString:=combobox1.Text;
parambyname('changep1p').AsString:=combobox2.Text;
parambyname('changep2p').AsString:=combobox3.Text;
parambyname('changep3p').AsString:=combobox4.Text;
parambyname('shuliang1p').AsCurrency:=strtoint(edit1.Text);
parambyname('shuliang2p').AsCurrency:=strtoint(edit2.Text);
parambyname('shuliang3p').AsCurrency:=strtoint(edit3.Text);
parambyname('weixiudtp').AsDateTime:=datetimepicker1.DateTime;
parambyname('countfyp').AsFloat:=strtofloat(countedit.Text);
parambyname('memop').AsString:=memo1.Text;
execsql;
end;
carweixiu.FormShow(sender);
editreadonly:=true;
chkedit;
end;
end
else
begin
if (messagebox(carweixiu.Handle,'确定要修改此记录吗','提示',MB_YESNO)=ID_YES) then
begin
zeroscan; //修改
with datamodule2.CarclassQ do
begin
close;
sql.Clear;
sql.Add('update carweixiu.dbf set');
sql.Add(' carnum=:carnum1p,changep1=:changep1p,changep3=:changep3p');
sql.Add(',shuliang1=:shuliang1p,changep2=:changep2p,shuliang2=:shuliang2p');
sql.Add(',shuliang3=:shuliang3p,weixiudt=:weixiudtp,countFY=:countFYp,memo=:memop');
sql.Add(' where carnum=(:oldname) and countfy=(:oldfy) and weixiudt=(:olddt)');
parambyname('oldname').AsString:=oldcarnum;
parambyname('olddt').value:=olddate;
parambyname('oldfy').AsFloat:=oldjiage;
parambyname('carnum1p').AsString:=combobox1.Text;
parambyname('changep1p').AsString:=combobox2.Text;
parambyname('changep2p').AsString:=combobox3.Text;
parambyname('changep3p').AsString:=combobox4.Text;
parambyname('shuliang1p').AsCurrency:=strtoint(edit1.Text);
parambyname('shuliang2p').AsCurrency:=strtoint(edit2.Text);
parambyname('shuliang3p').AsCurrency:=strtoint(edit3.Text);
parambyname('weixiudtp').AsDateTime:=datetimepicker1.DateTime;
parambyname('countfyp').AsFloat:=strtofloat(countedit.Text);
parambyname('memop').AsString:=memo1.Text;
execsql;
end;
insertorupdate:=true;
carweixiu.FormShow(sender);
editreadonly:=true;;
chkedit;
end;
end;
end;
end;
procedure Tcarweixiu.zeroscan;
begin
if trim(edit1.Text)='' then
edit1.Text:='0';
if trim(edit2.Text)='' then
edit2.Text:='0';
if trim(edit3.Text)='' then
edit3.Text:='0';
end;
procedure TCarweixiu.ComboBox2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
combobox3.SetFocus
else
key:=#0;
end;
procedure TCarweixiu.ComboBox3KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
combobox4.SetFocus
else
key:=#0;
end;
procedure TCarweixiu.ComboBox4KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
datetimepicker1.SetFocus
else
key:=#0;
end;
procedure TCarweixiu.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
combobox2.SetFocus;
end;
procedure TCarweixiu.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
edit2.SetFocus
else
if not (key in ['0'..'9',Chr(vk_Back)]) then
key:=#0;
end;
procedure TCarweixiu.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
panel5.SetFocus
else
if not (key in ['0'..'9',Chr(vk_Back)]) then
key:=#0;
end;
procedure TCarweixiu.Panel10Click(Sender: TObject);
begin
carweixiu.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -