📄 frm_stationedit.pas
字号:
unit Frm_StationEdit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Frm_Cargo, StdCtrls, XPMenu, DB, ADODB;
type
TFrmStationEdit = class(TFrmCargo)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label12: TLabel;
Label5: TLabel;
Label4: TLabel;
Label6: TLabel;
Label7: TLabel;
EdtCode: TEdit;
EdtName: TEdit;
EdtCName: TEdit;
CmbCompanyName: TComboBox;
EdtRelation: TEdit;
EdtRemark: TEdit;
EdtStyle: TEdit;
EdtAddress: TEdit;
BtnAdd: TButton;
BtnSave: TButton;
BtnClose: TButton;
QryTemp: TADOQuery;
procedure BtnAddClick(Sender: TObject);
procedure BtnSaveClick(Sender: TObject);
procedure BtnCloseClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
IsEdit: Boolean;
StationCode: string;
{ Public declarations }
end;
var
FrmStationEdit: TFrmStationEdit;
implementation
uses Frm_Main, Frm_StationInfo;
{$R *.dfm}
procedure TFrmStationEdit.BtnAddClick(Sender: TObject);
begin
inherited;
EdtCode.Text := '';
EdtName.Text := '';
EdtCname.Text := '';
EdtAddress.Text := '';
EdtRelation.Text := '';
EdtStyle.Text := '';
CmbCompanyName.Text := '';
StationCode := '';
EdtRemark.Text := '';
BtnAdd.Enabled := False;
IsEdit := False;
EdtCode.SetFocus;
end;
procedure TFrmStationEdit.BtnSaveClick(Sender: TObject);
var
SqlStr: string;
ArrayCount: Integer;
BeUpdateCode: Boolean;
I: 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 <> StationCode then //是否输入了相同的主健
begin
QryTemp.Close;
QryTemp.SQL.Text := 'Select * From Station where Code=''' +
EdtCode.Text + '''';
QryTemp.Open;
if FrmMain.RecordCount(QryTemp) > 0 then
begin
ShowMessage('代码已存在,请重新输入');
EdtCode.SetFocus;
exit;
end;
end;
if IsEdit then
begin
try
BeUpdateCode := false;
if UpperCase(Trim(EdtCode.Text)) = UpperCase(StationCode) then
else
begin
BeUpdateCode := true;
end;
SqlStr := '';
FrmMain.UpStr(SqlStr, 'Station');
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, 'Address', Trim(EdtAddress.text), ',');
FrmMain.UpStr(SqlStr, 'Relation', trim(EdtRelation.text), ',');
FrmMain.UpStr(SqlStr, 'Style', trim(EdtStyle.text), ',');
FrmMain.UpStr(SqlStr, 'CompanyName', trim(CmbCompanyName.Text), ',');
FrmMain.UpStr(SqlStr, 'Remark', Trim(EdtRemark.text), '');
FrmMain.UpStr(SqlStr, 'Code=', StationCode, 'w');
if FrmMain.ExecSQL(SqlStr) then
else
begin
ShowMessage('更新代码记录失败,请检查!');
exit;
end;
StationCode := EdtCode.Text;
ValueArray[0]:=EdtCode.Text;
ValueArray[1]:=EdtName.Text;
ValueArray[2]:=EdtCName.Text;
ValueArray[3]:=EdtAddress.Text;
ValueArray[4]:=EdtRelation.Text;
ValueArray[5]:=EdtStyle.Text;
ValueArray[6]:=CmbCompanyName.Text;
ValueArray[7]:=EdtRemark.Text;
ArrayCount := 7;
FrmMain.RefeshOne(ValueArray, ArrayCount, FrmStationInfo.lv);
FrmMain.UseDB.CommitTrans;
except
ShowMessage('更新代码记录失败,请检查!');
exit;
end;
end
else
begin
try
SqlStr := 'Insert Into Station(Code,Name,CName,Address,Relation,Style,CompanyName,Remark) values(';
FrmMain.InsStr(SqlStr, trim(EdtCode.text), ',');
FrmMain.InsStr(SqlStr, trim(EdtName.text), ',');
FrmMain.InsStr(SqlStr, trim(EdtCName.text), ',');
FrmMain.InsStr(SqlStr, trim(EdtAddress.text), ',');
FrmMain.InsStr(SqlStr, trim(EdtRelation.text), ',');
FrmMain.InsStr(SqlStr, trim(EdtStyle.text), ',');
FrmMain.InsStr(SqlStr, trim(CmbCompanyName.Text), ',');
FrmMain.InsStr(SqlStr, trim(EdtRemark.text), '');
if FrmMain.ExecSQL(SqlStr) then
else
begin
ShowMessage('插入记录失败,请检查!');
exit;
end;
IsEdit := true;
BtnAdd.Enabled := True;
StationCode := EdtCode.Text;
ValueArray[0]:=EdtCode.Text;
ValueArray[1]:=EdtName.Text;
ValueArray[2]:=EdtCName.Text;
ValueArray[3]:=EdtAddress.Text;
ValueArray[4]:=EdtRelation.Text;
ValueArray[5]:=EdtStyle.Text;
ValueArray[6]:=CmbCompanyName.Text;
ValueArray[7]:=EdtRemark.Text;
ArrayCount := 7;
FrmMain.AddListView(ValueArray, ArrayCount, FrmStationInfo.lv);
except
ShowMessage('插入记录失败,请检查!');
exit;
end;
end;
if CmbCompanyName.Text <> '' then
begin
for i := 0 to CmbCompanyName.Items.Count - 1 do
begin
if CmbCompanyName.Text = CmbCompanyName.Items[i] then
Exit;
end;
CmbCompanyName.Items.Add(CmbCompanyName.Text);
CmbCompanyName.Refresh;
end;
end;
procedure TFrmStationEdit.BtnCloseClick(Sender: TObject);
begin
inherited;
Close;
end;
procedure TFrmStationEdit.FormDestroy(Sender: TObject);
begin
inherited;
FrmStationEdit:=nil;
end;
procedure TFrmStationEdit.FormActivate(Sender: TObject);
var
SqlStr: string;
begin
inherited;
if IsEdit then
begin
with FrmStationInfo do
begin
try
with QryTemp do
begin
close;
Sql.Clear;
Sql.Text := 'Select Code,Name,CName,Address,Relation,Style,'
+ 'CompanyName,Remark from Station where Code=''' + StationCode + '''';
Open;
EdtCode.Text := FieldByName('Code').AsString;
EdtName.Text := FieldByName('Name').AsString;
EdtCName.Text := FieldByName('CName').AsString;
EdtAddress.Text := FieldByName('Address').AsString;
EdtRelation.Text := FieldByName('Relation').AsString;
EdtStyle.Text := FieldByName('Style').AsString;
CmbCompanyName.Text := FieldByName('CompanyName').AsString;
EdtRemark.Text := FieldByName('Remark').AsString;
end;
except
if QryTemp.Active then QryTemp.Close;
ShowMessage('运行错误,返回!');
Exit;
end;
end;
end;
end;
procedure TFrmStationEdit.FormCreate(Sender: TObject);
var
SqlStr:String;
begin
inherited;
EdtCode.SetFocus;
SqlStr := 'Select distinct CompanyName from Station where CompanyName<>''''';
FrmMain.Full_FilterCombobox(CmbCompanyName, Sqlstr, 'CompanyName');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -