亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fchartbm.~pas

?? 這是一款功能齊全的人力資源管理軟件系統,是成功運用于企業的管理軟件,具有很高的研究價值
?? ~PAS
字號:
unit Fchartbm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, dxorgchr, dxdborgc, DB, ADODB, ImgList, Menus, ComCtrls,
  ToolWin, ExtCtrls, dxtree, dxdbtree, dxPSGlbl, dxPSUtl, dxPSEngn,
  dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
  dxPSEdgePatterns, dxPSdxDBOCLnk, dxPSCore, dxPSGraphicLnk, dxPSdxOCLnk;

type
  Tchartbm = class(TForm)
    DBTree: TdxDbOrgChart;
    DataSource1: TDataSource;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    SaveDialog1: TSaveDialog;
    StatusBar1: TStatusBar;
    MainMenu1: TMainMenu;
    ControlBar1: TControlBar;
    ToolBar1: TToolBar;
    N8: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    N18: TMenuItem;
    N19: TMenuItem;
    N20: TMenuItem;
    N3D1: TMenuItem;
    N21: TMenuItem;
    N22: TMenuItem;
    N23: TMenuItem;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    N24: TMenuItem;
    N25: TMenuItem;
    ColorDialog1: TColorDialog;
    N26: TMenuItem;
    N27: TMenuItem;
    N28: TMenuItem;
    N29: TMenuItem;
    dxComponentPrinter1: TdxComponentPrinter;
    dxComponentPrinter1Link1: TdxOrgChartReportLink;
    dxComponentPrinter1Link2: TdxDBOrgChartReportLink;
    procedure dxDbOrgChart1CreateNode(Sender: TObject; Node: TdxOcNode);
    procedure N1Click(Sender: TObject);
    procedure N13Click(Sender: TObject);
    procedure N22Click(Sender: TObject);
    procedure N23Click(Sender: TObject);
    procedure N19Click(Sender: TObject);
    procedure N20Click(Sender: TObject);
    procedure N3D1Click(Sender: TObject);
    procedure N25Click(Sender: TObject);
    procedure DBTreeChanging(Sender: TObject; Node: TdxOcNode;
      var Allow: Boolean);
    procedure DBTreeChange(Sender: TObject; Node: TdxOcNode);
    procedure N9Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N16Click(Sender: TObject);
    procedure N14Click(Sender: TObject);
    procedure N15Click(Sender: TObject);
    procedure N26Click(Sender: TObject);
    procedure N27Click(Sender: TObject);
    procedure DBTreeClick(Sender: TObject);
    procedure DBTreeDragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure N29Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    selid:integer;
    function GetShape(ShapeName : String) : TdxOcShape;
    function GetNodeAlign(AlignName : String) : TdxOcNodeAlign;
    function GetImageAlign(AlignName : String) : TdxOcImageAlign;
  end;

var
  chartbm: Tchartbm;

implementation

uses fmain, Flistico, Fbranch, Fbrmess;
{$R *.dfm}
function Tchartbm.GetShape(ShapeName : String) : TdxOcShape;
const ShapeArray: array[0..3] of string = ('Rectange', 'Round Rect', 'Ellipse', 'Diamond');
var i : integer;
begin
  Result := TdxOcShape(0);
  for i := 0 to 3 do
    if AnsiUpperCase(ShapeArray[i]) = AnsiUpperCase(ShapeName) then  begin
      Result := TdxOcShape(i);
      break;
    end;
end;


function Tchartbm.GetNodeAlign(AlignName : String) : TdxOcNodeAlign;
const AlignArray: array[0..2] of string = ('Left', 'Center', 'Right');
var i : integer;
begin
  Result := TdxOcNodeAlign(0);
  for i := 0 to 2 do
    if AnsiUpperCase(AlignArray[i]) = AnsiUpperCase(AlignName) then  begin
      Result := TdxOcNodeAlign(i);
      break;
    end;
end;

function Tchartbm.GetImageAlign(AlignName : String) : TdxOcImageAlign;
const AlignArray: array[0..12] of string = (
   'None',
   'Left-Top', 'Left-Center', 'Left-Bottom',
   'Right-Top', 'Right-Center', 'Right-Bottom',
   'Top-Left', 'Top-Center', 'Top-Right',
   'Bottom-Left', 'Bottom-Center', 'Bottom-Right'
   );
var i : integer;
begin
  Result := TdxOcImageAlign(0);
  for i := 0 to 12 do
    if AnsiUpperCase(AlignArray[i]) = AnsiUpperCase(AlignName) then  begin
      Result := TdxOcImageAlign(i);
      break;
    end;
end;

procedure Tchartbm.dxDbOrgChart1CreateNode(Sender: TObject;
  Node: TdxOcNode);
begin
  with Node, main.branch do
  begin
      node.Color:=main.branch.fieldbyname('color').AsInteger;
      node.ImageIndex:=main.branch.fieldbyname('image').AsInteger;
      Node.ChildAlign := GetNodeAlign('Center');
  end;
end;

procedure Tchartbm.N1Click(Sender: TObject);
begin
    if (DBTree.Selected <> nil) then
      DBTree.ShowEditor;
end;

procedure Tchartbm.N13Click(Sender: TObject);
begin
  self.Close;
end;

procedure Tchartbm.N22Click(Sender: TObject);
begin
DBTree.FullExpand;
end;

procedure Tchartbm.N23Click(Sender: TObject);
begin
DBTree.FullCollapse;
end;

procedure Tchartbm.N19Click(Sender: TObject);
begin
  TMenuItem(Sender).Checked := not TMenuItem(Sender).Checked;
  DBTree.Zoom := TMenuItem(Sender).Checked;
end;

procedure Tchartbm.N20Click(Sender: TObject);
begin
  TMenuItem(Sender).Checked := not TMenuItem(Sender).Checked;
   if TMenuItem(Sender).Checked then
     DBTree.Options := DBTree.Options + [ocAnimate]
   else
     DBTree.Options := DBTree.Options - [ocAnimate];
end;

procedure Tchartbm.N3D1Click(Sender: TObject);
begin
  TMenuItem(Sender).Checked := not TMenuItem(Sender).Checked;
   if TMenuItem(Sender).Checked then
     DBTree.Options := DBTree.Options + [ocRect3D]
   else
     DBTree.Options := DBTree.Options - [ocRect3D];
end;

procedure Tchartbm.N25Click(Sender: TObject);
var tmpid:string;
    tmpstr:string;
begin
  if self.DBTree.Selected=nil then exit;
  brmess:=tbrmess.create(application);
  brmess.GroupBox1.Caption:='['+self.DBTree.Selected.Text+']的統計信息';
  //...隸屬
  if (main.branch.fieldbyname('pid').AsString='0') or (main.branch.fieldbyname('pid').AsString='') or (main.branch.fieldbyname('pid').AsString=main.branch.fieldbyname('id').AsString) then
    begin
      tmpstr:='無上級部門';
    end
    else
    begin
      tmpid:=main.branch.fieldbyname('pid').AsString;
      brmess.ADOQuery1.Close;
      brmess.ADOQuery1.SQL.Clear;
      brmess.ADOQuery1.SQL.Add('select * from r_staffbranch');
      brmess.ADOQuery1.Filtered:=false;
      brmess.ADOQuery1.Filter:=format('id'+'='+'''%s''',[tmpid]);
      brmess.ADOQuery1.Filtered:=true;
      brmess.ADOQuery1.Open;
      if brmess.ADOQuery1.RecordCount=0 then
          tmpstr:='無上級部門'
        else
          tmpstr:='隸屬于:'+brmess.ADOQuery1.fieldbyname('branchname').AsString;
    end;
  tmpstr:=tmpstr+#13+'---------------------------------'+#13#13;
  //...下屬部門
  tmpstr:=tmpstr+'下屬部門:'+#13#13;
  tmpid:=main.branch.fieldbyname('id').AsString;
  brmess.ADOQuery1.Close;
  brmess.ADOQuery1.SQL.Clear;
  brmess.ADOQuery1.SQL.Add('select * from r_staffbranch');
  brmess.ADOQuery1.Filtered:=false;
  brmess.ADOQuery1.Filter:=format('pid'+'='+'''%s''',[tmpid]);
  brmess.ADOQuery1.Filtered:=true;
  brmess.ADOQuery1.Open;
  if brmess.ADOQuery1.RecordCount=0 then
      tmpstr:=tmpstr+'無下屬部門'
    else
    begin
      brmess.ADOQuery1.First;
      while not brmess.ADOQuery1.Eof do
        begin
          tmpstr:=tmpstr+brmess.ADOQuery1.fieldbyname('branchname').AsString+' ';
          brmess.ADOQuery1.Next;
        end;
    end;
  tmpstr:=tmpstr+#13+'---------------------------------'+#13#13;
  //..本部人數
  brmess.Label2.Caption:=tmpstr;
  brmess.showmodal;
end;

procedure Tchartbm.DBTreeChanging(Sender: TObject; Node: TdxOcNode;
  var Allow: Boolean);
begin
//  self.StatusBar1.Panels[0].Text:='選擇部門:'+self.DBTree.Selected.Text;
//  if node.Level=0 then allow:=false;
end;

procedure Tchartbm.DBTreeChange(Sender: TObject; Node: TdxOcNode);
begin
//  self.StatusBar1.Panels[0].Text:='選擇部門:'+self.DBTree.Selected.Text;
end;

procedure Tchartbm.N9Click(Sender: TObject);
begin
  if self.DBTree.Selected.Level=0 then
    begin
      MessageBox(handle,'最高級部門只能唯一!','提示',MB_ICONinformation or MB_OK);
      exit;   
    end;
  bran:=tbran.create(application);
  bran.etype:=1;
  bran.GroupBox2.Visible:=false;
  bran.GroupBox3.Visible:=false;
  bran.Height:=150;
  bran.Button1.Top:=80;
  bran.Button2.Top:=80;
  bran.GroupBox1.Caption:='部門名稱';
  bran.showmodal;
end;

procedure Tchartbm.N10Click(Sender: TObject);
begin
  bran:=tbran.Create(application);
  bran.etype:=2;//增加分部
  bran.GroupBox2.Visible:=false;
  bran.GroupBox3.Visible:=false;
  bran.Height:=150;
  bran.Button1.Top:=80;
  bran.Button2.Top:=80;
  bran.GroupBox1.Caption:='分部名稱';
  bran.ShowModal;
end;

procedure Tchartbm.N16Click(Sender: TObject);
begin
  if main.branch.RecordCount=0 then exit;
  if self.DBTree.Selected.Level=0 then
    begin
      MessageBox(handle,'最高級部門不可刪除!','提示',MB_ICONinformation or MB_OK);
      exit;   
    end;
  if Application.MessageBox('確認要刪除這個部門設置嗎?','提示',MB_ICONQUESTION or MB_YESNO )=IDYES then
    begin
      DBTree.Delete(DBTree.Selected);
  main.Branch.Close;
  main.branch.Open;
    end;

end;

procedure Tchartbm.N14Click(Sender: TObject);
begin
  bran:=tbran.Create(application);
  bran.Edit1.Text:=self.DBTree.Selected.Text;
  bran.etype:=3;
  bran.Memo1.Lines.Text:=self.DBTree.DataSet.fieldbyname('bmemo').AsString;
  bran.ShowModal;
end;

procedure Tchartbm.N15Click(Sender: TObject);
begin
  listico:=Tlistico.Create(application);
  listico.ShowModal;
end;

procedure Tchartbm.N26Click(Sender: TObject);
begin
  if self.ColorDialog1.Execute then
    begin
      self.DBTree.Selected.Color:=self.ColorDialog1.Color;
    end;
end;

procedure Tchartbm.N27Click(Sender: TObject);
begin
 TMenuItem(Sender).Checked := not TMenuItem(Sender).Checked;
   DBTree.Rotated := TMenuItem(Sender).Checked;
end;

procedure Tchartbm.DBTreeClick(Sender: TObject);
begin
  self.selid:=self.DBTree.Selected.Level;
end;

procedure Tchartbm.DBTreeDragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  if self.DBTree.Selected.Level=0 then
    begin
      accept:=false;
      exit;
    end;

end;

procedure Tchartbm.N29Click(Sender: TObject);
begin
  dxComponentPrinter1.Preview(True,nil);
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成在人线免费| 中文字幕在线不卡视频| 成人午夜视频在线| 亚洲国产视频直播| 国产精品色噜噜| 日韩欧美一区电影| 欧洲精品在线观看| 成人免费黄色在线| 久久99国产精品麻豆| 亚瑟在线精品视频| 亚洲欧洲日韩在线| 久久久噜噜噜久噜久久综合| 欧美精品99久久久**| 日本精品一级二级| 丁香婷婷综合激情五月色| 另类的小说在线视频另类成人小视频在线| 中文字幕一区二区三区av| 久久久久国产免费免费| 欧美电影精品一区二区| 91精品麻豆日日躁夜夜躁| 在线观看国产91| 色综合久久99| 91视频观看免费| 欧美日韩精品福利| 色94色欧美sute亚洲线路二| 粉嫩高潮美女一区二区三区| 激情图片小说一区| 久久超碰97中文字幕| 日韩精品乱码免费| 亚洲成人第一页| 亚洲国产一区二区在线播放| 亚洲综合成人在线视频| 一区二区三区四区激情 | 国产喂奶挤奶一区二区三区| 日韩欧美亚洲国产精品字幕久久久| 欧美亚洲国产怡红院影院| 色噜噜狠狠成人中文综合| 92精品国产成人观看免费| 成人av网站在线观看| 国产成人啪午夜精品网站男同| 韩国欧美国产一区| 国产一区二区看久久| 国产成人欧美日韩在线电影| 国产69精品一区二区亚洲孕妇| 国产在线观看一区二区| 国产精品一级片在线观看| 国产精品一二三四区| 国产麻豆91精品| 成人黄动漫网站免费app| 99久久久国产精品免费蜜臀| 色偷偷88欧美精品久久久| 91豆麻精品91久久久久久| 欧美主播一区二区三区美女| 欧美日韩精品福利| 日韩精品在线看片z| 久久免费美女视频| 中文字幕在线视频一区| 亚洲黄一区二区三区| 亚洲电影你懂得| 久久不见久久见中文字幕免费| 国产精品一二三四| 色狠狠av一区二区三区| 欧美日韩黄色影视| 精品久久久久久久久久久久久久久久久| 精品国内二区三区| 亚洲欧洲日本在线| 天堂精品中文字幕在线| 国产在线精品一区二区夜色| 成人午夜激情片| 欧美性猛交xxxx乱大交退制版 | 国产欧美日韩另类一区| 国产精品对白交换视频| 亚洲一区二区三区精品在线| 男女男精品网站| 成人网男人的天堂| 欧美人xxxx| 国产视频视频一区| 亚洲一区国产视频| 国产剧情一区在线| 91电影在线观看| 欧美精品一区二区蜜臀亚洲| 亚洲欧美国产高清| 久久精品国产久精国产爱| 不卡av免费在线观看| 7777精品伊人久久久大香线蕉| 国产欧美综合在线| 亚洲午夜激情av| 国产激情视频一区二区在线观看| 日本高清视频一区二区| 精品国产区一区| 一区二区三区在线免费播放| 国内精品视频666| 欧美系列日韩一区| 久久久99精品免费观看不卡| 亚洲va国产va欧美va观看| 成人听书哪个软件好| 日韩美女视频一区二区在线观看| 亚洲欧美另类小说| 国产成人在线看| 69堂成人精品免费视频| 亚洲乱码国产乱码精品精可以看| 精品一区二区三区欧美| 欧美乱妇23p| 亚洲精品成人少妇| 国产69精品久久777的优势| 日韩欧美电影一区| 午夜免费欧美电影| 一本到一区二区三区| 国产精品人成在线观看免费| 久久99精品国产麻豆婷婷| 欧美性高清videossexo| ...av二区三区久久精品| 国产麻豆精品在线观看| 欧美一级免费大片| 亚洲福利一区二区三区| 一本久久a久久免费精品不卡| 国产精品无圣光一区二区| 国产一区二区三区四区五区美女| 91.com视频| 亚洲3atv精品一区二区三区| 91小视频免费观看| 国产精品不卡一区| 国产91高潮流白浆在线麻豆| 久久久99精品久久| 国产麻豆视频一区二区| 2020国产成人综合网| 久久机这里只有精品| 欧美一卡在线观看| 日韩精品成人一区二区在线| 欧美三级日韩在线| 亚洲国产另类av| 欧美亚洲一区三区| 亚洲一区二区三区自拍| 91久久精品国产91性色tv| 亚洲欧美色图小说| 色综合久久中文综合久久牛| 亚洲欧美日韩久久精品| 色综合久久99| 亚洲一区二区三区爽爽爽爽爽| 在线欧美小视频| 亚洲国产欧美一区二区三区丁香婷| 日本福利一区二区| 亚洲一线二线三线久久久| 欧美色视频在线观看| 亚洲第一狼人社区| 91精品免费在线| 久久se精品一区二区| 久久精品免视看| 99精品在线观看视频| 亚洲精品国产品国语在线app| 欧美专区日韩专区| 美女视频黄a大片欧美| 欧美精品一区二区三区很污很色的 | 国产亚洲欧美日韩日本| 国产91露脸合集magnet| 中文字幕中文在线不卡住| 在线观看三级视频欧美| 五月激情综合色| 精品国产1区二区| www.亚洲精品| 亚洲国产综合人成综合网站| 欧美一区二区免费视频| 国产九九视频一区二区三区| 国产精品久久久久影院亚瑟 | 老色鬼精品视频在线观看播放| 精品88久久久久88久久久| 不卡一卡二卡三乱码免费网站| 亚洲美女视频在线| 日韩一区二区三区视频在线| 国产精品亚洲人在线观看| 亚洲女与黑人做爰| 欧美一区二区精品| 成人中文字幕在线| 亚洲成av人影院| 国产午夜精品美女毛片视频| 一本大道av一区二区在线播放| 日本亚洲电影天堂| 国产精品久久久久久久浪潮网站| 欧美四级电影在线观看| 国产自产v一区二区三区c| 亚洲在线免费播放| 国产亚洲综合色| 欧美日韩高清一区二区不卡| 国产大片一区二区| 亚洲第一在线综合网站| 国产精品午夜免费| 欧美一区二区三区啪啪| 成人理论电影网| 久久av资源网| 一区二区不卡在线播放 | 香蕉影视欧美成人| 国产欧美精品国产国产专区 | 日韩一区二区三免费高清| jizz一区二区| 久久国内精品视频| 亚洲一区二区三区影院| 中文字幕不卡在线| 精品久久免费看| 欧美日韩在线不卡| 99国产欧美久久久精品|