⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frm_stationedit.pas

📁 这是一个基于delphi平台的物流空运管理系统!
💻 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 + -