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

📄 main.pas

📁 SunwayERP框架(支持Plugin)
💻 PAS
字号:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ComCtrls, DB, ADODB, ExtCtrls,JPEG,inifiles;

type
  TfrmMain = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    StatusBar1: TStatusBar;
    ADOConn: TADOConnection;
    Panel1: TPanel;
    Image1: TImage;
    PopupMenu1: TPopupMenu;
    N18: TMenuItem;
    N19: TMenuItem;
    OpenDialog1: TOpenDialog;
    procedure FormActivate(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure N18Click(Sender: TObject);
    procedure N19Click(Sender: TObject);
    procedure PluginMenuClick(Sender:TObject);
    procedure ADOConnConnectComplete(Connection: TADOConnection;
      const Error: Error; var EventStatus: TEventStatus);
    procedure N6Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure ADOConnDisconnect(Connection: TADOConnection;
      var EventStatus: TEventStatus);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure N7Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmMain: TfrmMain;
  firstIn:Boolean = True;
  Logined:Boolean = False;
  UserID:String;

implementation

uses Loading, Login, ChgPassword;

{$R *.dfm}

procedure TfrmMain.FormActivate(Sender: TObject);
begin
  if firstIn then
    begin
      frmLoading:=TfrmLoading.Create(Self);
      frmLoading.ShowModal;
      if not Logined then Close;
      firstIn:=False;
    end;
end;

procedure TfrmMain.N9Click(Sender: TObject);
begin
  Close;
end;

procedure TfrmMain.FormCreate(Sender: TObject);
var
  Myini:Tinifile;
  ImgFileName:String;
begin
  Panel1.Align:=alClient;
  Myini:=Tinifile.Create('Sunway.ini');
  ImgFileName:=Myini.ReadString('Desktop','Image','');
  Myini.Free;
  if ImgFileName<>'' then
    begin
      try
        Image1.Picture.LoadFromFile(ImgFileName); 
      except
      end;
    end;
end;

procedure TfrmMain.N18Click(Sender: TObject);
var
  Myini:Tinifile;
begin
  if Opendialog1.Execute then
  if Opendialog1.FileName<>'' then
    begin
      try
        Image1.Picture.LoadFromFile(Opendialog1.FileName);
        Self.Update;
        Myini:=Tinifile.Create('Sunway.ini');
        Myini.WriteString('Desktop','Image',Opendialog1.FileName);
        Myini.Free;
      except
        Messagebox(Handle,'调入桌面图片失败,可能该文件已经损坏!','系统提示',mb_iconError);
      end;
    end;
end;

procedure TfrmMain.N19Click(Sender: TObject);
begin
  Image1.Picture.Bitmap:=nil;
end;

procedure TfrmMain.PluginMenuClick(Sender: TObject);
type
  TProc = procedure(aHnd:THandle;conn:TADOConnection;UID:PChar);
var
  DllHnd:THandle;
  Proc:TProc;
begin
  if UserID='' then
    begin
      MessageBox(Handle,'未找到可用的用户登录信息,请先登录用户!','系统提示',mb_ok+mb_iconError);
      Exit;
    end;
  if TMenuItem(Sender).Tag<>0 then
    DllHnd:=TMenuItem(Sender).Tag
  else
  DllHnd:=LoadLibrary(Pchar(TMenuItem(Sender).Hint));
  if DLLHnd=0 then Exit;
  Proc:=GetProcAddress(DllHnd,'Execute');
  if Assigned(Proc) then
    begin
      Proc(DllHnd,ADOConn,Pchar(USERID));
      TMenuItem(Sender).Tag:=DllHnd;
    end;
end;

procedure TfrmMain.ADOConnConnectComplete(Connection: TADOConnection;
  const Error: Error; var EventStatus: TEventStatus);
begin
  StatusBar1.Panels[1].Text:=ADOConn.DefaultDatabase;
  N4.Caption:='断开连接';
  N4.Tag:=1;
  N2.Enabled:=True;
  N6.Enabled:=True;
  N7.Enabled:=True;
end;

procedure TfrmMain.N6Click(Sender: TObject);
begin
  if N6.Tag=1 then
    begin
      Logined:=False;
      UserID:='';
      StatusBar1.Panels[2].Text:='None';
      N6.Tag:=0;
      N7.Enabled:=False;
      N6.Caption:='登录用户';
    end
  else
    begin
      frmLogin:=TfrmLogin.Create(Self);
      frmLogin.ShowModal;
    end;
end;

procedure TfrmMain.N4Click(Sender: TObject);
begin
  if UserID='' then
    begin
      MessageBox(Handle,'未找到可用的用户登录信息,请先登录用户!','系统提示',mb_ok+mb_iconError);
      Exit;
    end;
  if N4.Tag=0 then
    begin
      ADOConn.ConnectionString:='File Name='+ExtractFilePath(Application.ExeName)+'Sunway.udl';
      try
        ADOConn.Open;
      except
        Messagebox(Handle,'无法连接到指定服务器,请检查配置文件或网络状态!','连接失败',mb_ok+mb_iconError);
      end;
    end
  else
    begin
      ADOConn.Close;
    end;
end;

procedure TfrmMain.ADOConnDisconnect(Connection: TADOConnection;
  var EventStatus: TEventStatus);
begin
  StatusBar1.Panels[1].Text:='None';
  N4.Caption:='连接服务器';
  N4.Tag:=0;
  N2.Enabled:=False;
  N6.Enabled:=False;
  N7.Enabled:=False;
end;

procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ADOConn.Close;
end;

procedure TfrmMain.N7Click(Sender: TObject);
begin
  frmChgPassword:=TfrmChgPassword.Create(Self);
  frmChgPassword.ShowModal;
end;

end.

⌨️ 快捷键说明

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