📄 frm_currencyedit.pas
字号:
unit Frm_CurrencyEdit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Frm_Cargo, XPMenu, StdCtrls, ComCtrls, DB, ADODB;
type
TFrmCurrencyEdit = class(TFrmCargo)
Label1: TLabel;
EdtCode: TEdit;
Label2: TLabel;
EdtName: TEdit;
Label3: TLabel;
EdtCName: TEdit;
Label12: TLabel;
EdtRate: TEdit;
Label5: TLabel;
DptDoDate: TDateTimePicker;
Label4: TLabel;
EdtRemark: TEdit;
BtnAdd: TButton;
BtnSave: TButton;
BtnClose: TButton;
Qrytemp: TADOQuery;
procedure FormActivate(Sender: TObject);
procedure BtnAddClick(Sender: TObject);
procedure BtnSaveClick(Sender: TObject);
procedure BtnCloseClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
IsEdit: Boolean;
CurrencyCode: string;
{ Public declarations }
end;
var
FrmCurrencyEdit: TFrmCurrencyEdit;
implementation
uses Frm_CurrencyInfo, Frm_Main;
{$R *.dfm}
procedure TFrmCurrencyEdit.FormActivate(Sender: TObject);
begin
inherited;
EdtCode.SetFocus;
DptDoDate.DateTime := Now;
if IsEdit then
begin
with FrmCurrencyInfo do
begin
try
with QryTemp do
begin
Close;
Sql.Clear;
Sql.Text :=
'Select Code,name,Cname,Rate,DoDate,Remark From Currency where Code=''' + CurrencyCode
+ '''';
Open;
EdtCode.Text := FieldByName('Code').AsString;
EdtName.Text := FieldByName('Name').AsString;
EdtCName.Text := FieldByName('CName').AsString;
EdtRate.Text := FieldByName('Rate').AsString;
if FieldByName('DoDate').AsString = '' then
DptDoDate.DateTime := Now
else
DptDoDate.Date := StrToDate(FieldByName('DoDate').AsString);
EdtRemark.Text := FieldByName('Remark').AsString;
end;
except
if QryTemp.Active then QryTemp.Close;
ShowMessage('运行错误,返回!');
Exit;
end;
end;
end;
end;
procedure TFrmCurrencyEdit.BtnAddClick(Sender: TObject);
begin
inherited;
EdtCode.Text := '';
EdtName.Text := '';
EdtCName.Text := '';
EdtRate.Text := '';
DptDoDate.DateTime := Now;
;
EdtRemark.Text := '';
CurrencyCode := '';
BtnAdd.Enabled := False;
IsEdit := False;
EdtCode.SetFocus;
end;
procedure TFrmCurrencyEdit.BtnSaveClick(Sender: TObject);
var
SqlStr: string;
BeUpdateCode: Boolean;
ArrayCount: Integer;
ValueArray: array[0..20] of string;
begin
if FrmMain.IncludeValue('币种维护') then
else
begin
ShowMessage('对不起,你不具有该操作的权限!');
exit;
end;
if trim(EdtCode.Text) = '' then
begin
ShowMessage('代码不能够为空,请输入');
exit;
end;
if EdtCode.Text <> CurrencyCode then //是否输入了相同的主健
begin
QryTemp.Close;
QryTemp.SQL.Text := 'Select * From Currency where Code=''' +
EdtCode.Text + '''';
QryTemp.Open;
if FrmMain.RecordCount(QryTemp) > 0 then
begin
Showmessage('代码已存在,请重新输入');
EdtCode.SetFocus;
exit;
end;
end;
if FrmMain.TestTextNumber(trim(EdtRate.Text), 'real') then
else
begin
ShowMessage('请在费率中输入数值类型的信息!');
EdtRate.SetFocus;
exit;
end;
if IsEdit then
begin
try
BeUpdateCode := false;
if UpperCase(trim(EdtCode.Text)) = UpperCase(CurrencyCode) then
else
begin
BeUpdateCode := true;
end;
SqlStr := '';
FrmMain.UpStr(SqlStr, 'Currency');
if BeUpdateCode then
FrmMain.UpStr(SqlStr, 'Code', trim(EdtCode.text), ',');
FrmMain.UpStr(SqlStr, 'Name', trim(EdtName.text), ',');
FrmMain.UpStr(SqlStr, 'CName', trim(EdtCName.text), ',');
FrmMain.UpStr(SqlStr, 'Rate', StrtoFloat(trim(EdtRate.text)), ',');
FrmMain.UpStr(SqlStr, 'DoDate', DateToStr(int(DptDoDate.Date)), ',');
FrmMain.UpStr(SqlStr, 'Remark', trim(EdtRemark.text), '');
FrmMain.UpStr(SqlStr, 'Code=', CurrencyCode, 'w');
if FrmMain.ExecSQL(SqlStr) then
else
begin
ShowMessage('更新代码记录失败,请检查!');
exit;
end;
CurrencyCode := EdtCode.Text;
ValueArray[0] := EdtCode.Text;
ValueArray[1] := EdtName.Text;
ValueArray[2] := EdtCName.Text;
ValueArray[3] := EdtRate.Text;
ValueArray[4] := DateToStr(int(DptDoDate.Date));
ValueArray[5] := EdtRemark.Text;
ArrayCount := 5;
FrmMain.RefeshOne(ValueArray, ArrayCount, FrmCurrencyInfo.lv);
except
ShowMessage('更新代码记录失败,请检查!');
exit;
end;
end
else
begin
try
SqlStr :=
'Insert Into Currency(Code,Name,CName,Rate,DoDate,Remark) values(';
FrmMain.InsStr(SqlStr, trim(EdtCode.text), ',');
FrmMain.InsStr(SqlStr, trim(EdtName.text), ',');
FrmMain.InsStr(SqlStr, trim(EdtCName.text), ',');
FrmMain.InsStr(SqlStr, strtoFloat(trim(EdtRate.text)), ',');
FrmMain.InsStr(SqlStr, DateToStr(int(DptDoDate.Date)), ',');
FrmMain.InsStr(SqlStr, trim(EdtRemark.text), '');
if FrmMain.ExecSQL(SqlStr) then
else
begin
ShowMessage('插入记录失败,请检查!');
exit;
end;
IsEdit := true;
BtnAdd.Enabled := True;
ValueArray[0] := EdtCode.Text;
ValueArray[1] := EdtName.Text;
ValueArray[2] := EdtCName.Text;
ValueArray[3] := EdtRate.Text;
ValueArray[4] := DateToStr(int(DptDoDate.Date));
ValueArray[5] := EdtRemark.Text;
FrmMain.AddListView(ValueArray, ArrayCount, FrmCurrencyInfo.lv);
ArrayCount := 5;
CurrencyCode := EdtCode.Text;
except
ShowMessage('插入记录失败,请检查!');
exit;
end;
end;
end;
procedure TFrmCurrencyEdit.BtnCloseClick(Sender: TObject);
begin
inherited;
Close;
end;
procedure TFrmCurrencyEdit.FormDestroy(Sender: TObject);
begin
inherited;
FrmCurrencyEdit:=nil;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -