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

📄 edit_depot.pas

📁 商场管理系统源码 一套值得初学者学习的源码包含全部源码,控件
💻 PAS
字号:
unit EDIT_DEPOT;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, FRMBASSDIALOGS, TFlatListBoxUnit, StdCtrls, TFlatEditUnit,
  TFlatPanelUnit, ComCtrls, MenuBar, ToolWin, DsFancyButton, ExtCtrls,myself,
  DB, DBTables,frmmain;

type
  TFrm_edit_depot = class(TFrm_bassDialogs)
    FlatPanel_edit: TFlatPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label4: TLabel;
    Label6: TLabel;
    E_name: TFlatEdit;
    E_id: TFlatEdit;
    E_type: TFlatEdit;
    E_memo: TFlatEdit;
    LB_type: TFlatListBox;
    Query_data: TQuery;
    procedure E_nameKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure E_nameExit(Sender: TObject);
    procedure E_idExit(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure OKBtnClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure E_typeEnter(Sender: TObject);
    procedure LB_typeClick(Sender: TObject);
  private
    { Private declarations }
  public
    P_state:integer;
    { Public declarations }
  end;

var
  Frm_edit_depot: TFrm_edit_depot;

implementation

{$R *.dfm}

procedure TFrm_edit_depot.E_nameKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
   if (key=13) or (key=40) then { 判断是按执行键}
   Begin 
      key:=0;
      perform(WM_NEXTDLGCTL,0,0);{移动到下一个控件}
   end;
end;

procedure TFrm_edit_depot.E_nameExit(Sender: TObject);
begin
  inherited;
  if P_state=0 then
     E_id.Text :=getstringpy(trim(E_name.Text));

end;

procedure TFrm_edit_depot.E_idExit(Sender: TObject);
begin
  inherited;
   if trim(E_id.Text) ='' then
      E_id.Text :=Nowindex;

end;

procedure TFrm_edit_depot.FormCreate(Sender: TObject);
begin
  inherited;
   query_data.DatabaseName :=HWSHOPDATA;
   P_state:=1;  //0-增加  1-修改
   LB_type.ItemIndex :=0;

end;

procedure TFrm_edit_depot.OKBtnClick(Sender: TObject);
begin
  inherited;
   if trim(E_name.Text)='' then
   begin
      messagedlg(Errormsg0002+'0002',mtError,[mbok],0);
      E_name.SetFocus ;
      exit;
   end;
   if trim(E_ID.Text)='' then
   begin
      messagedlg(Errormsg0002+'0003',mtError,[mbok],0);
      E_id.SetFocus ;
      exit;
   end;
   if P_state=0 then //增加数据
   begin
      with query_data do
      begin
         close;
         sql.Clear ;
         sql.Text :='select * from depot where id="'+uppercase(E_id.Text)+'"';
         try
            open;
         except
            messagedlg(Errormsg0001+'0010',mtError,[mbok],0);
            close;
            self.Close ;
         end;
         if RecordCount > 0 then   //编号已存在
         begin
            messagedlg(Errormsg0003+'0004',mtError,[mbok],0);
            E_id.SetFocus ;
            close;
            exit;
         end
         else     //编号不存在则增加
         begin
            close;
            sql.Clear ;
            sql.Text :='insert into depot (name,id,type,memo)'+
                      'values ("'+E_name.Text +'","'+uppercase(E_id.Text)
                      +'","'+E_type.Text +'","'+E_memo.Text +'")';
            try
               execsql;
            except
               messagedlg(Errormsg0004+'0011',mtError,[mbok],0);
               close;
               self.Close ;
            end;
         end;
         messagedlg(Infmsg0001,mtInformation,[mbok],0);
         close;
         self.Close ;
      end;
   end
   else if P_state=1 then //修改数据
   begin
      with query_data do
      begin
         close;
         sql.Clear ;
         sql.Text :='update depot set name="'+E_name.Text +'",type="'+E_type.Text
                        +'",memo="'+E_memo.Text +'" where id="'+E_id.text+'"';
         try
            execsql;
         except
            messagedlg(Errormsg0004+'0011',mtError,[mbok],0);
            close;
            self.Close ;
         end;
         messagedlg(Infmsg0003,mtInformation,[mbok],0);
         close;
         self.Close ;
      end;
   end;

end;

procedure TFrm_edit_depot.FormShow(Sender: TObject);
begin
  inherited;
  if P_state=1 then
  begin
     E_id.ReadOnly :=true;
  end
  else
     E_id.ReadOnly :=false;

end;

procedure TFrm_edit_depot.E_typeEnter(Sender: TObject);
begin
  inherited;
   LB_type.Visible :=true;
   LB_type.SetFocus ;
end;

procedure TFrm_edit_depot.LB_typeClick(Sender: TObject);
begin
  inherited;
   if (LB_type.ItemIndex <0) or (LB_type.ItemIndex >2) then exit;
   E_type.Text :=LB_type.Items.Strings[LB_type.ItemIndex];
   E_memo.SetFocus ;
   LB_type.Visible :=false;

end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -