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

📄 frm_farenameedit.pas

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