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

📄 frm_filenogeneralruleedit.pas

📁 这是一个基于delphi平台的物流空运管理系统!
💻 PAS
字号:
unit Frm_FileNoGeneralRuleEdit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Frm_Cargo, StdCtrls, Buttons, XPMenu, DB, ADODB;

type
  TFrmFileNoGeneralRuleEdit = class(TFrmCargo)
    Label1: TLabel;
    EdtFileNoPre: TEdit;
    Label6: TLabel;
    EdtFileNoDesc: TEdit;
    Label2: TLabel;
    EdtFileNoRule: TEdit;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    Label3: TLabel;
    EdtCurrentNo: TEdit;
    Label23: TLabel;
    CmbZeroRule: TComboBox;
    Label4: TLabel;
    EdtZeroData: TEdit;
    Label5: TLabel;
    EdtRemark: TEdit;
    BtnAdd: TButton;
    BtnSave: TButton;
    BtnClose: TButton;
    QryTemp: TADOQuery;
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure BtnAddClick(Sender: TObject);
    procedure BtnSaveClick(Sender: TObject);
    procedure BtnCloseClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    IsEdit: Boolean;
    FileNoPre: string;
    { Public declarations }
  end;

var
  FrmFileNoGeneralRuleEdit: TFrmFileNoGeneralRuleEdit;

implementation

uses Frm_Main, Frm_FileNoGeneralRuleInfo;

{$R *.dfm}

procedure TFrmFileNoGeneralRuleEdit.SpeedButton1Click(Sender: TObject);
begin
  inherited;
  EdtFileNoRule.SelLength := 0;
  EdtFileNoRule.SelText := '<YYYY>';
end;

procedure TFrmFileNoGeneralRuleEdit.SpeedButton2Click(Sender: TObject);
begin
  inherited;
  EdtFileNoRule.SelLength := 0;
  EdtFileNoRule.SelText := '<YY>';
end;

procedure TFrmFileNoGeneralRuleEdit.SpeedButton3Click(Sender: TObject);
begin
  inherited;
  EdtFileNoRule.SelLength := 0;
  EdtFileNoRule.SelText := '<MM>';
end;

procedure TFrmFileNoGeneralRuleEdit.SpeedButton4Click(Sender: TObject);
begin
  inherited;
  EdtFileNoRule.SelLength := 0;
  EdtFileNoRule.SelText := '<DD>';
end;

procedure TFrmFileNoGeneralRuleEdit.SpeedButton5Click(Sender: TObject);
begin
  inherited;
  EdtFileNoRule.SelLength := 0;
  EdtFileNoRule.SelText := '<XXXX>';
end;

procedure TFrmFileNoGeneralRuleEdit.BtnAddClick(Sender: TObject);
begin
  inherited;
  EdtFileNoPre.Text := '';
  EdtFileNoDesc.Text := '';
  EdtFileNORule.Text := '';
  EdtCurrentNo.Text := '';
  CmbZeroRule.Text := '';
  EdtZeroData.Text := '';
  EdtRemark.Text := '';
  FileNoPre := '';
  IsEdit := False;
  BtnAdd.Enabled := False;
  EdtFileNoPre.SetFocus;
end;

procedure TFrmFileNoGeneralRuleEdit.BtnSaveClick(Sender: TObject);
var
  SqlStr: string;
  ArrayCount: Integer;
  ValueArray: array[0..20] of string;
  BeUpdateCode: Boolean;
begin
  if FrmMain.IncludeValue('工作号维护') then
  else
  begin
    ShowMessage('对不起,你不具有该操作的权限!');
    exit;
  end;

  if trim(EdtFileNOPre.Text) = '' then
  begin
    ShowMessage('工作号不能够为空,请输入');
    EdtFileNoPre.SetFocus;
    exit;
  end;

  if trim(EdtFileNoDesc.Text) = '' then
  begin
    ShowMessage('中文名称不能够为空,请输入');
    EdtFileNoDesc.SetFocus;
    exit;
  end;

  if trim(EdtCurrentNo.Text) = '' then
  begin
    ShowMessage('当前数值不能够为空,请输入');
    EdtCurrentNo.SetFocus;
    exit;
  end;

  if FrmMain.TestTextNumber(trim(EdtCurrentNo.Text), 'integer') then
  else
  begin
    ShowMessage('请在当前编号中输入数值类型的信息!');
    EdtCurrentNo.SetFocus;
    exit;
  end;

  if FrmMain.TestTextNumber(trim(EdtZeroData.Text), 'integer') then
  else
  begin
    ShowMessage('请在归零值中输入数值类型的信息!');
    EdtZeroData.SetFocus;
    exit;
  end;

  if trim(EdtFileNoPre.Text) <> FileNoPre then //判断主健是否存在
  begin
    if FrmMain.CheckExistCount('FileNoPre', trim(EdtFileNoPre.Text),
      'FileNoInfo') > 0 then
    begin
      ShowMessage('编号已经存在,请重新输入');
      EdtFileNoPre.SetFocus;
      exit;
    end;
  end;

  if IsEdit then
  begin
    try
      BeUpdateCode := false;
      if UpperCase(EdtFileNoPre.Text) = UpperCase(FileNoPre) then
      else
      begin
        BeUpdateCode := true;
      end;
      SqlStr := '';
      FrmMain.UpStr(SqlStr, 'FileNoInfo');
      if BeUpdateCode then
        FrmMain.UpStr(Sqlstr, 'FileNoPre', trim(EdtFileNoPre.Text), ',');
      FrmMain.UpStr(SqlStr, 'FileNoRule', trim(EdtFileNoRule.text), ',');
      FrmMain.UpStr(SqlStr, 'FileNoDesc', trim(EdtFileNoDesc.text), ',');
      FrmMain.UpStr(SqlStr, 'CurrentNo', Strtoint(trim(EdtCurrentNO.text)),
        ',');
      FrmMain.UpStr(SqlStr, 'ZeroRule', trim(CmbZeroRule.Text), ',');
      FrmMain.UpStr(SqlStr, 'ZeroData', StrtoInt(trim(EdtZeroData.Text)), ',');
      FrmMain.UpStr(SqlStr, 'Remark', trim(EdtRemark.text), '');
      FrmMain.UpStr(SqlStr, 'FileNoPre=', FileNoPre, 'w');
      if FrmMain.ExecSQL(SqlStr) then
      else
      begin
        ShowMessage('更新代码记录失败,请检查!');
        exit;
      end;
      FileNoPre := EdtFileNoPre.Text;
      ValueArray[0] := EdtFileNoPre.Text;
      ValueArray[1] := EdtFileNoRule.Text;
      ValueArray[2] := EdtFileNoDesc.Text;
      ValueArray[3] := EdtCurrentNo.Text;
      ValueArray[4] := CmbZeroRule.Text;
      ValueArray[5] := EdtZeroData.Text;
      ValueArray[6] := EdtRemark.Text;

      ArrayCount := 6;
      FrmMain.RefeshOne(ValueArray, ArrayCount, FrmFileNoGeneralRuleInfo.lv);
    except
      ShowMessage('更新代码记录失败,请检查!');
      exit;
    end;
  end
  else
  begin
    try
      SqlStr := 'Insert Into FileNoInfo(FileNoPre,FileNoRule,' +
        'FileNoDesc,CurrentNo,ZeroRule,ZeroData,CurrentDate,Remark) values(';
      FrmMain.InsStr(SqlStr, trim(EdtFileNoPre.Text), ',');
      FrmMain.InsStr(SqlStr, trim(EdtFileNoRule.text), ',');
      FrmMain.InsStr(SqlStr, trim(EdtFileNoDesc.text), ',');
      FrmMain.InsStr(SqlStr, StrtoInt(trim(EdtCurrentNo.Text)), ',');
      FrmMain.InsStr(SqlStr, trim(CmbZeroRule.Text), ',');
      FrmMain.InsStr(SqlStr, StrtoInt(trim(EdtZeroData.Text)), ',');
      FrmMain.InsStr(SqlStr, DateToStr(Int(Date)), ',');
      FrmMain.InsStr(SqlStr, trim(EdtRemark.text), '');
      if FrmMain.ExecSQL(SqlStr) then
      else
      begin
        ShowMessage('插入记录失败,请检查!');
        exit;
      end;
      IsEdit := true;
      BtnAdd.Enabled := True;
      FileNoPre := EdtFileNoPre.Text;

      ValueArray[0] := EdtFileNoPre.Text;
      ValueArray[1] := EdtFileNoRule.Text;
      ValueArray[2] := EdtFileNoDesc.Text;
      ValueArray[3] := EdtCurrentNo.Text;
      ValueArray[4] := CmbZeroRule.Text;
      ValueArray[5] := EdtZeroData.Text;
      ValueArray[6] := EdtRemark.Text;

      ArrayCount := 6;
      FrmMain.AddListView(ValueArray, ArrayCount, FrmFileNoGeneralRuleInfo.lv);
    except
      ShowMessage('插入记录失败,请检查!');
      exit;
    end;
  end;
end;

procedure TFrmFileNoGeneralRuleEdit.BtnCloseClick(Sender: TObject);
begin
  inherited;
  Close;
end;

procedure TFrmFileNoGeneralRuleEdit.FormActivate(Sender: TObject);
var
  I: Integer;
begin
  inherited;
  EdtFileNoPre.SetFocus;
  CmbZeroRule.ItemIndex := 0;
  if IsEdit then
  begin
    with FrmFileNoGeneralRuleInfo do
    begin
      try
        with QryTemp do
        begin
          Close;
          Sql.Clear;
          Sql.Text := 'Select FileNoPre,FileNoRule,FileNoDesc,CurrentNo,ZeroRule,ZeroData,Remark from FileNoInfo where FileNoPre=''' + LV.Selected.Caption + '''';
          Open;
          EdtFileNoPre.Text := FieldByName('FileNoPre').AsString;
          EdtFileNoRule.Text := FieldByName('FileNoRule').AsString;
          EdtFileNoDesc.Text := FieldByName('FileNoDesc').AsString;
          EdtCurrentNo.Text :=  FieldByName('CurrentNo').AsString;
          for i := 0 to CmbZeroRule.Items.Count - 1 do
          begin
            if FieldBYName('ZeroRule').AsString = CmbZeroRule.Items[i] then
              CmbZeroRule.ItemIndex := i;
          end;
          EdtZeroData.Text := FieldByName('ZeroData').AsString;
          EdtRemark.Text := FieldByName('Remark').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 + -