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

📄 wzlb.pas

📁 物资管理系统 包括屋子入库出库管理
💻 PAS
字号:
unit WZLB;

interface

uses
  Windows, SysUtils, Variants, Classes, Controls, Forms, Dialogs, StdCtrls,
  WZGLCommon, ComCtrls, DB, ADODB;

type
  TWZLBForm = class(TForm)
    btClose: TButton;
    tvLb: TTreeView;
    btNew: TButton;
    btNewSub: TButton;
    btDel: TButton;
    adotWzlb: TADOTable;
    adoqWzzd: TADOQuery;
    procedure FormCreate(Sender: TObject);
    procedure btNewClick(Sender: TObject);
    procedure btNewSubClick(Sender: TObject);
    procedure btDelClick(Sender: TObject);
    procedure tvLbEdited(Sender: TObject; Node: TTreeNode; var S: String);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
    FMaxID: Integer;
  public
    { Public declarations }
  end;

implementation

{$R *.dfm}

procedure TWZLBForm.FormCreate(Sender: TObject);
begin
// 初始化Treeview
  with adotWzlb do
  begin
    Connection := AdoWzgl;
    Open;
    FillTreeView(tvLb, adotWzlb, 'ID', 'PID', 'LBMC');
    
    adotWzlb.Sort := 'ID DESC';
    FMaxID := FieldByName('ID').AsInteger;
    adotWzlb.Sort := '';
  end;
end;

procedure TWZLBForm.btNewClick(Sender: TObject);
begin
  with adotWzLb, tvLb do
  begin
    if Items.Count > 0 then
    begin
      Append;
      FMaxID := FMaxID + 1;
      FieldValues['ID'] := FMaxID;
      with Selected do
        if Level <> 0 then
          FieldValues['PID'] := Integer(Parent.Data)
        else
          FieldValues['PID'] := 0;
      Selected := Items.AddObject(Selected, '新类别' + IntToStr(FMaxID),
        Pointer(FieldByName('ID').AsInteger));
    end
    else begin
      Append;
      FMaxID := 1;
      FieldValues['ID'] := FMaxID;
      FieldValues['PID'] := 0;
      Selected := Items.AddObject(nil, '新类别' + IntToStr(FMaxID),
        Pointer(FieldByName('ID').AsInteger));
    end;
    FieldValues['LBMC'] := '新类别' + IntToStr(FMaxID);
    Post;
    Selected.EditText;
  end;
end;

procedure TWZLBForm.btNewSubClick(Sender: TObject);
begin
  with adotWzlb, tvLb do
  begin
    Append;
    FMaxID := FMaxID + 1;
    FieldValues['ID'] := FMaxID;
    FieldValues['PID'] := Integer(Selected.Data);
    FieldValues['LBMC'] := '新类别' + IntToStr(FMaxID);
    Post;

    Selected := Items.AddChildObject(Selected, '新类别' + IntToStr(FMaxID),
      Pointer(FieldByName('ID').AsInteger));
    Selected.EditText;
  end;
end;

procedure TWZLBForm.btDelClick(Sender: TObject);
begin
  if Application.MessageBox('是否删除类别?', '确认', 1) = 1 then
  begin
    if tvLb.Selected.HasChildren then
    begin
      Showmessage('该类别包含子类别,不能删除!');
      Exit;
    end
    else
      with adoqWzzd do
      begin
        Connection := AdoWzgl;
        Close;
        SQL.Text := 'Select * from Wzzd where ID = ' +
          IntTostr(Integer(tvLb.Selected.Data));
        Open;
        if Recordcount > 0 then
        begin
          Showmessage('该类别下包含物资,不能删除!');
          Exit;
        end
        else
          if adotWzlb.Locate('ID', Integer(tvLb.Selected.Data), []) then
          begin
            adotWzlb.Delete;
            tvLB.Items.Delete(tvLB.Selected);
          end;
    end;
  end;
end;

procedure TWZLBForm.tvLbEdited(Sender: TObject; Node: TTreeNode;
  var S: String);
begin
  with adotWzlb do
  begin
    if Locate('ID', Integer(tvLb.Selected.Data), []) then
    begin
      Edit;
      FieldByName('LBMC').AsString := S;
      Post;
    end;
  end;
end;

procedure TWZLBForm.FormDestroy(Sender: TObject);
begin
  if adotWzlb.Active then adotWzlb.Close;
  if adoqWzzd.Active then adoqWzzd.Close;
end;

end.

⌨️ 快捷键说明

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