gxtjfrm.pas

来自「本人编写的有关军队营房工作的管理系统」· PAS 代码 · 共 162 行

PAS
162
字号
unit gxtjfrm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, db, ExtCtrls, Buttons, StdCtrls, dxdbtrel, ImgList, Mask, DBCtrlsEh;

type
  Tgxtj = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    SpeedButton12: TSpeedButton;
    SpeedButton13: TSpeedButton;
    Label3: TLabel;
    dxLookupTreeView1: TdxLookupTreeView;
    Label4: TLabel;
    Edit2: TEdit;
    ComboBox1: TComboBox;
    Label1: TLabel;
    ImageList2: TImageList;
    Label2: TLabel;
    Edit1: TEdit;
    Label5: TLabel;
    Edit3: TEdit;
    Label6: TLabel;
    DBNumberEditEh1: TDBNumberEditEh;
    Label7: TLabel;
    DBNumberEditEh2: TDBNumberEditEh;
    Label8: TLabel;
    Edit4: TEdit;
    Label9: TLabel;
    DBNumberEditEh3: TDBNumberEditEh;
    Label10: TLabel;
    Edit5: TEdit;
    Label11: TLabel;
    Edit6: TEdit;
    Label12: TLabel;
    Edit7: TEdit;
    Label13: TLabel;
    Edit8: TEdit;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    procedure SpeedButton13Click(Sender: TObject);
    procedure dxLookupTreeView1CloseUp(Sender: TObject; Accept: Boolean);
    procedure SpeedButton12Click(Sender: TObject);
  private
    { Private declarations }
  public
    gxbj:boolean;
    { Public declarations }
  end;

var
  gxtj: Tgxtj;

implementation
uses datafrm,gxfrm;
{$R *.dfm}

procedure Tgxtj.SpeedButton13Click(Sender: TObject);
begin
close;
end;

procedure Tgxtj.dxLookupTreeView1CloseUp(Sender: TObject; Accept: Boolean);
var
  s_value1:string;
begin
if gxtj.dxLookupTreeView1.Text<>'' then
  begin
    gxtj.Edit2.Text:=yfgldata.dwqk.Lookup('单位代码',gxtj.dxLookupTreeView1.Text,'单位名称');
    gxtj.ComboBox1.Items.Clear;
    yfgldata.Query1.Active:=false;
    yfgldata.Query1.SQL.Clear;
    yfgldata.Query1.SQL.Add('select distinct 坐落号 ');
    yfgldata.Query1.SQL.Add(' from yfgl_yfzl ');
    yfgldata.Query1.SQL.Add(' where 单位代码='''+gxtj.dxLookupTreeView1.Text+''' ');
    try
      yfgldata.Query1.Active:=true;
    except
      messagebox(gxtj.handle,'字段值列举出错。','营房工作管理系统',16);
      exit;
    end;
    yfgldata.Query1.First;
    while not yfgldata.Query1.Eof do
    begin
      s_value1:=yfgldata.Query1.fieldbyname('坐落号').AsString;
      gxtj.ComboBox1.Items.Add(s_value1);
      yfgldata.Query1.Next;
    end;
    yfgldata.Query1.Active:=false;
  end;
end;

procedure Tgxtj.SpeedButton12Click(Sender: TObject);
begin
if gxtj.gxbj then
  begin
    if gxtj.dxLookupTreeView1.Text<>'' then
      begin
        if gxtj.ComboBox1.Text<>'' then
          begin
            if gxtj.Edit1.Text<>'' then
              begin
                yfgldata.gx.Filter:='坐落号='''+gxtj.ComboBox1.Text+'''';
                yfgldata.gx.Filtered:=true;
                if yfgldata.gx.Locate('管线编号',gxtj.Edit1.Text,[loCaseInsensitive]) then
                  messagebox(gxtj.handle,'管线编号发生重复。','营房工作管理系统',16)
                else
                  begin
                    yfgldata.gx.Filtered:=false;
                    yfgldata.gx.Append;
                    yfgldata.gx.FieldByName('序号').AsInteger:=yfgldata.gx.RecordCount+1;
                    yfgldata.gx.FieldByName('单位代码').AsString:=gxtj.dxLookupTreeView1.Text;
                    yfgldata.gx.FieldByName('住用单位').AsString:=gxtj.Edit2.Text;
                    yfgldata.gx.FieldByName('坐落号').AsString:=gxtj.ComboBox1.Text;
                    yfgldata.gx.FieldByName('管线编号').AsString:=gxtj.Edit1.Text;
                    yfgldata.gx.FieldByName('管线类型').AsString:=gxtj.Edit3.Text;
                    yfgldata.gx.FieldByName('管线长度').AsInteger:=gxtj.DBNumberEditEh1.Value;
                    yfgldata.gx.FieldByName('管径').AsInteger:=gxtj.DBNumberEditEh2.Value;
                    yfgldata.gx.FieldByName('材质').AsString:=gxtj.Edit4.Text;
                    yfgldata.gx.FieldByName('铺设年份').AsInteger:=gxtj.DBNumberEditEh3.Value;
                    yfgldata.gx.FieldByName('铺设方式').AsString:=gxtj.Edit5.Text;
                    yfgldata.gx.FieldByName('质量状况').AsString:=gxtj.Edit6.Text;
                    yfgldata.gx.FieldByName('保护方式').AsString:=gxtj.Edit7.Text;
                    yfgldata.gx.FieldByName('变更依据').AsString:=gxtj.Edit8.Text;
                    yfgldata.gx.Post;
                    close;
                    gx.showgx;
                  end;
                yfgldata.gx.Filtered:=false;
              end
            else
              messagebox(gxtj.handle,'管线编号不能为空。','营房工作管理系统',16);
          end
        else
          messagebox(gxtj.handle,'坐落号不能为空。','营房工作管理系统',16);
      end
    else
      messagebox(gxtj.handle,'单位代码不能为空。','营房工作管理系统',16);
  end
else
  begin
    yfgldata.gx.Edit;
    yfgldata.gx.FieldByName('管线类型').AsString:=gxtj.Edit3.Text;
    yfgldata.gx.FieldByName('管线长度').AsInteger:=gxtj.DBNumberEditEh1.Value;
    yfgldata.gx.FieldByName('管径').AsInteger:=gxtj.DBNumberEditEh2.Value;
    yfgldata.gx.FieldByName('材质').AsString:=gxtj.Edit4.Text;
    yfgldata.gx.FieldByName('铺设年份').AsInteger:=gxtj.DBNumberEditEh3.Value;
    yfgldata.gx.FieldByName('铺设方式').AsString:=gxtj.Edit5.Text;
    yfgldata.gx.FieldByName('质量状况').AsString:=gxtj.Edit6.Text;
    yfgldata.gx.FieldByName('保护方式').AsString:=gxtj.Edit7.Text;
    yfgldata.gx.FieldByName('变更依据').AsString:=gxtj.Edit8.Text;
    yfgldata.gx.Post;
    close;
  end;
end;

end.

⌨️ 快捷键说明

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