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

📄 tfrmmainmenu.pas

📁 这个是去年写的东东。 以前公司一直使用易飞ERP
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit TfrmMainMenu;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, ToolWin, ComCtrls, StdCtrls, ImgList, Menus, Buttons,
  OleCtrls, SHDocVw, ActnList, Inifiles;

type
  MmuRecord1 = Record
    mmu1:string;
    mmu2:string;
    mmu3:string;
    mmu4:string;
    level:integer;
    index:integer;
  end;

  MmuRecord2 = Record
    mmu20:TSpeedButton;
    mmu21:integer;
    mmu22:integer;
    mmu23 :integer;
    mmu24:integer;
    mmu25:string;
    mmu26 :string;
    mmu27:string;
  end;
type
  TForm1 = class(TForm)
    ToolBar1: TToolBar;
    Panel1: TPanel;
    Splitter1: TSplitter;
    Panel2: TPanel;
    Label1: TLabel;
    ComboBox1: TComboBox;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    Label2: TLabel;
    ComboBox2: TComboBox;
    ImageList1: TImageList;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    TreeView1: TTreeView;
    Panel3: TPanel;
    ImageList2: TImageList;
    PopupMenu1: TPopupMenu;
    RichEdit1: TRichEdit;
    pnlBrowser: TPanel;
    WebBrowser: TWebBrowser;
    ToolBar2: TToolBar;
    ToolButton11: TToolButton;
    N1: TMenuItem;
    PopupMenu2: TPopupMenu;
    PopupMenu3: TPopupMenu;
    N8: TMenuItem;
    Image1: TImage;
    procedure ToolButton2Click(Sender: TObject);
    procedure mnuPropertyClick(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton11Click(Sender: TObject);
    procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
    procedure SpeedButtonClick(Sender: TObject);
    procedure mnuPropEditClick(Sender: TObject);
    procedure TreeView1Expanding(Sender: TObject; Node: TTreeNode;
      var AllowExpansion: Boolean);
    procedure N5Click(Sender: TObject);
    procedure mnuDeleteClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    session1: array[0..2000] of MmuRecord1;  //主菜单
    session2: array[0..30] of MmuRecord2;  //子菜单
    Sessions1,Sessions2: integer;  //数
    mainpic,muf:string;
    Procedure WriteIniFile;
    Procedure ReadIniFile;
    
  end;

var
  Form1: TForm1;
  IniFile: TIniFile;
 
implementation
  uses frmProgList,frmProperty,frmTMPropEdit,_funct,frmAbout;
{$R *.dfm}

procedure TForm1.WriteIniFile;  //写ini
begin
if FileExists(GetCurrentDir()+'\Config.ini') then
  begin
   Inifile := TIniFile.Create(GetCurrentDir()+'\Config.ini');//写InI文件
   IniFile.WriteString('Main','IP', '' );
   IniFile.WriteString('Main','Name', '' );

   IniFile.Free;
   showmessage('成功保存配置文件!!');
  end;
end;

//读取.INI文件////////////////////////////
procedure TForm1.ReadIniFile;
var
    mu0,mu1,mu2,mu3,mu4,muf2,s:String;
    pnode,pnode2:TTreeNode;
    i:integer ;
begin
muf:='' ;
muf2:='' ;
if FileExists(GetCurrentDir()+'\MainMenu.ini') then
  begin
    //替换 : StringReplace(_USERLIST, USER.Text, '', [rfReplaceAll]);
    Inifile := TIniFile.Create(GetCurrentDir()+'\MainMenu.ini');//读InI文件
    mu0 := IniFile.ReadString('Menu','系统+功能','');
    mu1 := IniFile.ReadString('Menu','系统+作业','');
    mu2 := IniFile.ReadString('Menu','系统+流程', '');
    mu3 := IniFile.ReadString('Menu','内控内审', '');
    mu4 := IniFile.ReadString('Menu','客户新增', '');

    //以下全把 替换掉
    mu0 := StringReplace(mu0,'C_dsbin\','',[rfReplaceAll]) ;
    mu1 := StringReplace(mu1,'C_dsbin\','',[rfReplaceAll]) ;
    mu2 := StringReplace(mu2,'C_dsbin\','',[rfReplaceAll]) ;
    mu3 := StringReplace(mu3,'C_dsbin\','',[rfReplaceAll]) ;
    mu4 := StringReplace(mu4,'C_dsbin\','',[rfReplaceAll]) ;
    IniFile.Free;
    muf := GetCurrentDir()+'\'+mu0;

    case ComboBox1.ItemIndex of
      0: muf := GetCurrentDir()+'\'+mu0;
      1: muf := GetCurrentDir()+'\'+mu1;
      2: muf := GetCurrentDir()+'\'+mu2;
      3: muf := GetCurrentDir()+'\'+mu3;
      4: muf := GetCurrentDir()+'\'+mu4;
    end;

    TreeView1.Items.Clear ;
    TreeView1.Items.Add(Nil,ComboBox1.Text ) ;
    pnode:=treeview1.Items.Item[0];
    //Treeview1.FullExpand ;
    Inifile := TIniFile.Create(muf);//读InI文件

    try
     {
     [Menu]
     Version=1.00
     Picture=C_Data\XTGLMain.bmp
     Map=C_data\XTGLMain.mmu
     }
     Screen.Cursor := crHourGlass ; //修改鼠标状态
     muf2 := IniFile.ReadString('Menu','Picture','');
     if UpperCase(Before('\',muf2))= 'C_DATA' then muf2:='..\'+muf2 ;
     if FileExists(muf2) then Image1.Picture.Bitmap.LoadFromFile(muf2);
     mainpic:=muf2; //图片文件
     //if Length(muf2)>0 then Image1.Picture.Bitmap.LoadFromFile('..\'+muf2);
     muf2 := IniFile.ReadString('Menu','Map','');
     //这里要加读取MAP
     Session1[Sessions1].mmu1:=ComboBox1.Text ; //名称
     Session1[Sessions1].mmu2:='4';  //是什么档,1-4 图形档 文字档  HTML  地图档
     Session1[Sessions1].mmu3:=muf2; //菜单文件
     Session1[Sessions1].mmu4 := '';
     inc(Sessions1);
     
    //一級
    Treeview1.Items.BeginUpdate ;   //可以加速树形目录的更新速度
    for i:=1 to 30 do
    begin
      muf2 := IniFile.ReadString('Folder',inttostr(i),'');
      {
      [Folder]
      4=进销存管理,4,C_Data\JXCGLModule.mmu
      4-1=采购管理子系统,4,C_data\PURFrame.mmu
      4-1-1=基础设置,0,
      }
      if muf2<>'' then begin
        s:=muf2;
        muf2 := Before(',',muf2) ;
        s:=After(',',s);
        Session1[Sessions1].mmu1:=muf2; //名称
        Session1[Sessions1].mmu2:=Before(',',s);  //是什么档,1-4
        Session1[Sessions1].mmu3:=After(',',s); //菜单文件
        if Session1[Sessions1].mmu3[1]='|' then
          Session1[Sessions1].mmu4 := After(',',Session1[Sessions1].mmu3)  //程序名称
        else
          Session1[Sessions1].mmu4 := '';
        //pnode:=treeview1.Items.Item[1];
        pnode2:=treeview1.Items.AddChild(pnode,muf2);
        Session1[Sessions1].level := pnode2.Level ;
        Session1[Sessions1].index := pnode2.Index ;
        pnode2.StateIndex := Sessions1 ;
        pnode2.Data := Pointer(1);      //做个标记,第二级数据是否已经读入

        pnode2.HasChildren := true;

        inc(Sessions1);
      end else break;
    end ;

    pnode.Expand(False) ; //展开树形目录
    TreeView1.Selected := TreeView1.Items[0];
    Treeview1.Items.EndUpdate ;
    finally
      //showmessage('共有'+inttostr(n)+'条添加'+#13+Session1[n].mmu1);
      Screen.Cursor := crDefault ;  //crHourGlass
    end;
    IniFile.Free;
  end;

end;

//显示
procedure TForm1.ToolButton2Click(Sender: TObject);
begin
  //Application.CreateForm(TForm1, Form1);
  form2.Visible := True ;
end;

procedure TForm1.mnuPropertyClick(Sender: TObject);
begin
  form3.Visible := True ;
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  Sessions1:=0;
  Sessions2:=0;
  ReadIniFile ;
end;

procedure TForm1.FormShow(Sender: TObject);
var temp:TStringList;
    n:integer;
    temp2:Boolean;
    s:string;
begin
  Sessions1:=0;
  Sessions2:=0;
  if not FileExists(GetCurrentDir()+'\MainMenu.ini') then //没有配置文件,退出
  begin
    Showmessage('No Found Files MainMenu.ini') ;
    Exit ;
  end;

  temp2:=False ;
  temp := TStringList.Create ;
  temp.LoadFromFile('MainMenu.ini') ;
  ComboBox1.Items.Clear ;
  for n:=0 to temp.Count - 1 do
  begin
    if temp2=True then
    begin
      s := Trim(temp[n]) ;
      IF pos('=',s)>0 then
        ComboBox1.Items.Add(copy(s,1,pos('=',s)-1)) ;
    end;

    if temp[n]='[Menu]' then
      temp2:= True;
  end;
  temp.Free ;
  if ComboBox1.Items.Count > 0 then
  begin
    ComboBox1.ItemIndex := 0 ;
    ReadIniFile ;
  end;

end;

//把樹形目錄的內容保存為文件
procedure TForm1.ToolButton3Click(Sender: TObject);
var 
  F: TFileStream; 
begin 
  F:=TFileStream.Create('d:\TreeView.txt',fmCreate or fmShareCompat);
  F.WriteComponent(TreeView1);
  F.Free;
end;

{////////////////////
//  读
procedure TForm1.Button2Click(Sender: TObject);
var
  F:TFileStream;
begin
  F:=TFileStream.Create('c:\TreeView.txt',fmOpenRead or fmShareDenyWrite);
  F.ReadComponent(TreeView1); 
  F.Free; 
end;}


procedure TForm1.ToolButton11Click(Sender: TObject);
begin
  try
    WebBrowser.GoBack;

⌨️ 快捷键说明

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