📄 unitrecord.~pas
字号:
unit Unitrecord;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids;
type
Trecordfr = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Edit11: TEdit;
Edit12: TEdit;
DBGrid1: TDBGrid;
procedure BitBtn1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Panel2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure bitbtn8click(Sender: Tobject);
procedure EditClear;
procedure FormShow(Sender: TObject);//数据初始化
procedure EditValue;
procedure FindNext;//使下一个编辑框获得焦点
Procedure FindPrior;//使上一个编辑框获得焦点
Function IsNullEdit: Boolean;
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);//为编辑框赋值
procedure Edit1Change(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
recordfr: Trecordfr;
aa: Boolean = False ;//设置保存按钮是否可用
implementation
uses unitmodule;
{$R *.dfm}
procedure Trecordfr.BitBtn1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Screen.Cursor := -21;
TBitBtn(Sender).Font.Color := clRed;
end;
procedure Trecordfr.Panel2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Screen.Cursor := -2;
BitBtn1.Font.Color := clBlue;
BitBtn2.Font.Color := clBlue;
BitBtn3.Font.Color := clBlue;
BitBtn4.Font.Color := clBlue;
BitBtn5.Font.Color := clBlue;
BitBtn6.Font.Color := clBlue;
BitBtn7.Font.Color := clBlue;
BitBtn8.Font.Color := clBlue;
end;
procedure Trecordfr.BitBtn3Click(Sender: TObject);
var
s,m: String;
i: integer;
begin
EditClear;
aa := true;
BitBtn5.Enabled := False;
BitBtn6.Enabled := False;
Edit1.setfocus;
if edit3.text<>'' then
aa:=false;
end;
procedure Trecordfr.Edit1Change(Sender: TObject);
begin
if (Trim(Edit1.Text)<>'')and (Trim(Edit2.Text)<>'')and(Trim(Edit3.Text)<>'')and (Trim(Edit4.Text)<>'')and (Trim(Edit5.Text)<>'')and (Trim(Edit6.Text)<>'')and (Trim(Edit7.Text)<>'')and (Trim(Edit8.Text)<>'')and (Trim(Edit9.Text)<>'')and (Trim(Edit10.Text)<>'')and
(aa = True)then
BitBtn4.Enabled := True
else
BitBtn4.Enabled := False;
end;
procedure Trecordfr.BitBtn1Click(Sender: TObject);
begin
if Not DataModule2.ADOQuery11.Bof then
begin
DataModule2.ADOQuery11.Prior;
EditValue;
end
else
BitBtn1.Enabled := False;
BitBtn2.Enabled := True;
BitBtn5.Enabled := True;
BitBtn6.Enabled := True;
BitBtn4.Enabled := False;
end;
procedure Trecordfr.BitBtn2Click(Sender: TObject);
begin
if Not DataModule2.ADOQuery11.Eof then
begin
DataModule2.ADOQuery11.Next;
EditValue;
end
else
BitBtn2.Enabled := False;
BitBtn1.Enabled := True;
BitBtn5.Enabled := True;
BitBtn6.Enabled := True;
BitBtn4.Enabled := False;
end;
procedure Trecordfr.BitBtn5Click(Sender: TObject);
begin
Try
if Application.MessageBox('确实要修改该条记录吗?','提示',MB_YESNO )= ID_Yes then
begin
if IsNullEdit = False then
begin
with DataModule2.ADOQuery11 do
begin
Edit;
BitBtn4.Enabled := False;
FieldByName('发码时间').Value := Edit1.Text;
FieldByName('发码灯位').Value := Edit2.Text ;
FieldByName('发码闪灯').Value := Edit3.Text ;
FieldByName('点灯').Value := Edit4.Text;
FieldByName('应变时间').Value := Edit5.Text;
FieldByName('发码类型').Value := Edit6.Text;
FieldByName('载频频率').Value := Edit7.Text;
FieldByName('低频频率').Value := Edit8.Text;
FieldByName('机车编号').Value := Edit9.Text;
FieldByName('合格标志').Value := Edit10.Text;
FieldByName('工号').Value := Edit11.Text;
FieldByName('测试者姓名').Value := Edit12.Text;
Post;
Application.MessageBox('修改成功。','提示',0+64);
end;
end
else
begin
Application.MessageBox('数据项不能为空.','提示',64);
Exit;
end;
end
else
EditValue;
Except
Application.MessageBox('系统出错。','提示',0+64);
Close;
end;
end;
procedure Trecordfr.BitBtn6Click(Sender: TObject);
begin
BitBtn4.Enabled := False;
Try
if Application.MessageBox('确实要删除该条记录吗?','提示',MB_YESNO )= ID_Yes then
begin
with DataModule2.ADOQuery11 do
begin
Close;
SQL.Clear;
SQL.Add('delete * from 登录表 where 工号 = :a');
Parameters.ParamByName('a').Value := Trim(Edit1.Text);
ExecSQL;
end;
Application.MessageBox('该条记录已经删除。','提示',0+64);
OnShow(Sender);
end;
Except
Application.MessageBox('系统出错。','提示',0+64);
Close;
end;
end;
procedure Trecordfr.BitBtn7Click(Sender: TObject);
begin
Self.OnShow(Sender);
BitBtn4.Enabled := False;
BitBtn6.Enabled := True;
BitBtn5.Enabled := True;
BitBtn2.Enabled := True;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
end;
procedure Trecordfr.BitBtn4Click(Sender: TObject);
var
a:string;
j:integer;
begin
With DataModule2.ADOQuery11 do
begin
Close;
SQL.Clear;
SQL.Add('select * from 登录表 where 工号 = :a');
Parameters.ParamByName('a').Value := Trim(Edit1.Text);
Open;
end;
if DataModule2.ADOQuery11.RecordCount > 0 then
begin
Application.MessageBox('该信息已经存在。','提示',0+64);
Exit;
end;
Try
With DataModule2.ADOQuery11 do
begin
Close;
SQL.Clear;
SQL.Add('Insert into 登录表 values ( :a,:b,:c,:d,:e,:f,:g,:h,:i,:j,:k,:l )');
Parameters.ParamByName('a').Value := Trim(Edit1.Text);
Parameters.ParamByName('b').Value := Trim(Edit2.Text);
Parameters.ParamByName('c').Value := Trim(Edit3.Text);
Parameters.ParamByName('d').Value := Trim(edit4.Text);
Parameters.ParamByName('e').Value := Trim(Edit5.Text);
Parameters.ParamByName('f').Value := Trim(Edit6.Text);
Parameters.ParamByName('g').Value := Trim(Edit7.Text);
Parameters.ParamByName('h').Value := Trim(Edit8.Text);
Parameters.ParamByName('i').Value := Trim(Edit9.Text);
Parameters.ParamByName('j').Value := Trim(Edit10.Text);
Parameters.ParamByName('k').Value := Trim(Edit11.Text);
Parameters.ParamByName('l').Value := Trim(Edit12.Text);
ExecSQL;
end;
Application.MessageBox('保存成功。','提示',0+64);
BitBtn1.Enabled := True;
BitBtn2.Enabled := True;
self.OnShow(Sender);
Except
Application.MessageBox('系统出错。','提示',0+64);
Close;
end;
end;
procedure Trecordfr.EditClear;
begin
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
end;
procedure Trecordfr.FormShow(Sender: TObject);
begin
with DataModule2.ADOQuery11 do
begin
Close;
SQL.Clear;
SQL.Add('select * from 登录表 order by 工号 asc');
execsql;
Open;
end;
If DataModule2.ADOQuery11.FieldByName('工号').Value = null then
begin
Application.MessageBox('该表数据为空,请向该表中插入数据。','提示',0+64);
BitBtn1.Enabled := False;
BitBtn2.Enabled := False;
BitBtn5.Enabled := False;
BitBtn6.Enabled := False;
BitBtn7.Enabled := False;
end
else
editvalue;
with DataModule2.ADOQuery11 do
begin
Close;
SQL.Clear;
SQL.Add('select 发码时间,发码灯位,发码闪灯,点灯,应变时间,发码类型,载频频率,低频频率,机车编号,合格标志,工号,测试者姓名 from 登录表 order by 工号 asc');
Open;
end;
if DataModule2.ADOQuery11.RecordCount>0 then
begin
DataModule2.DataSourcerecord.DataSet := DataModule2.ADOQuery11;
end
else
DataModule2.DataSourcerecord.DataSet := Nil;
end;
procedure Trecordfr.EditValue;
var
a:string;
begin
if DataModule2.ADOQuery11.FieldByName('工号').Value <> null then
begin
Edit1.Text := DataModule2.ADOQuery11.FieldByName('工号').Value;
Edit2.Text := DataModule2.ADOQuery11.FieldByName('姓名').Value;
Edit3.Text := DataModule2.ADOQuery11.FieldByName('密码').Value;
// a:= DataModule2.ADOQuery8.FieldByName('').Value;
edit4.Text:=DataModule2.ADOQuery11.FieldByName('用户级别').value;
Edit5.Text := DataModule2.ADOQuery11.FieldByName('工号').Value;
Edit6.Text := DataModule2.ADOQuery11.FieldByName('工号').Value;
Edit7.Text := DataModule2.ADOQuery11.FieldByName('工号').Value;
Edit1.Text := DataModule2.ADOQuery11.FieldByName('工号').Value;
Edit1.Text := DataModule2.ADOQuery11.FieldByName('工号').Value;
Edit1.Text := DataModule2.ADOQuery11.FieldByName('工号').Value;
Edit1.Text := DataModule2.ADOQuery11.FieldByName('工号').Value;
Edit1.Text := DataModule2.ADOQuery11.FieldByName('工号').Value;
end
else
begin
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
edit4.Clear;
edit5.Clear;
edit6.Clear;
edit4.Clear;
edit4.Clear;
edit4.Clear;
edit4.Clear;
edit4.Clear;
edit4.Clear;
end;
end;
procedure Trecordfr.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = vk_return then
FindNext
else if key = vk_Up then
FindPrior;
end;
procedure Trecordfr.FindNext;
begin
if FindNextControl(ActiveControl,True,False,False)is TEdit then
if TEdit(FindNextControl(ActiveControl,True,False,False)).Enabled = True then
TEdit(FindNextControl(ActiveControl,True,False,False)).SetFocus
else
begin
ActiveControl := FindNextControl(ActiveControl,True,False,False);
FindNext;
end;
end;
procedure Trecordfr.FindPrior;
begin
if FindNextControl(ActiveControl,False,False,False)is TEdit then
if TEdit(FindNextControl(ActiveControl,False,False,False)).Enabled = True then
TEdit(FindNextControl(ActiveControl,False,False,False)).SetFocus
else
begin
ActiveControl := FindNextControl(ActiveControl,False,False,False);
FindPrior;
end;
end;
function Trecordfr.IsNullEdit: Boolean;
var
Count: Integer;
begin
IsNullEdit := False;
For Count := 0 to Panel1.ControlCount-1 do
if Panel1.Controls[Count]is TEdit then
if Trim(TEdit(Panel1.Controls[Count]).Text)='' then
begin
IsNullEdit := True;
Break;
end;
end;
procedure Trecordfr.bitbtn8click(Sender:TObject);
begin
inherited;
close();
end;
procedure Trecordfr.DBGrid1CellClick(Column: TColumn);
begin
if DataModule2.DataSourcerecord.DataSet<> Nil then
if DataModule2.DataSourcerecord.DataSet.RecordCount>0 then
begin
Edit1.Text := DataModule2.ADOQuery11.FieldByName('工号').AsString;
Edit2.Text := DataModule2.ADOQuery11.FieldByName('姓名').AsString;
Edit3.Text := DataModule2.ADOQuery11.FieldByName('密码').AsString;
edit4.Text:=DataModule2.ADOQuery11.FieldByName('用户级别').AsString;
Edit1.Text := DataModule2.ADOQuery11.FieldByName('工号').AsString;
Edit1.Text := DataModule2.ADOQuery11.FieldByName('工号').AsString;
Edit1.Text := DataModule2.ADOQuery11.FieldByName('工号').AsString;
Edit1.Text := DataModule2.ADOQuery11.FieldByName('工号').AsString;
Edit1.Text := DataModule2.ADOQuery11.FieldByName('工号').AsString;
Edit1.Text := DataModule2.ADOQuery11.FieldByName('工号').AsString;
Edit1.Text := DataModule2.ADOQuery11.FieldByName('工号').AsString;
Edit1.Text := DataModule2.ADOQuery11.FieldByName('工号').AsString;
BitBtn2.Enabled := True;
end;
end;
procedure Trecordfr.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Screen.Cursor := -2;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -