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

📄 frmpjgdsbm.pas

📁 ProviceSystem-公积金监管系统中心端
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit frmPJgDsbm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, ComCtrls, ImgList, ToolWin, Spin, uNodeLabel,
  ExtDlgs, Menus, JPEG;

type
  TJgDsbm = class(TForm)
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    ImageList1: TImageList;
    ImageList2: TImageList;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Label1: TLabel;
    edtMc: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    posX: TSpinEdit;
    Label5: TLabel;
    posY: TSpinEdit;
    Panel4: TPanel;
    imgMap: TImage;
    ImageList3: TImageList;
    chkXs: TCheckBox;
    btnMap: TButton;
    Label6: TLabel;
    edtBh: TEdit;
    dlgMap: TOpenPictureDialog;
    pmNode: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    Edit1: TEdit;
    CheckBox1: TCheckBox;
    SpinEdit1: TSpinEdit;
    Label7: TLabel;
    Edit2: TEdit;
    CheckBox2: TCheckBox;
    SpinEdit2: TSpinEdit;
    CheckBox3: TCheckBox;
    btnSet: TButton;
    tvInfo: TTreeView;
    CheckBox4: TCheckBox;
    Edit3: TEdit;
    Label8: TLabel;
    procedure ToolButton5Click(Sender: TObject);
    procedure chkXsClick(Sender: TObject);
    procedure imgMapMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure imgMapClick(Sender: TObject);
    procedure btnMapClick(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure tvInfoChange(Sender: TObject; Node: TTreeNode);
    procedure CheckBox3Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure CheckBox4Click(Sender: TObject);
  private
    { Private declarations }
    iX: Integer;
    iY: Integer;
    sPicFile: String;
    isAdd: Boolean;
    ParentNode: String;
    iNode: Integer;
    iDsJb: smallint;
    procedure LoadDsInfo;
    procedure RefreshItem(const Value:Boolean);
    procedure LabelClick(Sender: TObject);
    procedure LabelMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    function AddSave: smallint;
    function EditSave: Smallint;
    procedure LoadNodeList;
    procedure RefreshNode;
    procedure InitInfo;
  public
    { Public declarations }
  end;

var
  JgDsbm: TJgDsbm;
  aNode: ANodeLabel;//array of TNodeLabel;


implementation

{$R *.dfm}
uses uConstUtils, uDMFunc, uUserFunc;

procedure TJgDsbm.LabelClick(Sender: TObject);
begin
//  if (Sender as TNodeLabel).HaveChild then
//    imgMap.Picture.LoadFromFile((Sender as TNodeLabel).PictureFile);
    //(Sender as TNodeLabel).Picture;
end;

procedure TJgDsbm.ToolButton5Click(Sender: TObject);
var
  iRet: Smallint;
begin
  if isAdd then
    iRet := AddSave
  else
    iRet := EditSave;
  if iRet=0 then
  begin
    LoadNodeList;
    RefreshItem(False);
  end;
end;

procedure TJgDsbm.chkXsClick(Sender: TObject);
begin
  btnMap.Visible := chkXs.Checked ;
  btnSet.Visible := Chkxs.Checked;
end;

procedure TJgDsbm.imgMapMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  iX := X;
  iY := Y;
  imgMap.Hint := '('+trim(inttostr(x))+','+trim(inttostr(y))+')';
end;

procedure TJgDsbm.imgMapClick(Sender: TObject);
begin
  posX.Value := iX;
  posY.Value := iY;
end;

procedure TJgDsbm.btnMapClick(Sender: TObject);
begin
  if dlgMap.Execute then
  begin
    if trim(dlgMap.FileName)<>'' then
      sPicFile := trim(dlgMap.FileName);
  end;
end;


procedure TJgDsbm.ToolButton8Click(Sender: TObject);
begin
  Close;
end;

procedure TJgDsbm.FormResize(Sender: TObject);
var
  i: Integer;
begin
  for i:=0 to High(aNode) do
  begin
    aNode[i].Left := round(aNode[i].Parent.Width*aNode[i].X /aNode[i].ParentWidth);
    aNode[i].Top := round(aNode[i].Parent.Height*aNode[i].Y /aNode[i].ParentHeight);
  end;
end;

procedure TJgDsbm.RefreshItem(const Value:Boolean);
var
  i: Integer;
begin
  if isAdd then
    edtBh.Enabled := Value;
  edtMc.Enabled := Value;
  posX.Enabled := Value;
  posY.Enabled := Value;
  imgMap.Enabled := Value;
  if not Value then
    imgMap.Hint := '';
  chkXs.Enabled := Value;
  if Value and chkXs.Checked then
  begin
    btnMap.Visible := True;
    btnSet.Visible := True;
  end
  else
  begin
    btnMap.Visible := False;
    btnSet.Visible := False;
  end;
  Edit1.Enabled := Value;
  CheckBox1.Enabled := Value;
  if CheckBox1.Checked then
    SpinEdit1.Enabled := Value;
  CheckBox3.Enabled := Value;
  if CheckBox3.Checked then
  begin
    Edit2.Enabled := Value;
    CheckBox2.Enabled := Value;
    if CheckBox2.Checked then
      SpinEdit2.Enabled := Value;
  end;
  CheckBox4.Enabled := Value;
  if CheckBox4.Enabled then
  begin
    Label8.Enabled := CheckBox4.Checked;
    Edit3.Enabled := CheckBox4.Checked;
  end
  else
  begin
    Label8.Enabled := False;
    Edit3.Enabled := False;
  end;
  tvInfo.Enabled := not Value;
  ToolButton1.Enabled := not Value;
  ToolButton2.Enabled := not Value;
  ToolButton3.Enabled := not Value;
  ToolButton5.Enabled := Value;
  ToolButton6.Enabled := Value;
  for i:=0 to High(aNode) do
    aNode[i].Enabled := not Value;
  if iNode <> -1 then
    tvInfo.Select(tvInfo.Items[iNode]);
  if high(aNode) = -1 then
  begin
    ToolButton2.Enabled := False;
    ToolButton3.Enabled := False;
  end;
end;

procedure TJgDsbm.ToolButton1Click(Sender: TObject);
begin
  isAdd := True;
  iDsJb := 0;
  edtBh.Text := '';
  edtMc.Text := '';
  Edit1.Text := '';
  Edit2.Text := '';
  SpinEdit1.Value := 0;
  SpinEdit2.Value := 0;
  CheckBox3.Checked := False;
  CheckBox1.Checked := False;
  CheckBox2.Checked := False;
  posX.Value := 0;
  posY.Value := 0;
  chkXs.Checked := False;
  sPicFile := '';
  RefreshItem(True);
end;

procedure TJgDsbm.ToolButton2Click(Sender: TObject);
begin
  isAdd := False;
//  tvInfo.Select(tvInfo.Items[iNode]);
  RefreshNode;
  RefreshItem(True);
end;

procedure TJgDsbm.ToolButton6Click(Sender: TObject);
begin
  RefreshItem(False);
end;

procedure TJgDsbm.ToolButton3Click(Sender: TObject);
var
  nRet: Smallint;
begin
  if iNode = -1 then
    exit;
  if Application.MessageBox(pchar('是否要删除地市:'+aNode[iNode].Caption+'?'),
      PMsgCaption,36)=7 then
    exit;  
  nRet := DsbhDelete(aNode[iNode].Number);
  if nRet=0 then
  begin
    DeleteNodeLabel(aNode,iNode);
    tvInfo.Items.Delete(tvInfo.Items[iNode]);
    if iNode > high(aNode) then
      iNode := high(aNode);
    RefreshItem(False);
    Application.MessageBox('删除成功',PMsgCaption,64);
  end
  else
  if nRet =3 then
    Application.MessageBox('地市已经使用,不能删除!',PMsgCaption,48)
  else
    Application.MessageBox('删除失败',PMsgCaption,16);
end;

procedure TJgDsbm.FormCreate(Sender: TObject);
var
  sCaption, sFile: String;
begin
  ParentNode := '';
  iNode := -1;
  SetLength(aNode,0);
  InitInfo;
  RefreshItem(false);
  RefreshNode;

  sFile := ExtractFilePath(application.ExeName)+PMainMapFile;
  ReadMainMap(sCaption,sFile);
  if FileExists(sFile) then
    imgMap.Picture.LoadFromFile(sFile);

end;

procedure TJgDsbm.LabelMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  iNode := IndexOfNodeLabel(aNode,(sender as TNodeLabel)); //(Sender as TNodeLabel).NodeIndex;
  tvInfo.Select(tvInfo.Items[iNode]);
  RefreshNode;
end;

function TJgDsbm.AddSave: Smallint;
var
  Node: TNodeLabel;
  iRet: Smallint;
begin
  Result := -1;
  if trim(edtBh.Text)='' then
  begin
    application.MessageBox('编号不能为空!',PMsgCaption,64);
    edtBh.SetFocus;
    exit;
  end;
  if ExistsNodeLabel(aNode,trim(edtBh.Text)) then
  begin
    application.MessageBox('编号已存在,请重新输入!',PMsgCaption,64);
    edtBh.SetFocus;
    exit;
  end;

  if trim(edtMc.Text)='' then
  begin
    application.MessageBox('名称不能为空!',PMsgCaption,64);
    edtMc.SetFocus;
    exit;
  end;
  if not IsRightIP(trim(Edit1.Text)) then
  begin
    application.MessageBox('服务器IP不正确!',PMsgCaption,64);
    Edit1.SetFocus;
    exit;
  end;
  if CheckBox1.Checked then
    if SpinEdit1.Value =0 then
    begin
      application.MessageBox('服务器指定端口不能为零!',PMsgCaption,64);
      SpinEdit1.SetFocus;
      exit;
    end;
  if CheckBox3.Checked then
  begin
    if not IsRightIP(Trim(Edit2.Text)) then
    begin

⌨️ 快捷键说明

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