📄 frm_farenameedit.pas
字号:
unit Frm_FareNameEdit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Frm_Cargo, XPMenu, StdCtrls, CoolCtrls, DB, ADODB;
type
TFrmFareNameEdit = class(TFrmCargo)
Label1: TLabel;
EdtFareCode: TEdit;
Label4: TLabel;
EdtFareName: TEdit;
Label2: TLabel;
EdtFareCName: TEdit;
ChkImport: TCoolCheckRadioBox;
ChkExport: TCoolCheckRadioBox;
Label5: TLabel;
EdtRemark: TEdit;
BtnAdd: TButton;
BtnSave: TButton;
BtnClose: TButton;
QryTemp: TADOQuery;
procedure BtnAddClick(Sender: TObject);
procedure BtnSaveClick(Sender: TObject);
procedure BtnCloseClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
IsEdit: Boolean;
FareNameCode: string;
{ Public declarations }
end;
var
FrmFareNameEdit: TFrmFareNameEdit;
implementation
uses Frm_Main, Frm_FareNameInfo;
{$R *.dfm}
procedure TFrmFareNameEdit.BtnAddClick(Sender: TObject);
begin
inherited;
EdtFareCode.Text := '';
EdtFareName.Text := '';
EdtFareCName.Text := '';
ChkImport.Checked := False;
ChkExport.Checked := False;
EdtRemark.Text := '';
FareNameCode := '';
BtnAdd.Enabled := False;
IsEdit := False;
EdtFareCode.SetFocus;
end;
procedure TFrmFareNameEdit.BtnSaveClick(Sender: TObject);
var
SqlStr: string;
BeUpdateCode: Boolean;
OutIn: string;
ArrayCount: Integer;
ValueArray: array[0..20] of string;
begin
if FrmMain.IncludeValue('普通代码维护') then
else
begin
ShowMessage('对不起,你不具有该操作的权限!');
exit;
end;
if trim(EdtFareCode.Text) = '' then
begin
ShowMessage('代码不能够为空,请输入');
exit;
end;
if EdtFareCode.Text <> FareNameCode then //是否输入了相同的主健
begin
QryTemp.Close;
QryTemp.SQL.Text := 'Select * From FareNameInfo where FareCode=''' +
EdtFareCode.Text + '''';
QryTemp.Open;
if FrmMain.RecordCount(QryTemp) > 0 then
begin
ShowMessage('代码已存在,请重新输入');
EdtFareCode.SetFocus;
exit;
end;
end;
OutIn := '';
if ChkImport.Checked then
OutIn := OutIn + '进口';
if ChkExport.Checked then
begin
if OutIn = '' then
OutIn := OutIn + '出口'
else
OutIn := OutIn + #9 + '出口';
end;
if IsEdit then
begin
try
BeUpdateCode := false;
if UpperCase(trim(EdtFareCode.Text)) = UpperCase(FareNameCode) then
else
begin
BeUpdateCode := true;
end;
SqlStr := '';
FrmMain.UpStr(SqlStr, 'FareNameInfo');
if BeUpdateCode then
FrmMain.UpStr(SqlStr, 'FareCode', trim(EdtFareCode.text), ',');
FrmMain.UpStr(SqlStr, 'FareName', trim(EdtFareName.text), ',');
FrmMain.UpStr(SqlStr, 'FareCName', trim(EdtFareCName.text), ',');
FrmMain.UpStr(SqlStr, 'OutIn', trim(OutIn), ',');
FrmMain.UpStr(SqlStr, 'Remark', trim(EdtRemark.text), '');
FrmMain.UpStr(SqlStr, 'FareCode=', FareNameCode, 'w');
if FrmMain.ExecSQL(SqlStr) then
else
begin
ShowMessage('更新代码记录失败,请检查!');
exit;
end;
FareNameCode := EdtFareCode.Text;
ValueArray[0] := EdtFareCode.Text;
ValueArray[1] := EdtFareName.Text;
ValueArray[2] := EdtFareCName.Text;
ValueArray[3] := OutIn;
ValueArray[4] := EdtRemark.Text;
ArrayCount := 4;
FrmMain.RefeshOne(ValueArray, ArrayCount, FrmFareNameInfo.lv);
FrmMain.UseDB.CommitTrans;
except
ShowMessage('更新代码记录失败,请检查!');
exit;
end;
end
else
begin
try
SqlStr :=
'Insert Into FareNameInfo(FareCode,FareName,FareCName,OutIn,Remark) values(';
FrmMain.InsStr(SqlStr, trim(EdtFareCode.text), ',');
FrmMain.InsStr(SqlStr, trim(EdtFareName.text), ',');
FrmMain.InsStr(SqlStr, trim(EdtFareCName.text), ',');
FrmMain.InsStr(SqlStr, trim(OutIn), ',');
FrmMain.InsStr(SqlStr, trim(EdtRemark.text), '');
if FrmMain.ExecSQL(SqlStr) then
else
begin
ShowMessage('插入记录失败,请检查!');
exit;
end;
IsEdit := true;
BtnAdd.Enabled := True;
ValueArray[0] := EdtFareCode.Text;
ValueArray[1] := EdtFareName.Text;
ValueArray[2] := EdtFareCName.Text;
ValueArray[3] := OutIn;
ValueArray[4] := EdtRemark.Text;
ArrayCount := 4;
FrmMain.AddListView(ValueArray, ArrayCount, FrmFareNameInfo.lv);
FareNameCode := EdtFareCode.Text;
except
ShowMessage('插入记录失败,请检查!');
exit;
end;
end;
end;
procedure TFrmFareNameEdit.BtnCloseClick(Sender: TObject);
begin
inherited;
Close;
end;
procedure TFrmFareNameEdit.FormActivate(Sender: TObject);
var
I: Integer;
begin
inherited;
EdtFareCode.SetFocus;
if IsEdit then
begin
with FrmFareNameInfo do
begin
try
with QryTemp do
begin
close;
Sql.Clear;
Sql.Text := 'Select FareCode,FareName,FareCName,OutIn,Remark From FareNameInfo '
+ 'where FareCode=''' + LV.Selected.Caption + '''';
Open;
EdtFareCode.Text := FieldByName('FareCode').AsString;
EdtFareName.Text := FieldByname('FareName').AsString;
EdtFareCName.Text := FieldByname('FareCName').AsString;
ChkImport.Checked := False;
ChkExport.Checked := False;
if FieldByName('OutIn').AsString = '进口' + #9 + '出口' then
begin
ChkImport.Checked := True;
ChkExport.Checked := True;
end;
if FieldByName('OutIn').AsString = '进口' then
ChkImport.Checked := True;
if FieldByName('OutIn').AsString = '出口' then
ChkExport.Checked := True;
EdtRemark.Text := FieldByName('Remark').AsString;
FareNameCode := FieldByName('FareCode').AsString;
end;
except
if QryTemp.Active then QryTemp.Close;
ShowMessage('运行错误,返回!');
Exit;
end;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -