?? ammain.pas
字號:
unit AMMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, APIPECOMLib_TLB, OleServer, ImgList;
type TOleEnum = type LongWord;
type
TForm2 = class(TForm)
TreeView1: TTreeView;
AMConsol1: TAMConsol;
AMSession1: TAMSession;
AMLoginInfo1: TAMLoginInfo;
AMSysMsg1: TAMSysMsg;
ImageList1: TImageList;
AMMessage1: TAMMessage;
Label1: TLabel;
Button1: TButton;
procedure PreShow(Sender: TObject);
procedure SignIn(ASender: TObject; State: TOleEnum; nErrCode: Integer);
procedure DoubleClick(Sender: TObject);
procedure AMMsgReceive(ASender: TObject; const pMsg: IAMMessage);
procedure ReceiveNtyMsg(ASender: TObject; const pSMsg: IAMSysMsg);
procedure AMReceive(ASender: TObject; const pSMsg: IAMSysMsg);
procedure Button1Click(Sender: TObject);
procedure ColseQuery(Sender: TObject; var CanClose: Boolean);
procedure AMSignIn(ASender: TObject; State: TOleEnum;
const bszLoginName: WideString; nErrCode: Integer);
// procedure AMMsgReceive(ASender: TObject; const pMsg: IAMMessage);
private
{ Private declarations }
public
arrayUser :array[0..100] of string ;
nodeSender : TTreeNode;
end;
var
Form2: TForm2;
implementation
uses AMDelphi,SendMessage,ReceiveMessage;
{$R *.dfm}
procedure TForm2.PreShow(Sender: TObject);
begin
form1.ShowModal;
end;
//--------------------
//處理自己登錄信息
//--------------------
procedure TForm2.SignIn(ASender: TObject; State: TOleEnum;
nErrCode: Integer);
var
nodeTemp :TTreeNode;
begin
if State = AM_SIGN_IN_OK then
begin
AMSession1.ChangeStatus(AM_USERSTATUS_NLN);
Treeview1.Images := ImageList1;
nodeTemp := Treeview1.Items.Add(nil, '當(dāng)前登錄用戶_我自己' );
arrayuser[nodeTemp.AbsoluteIndex] := AMDelphi.Form1.LoginName ;
Treeview1.Items[0].ImageIndex :=2;
Treeview1.Items[0].selectedindex :=2;
end;
if State = AM_SIGN_IN_ERR then
begin
Application.MessageBox('failed','Error');
ShowMessage(AMConsol1.GetErrInfo(nErrCode, 'ENG'));
end;
end;
procedure TForm2.ReceiveNtyMsg(ASender: TObject; const pSMsg: IAMSysMsg);
var
nodeTemp :TTreeNode;
iamSysMsy :IAMSysMsg;
//-----------------------
//獲得在線人員信息
//-----------------------
begin
iamSysMsy := pSMsg as IAMSysMsg;
AMSysMsg1.ConnectTo( iamSysMsy);
//-----------------------------
//收到所有在線人員信息
//-----------------------------
if AMSysMsg1.Method = 'NLN' then
begin
Treeview1.Images := ImageList1;
nodeTemp := Treeview1.Items.Add(nil, AMSysMsg1.GetParamStr (3) );
//---------------------------
//建立用戶數(shù)組
//---------------------------
arrayuser[nodeTemp.AbsoluteIndex] := AMSysMsg1.GetParamStr (2);
Treeview1.Items[nodeTemp.AbsoluteIndex].ImageIndex :=2;
Treeview1.Items[nodeTemp.AbsoluteIndex].selectedindex :=2;
end
end;
//-------------------
//獲得消息發(fā)送對象
//-------------------
procedure TForm2.DoubleClick(Sender: TObject);
begin
nodeSender:= TreeView1.Selected;
SendMessage.Form3.Show ;
SendMessage.Form3.MEMO1.Text :='';
end;
//----------------------
//服務(wù)器消息處理
//----------------------
procedure TForm2.AMReceive(ASender: TObject; const pSMsg: IAMSysMsg);
var
strGetMessage :string;
begin
if pSMsg.Method='MSG' then
begin
strGetMessage := pSMsg.GetParamStr(3);
end
end;
//------------------
// 收到消息處理
//------------------
procedure TForm2.AMMsgReceive(ASender: TObject; const pMsg: IAMMessage);
var
AMMessagetemp : IAMMessage;
begin
AMMessagetemp := pMsg as IAMMessage;
AMMessage1.ConnectTo(AMMessagetemp);
Receivemessage.Form4.Show ;
Receivemessage.Form4.Visible := true;
Receivemessage.Form4.RichEdit1.Text := AMMessage1.GetMsgContent(AMMessage1.MsgContentType);
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
AMMain.Form2.Close();
end;
procedure TForm2.ColseQuery(Sender: TObject; var CanClose: Boolean);
begin
AMMain.Form2.AMSession1.CloseSession();
AMMain.Form2.AMSession1.Destroy();
end;
procedure TForm2.AMSignIn(ASender: TObject; State: TOleEnum;
const bszLoginName: WideString; nErrCode: Integer);
var
nodeTemp :TTreeNode;
begin
if State = AM_SIGN_IN_OK then
begin
AMSession1.ChangeStatus(AM_USERSTATUS_NLN);
Treeview1.Images := ImageList1;
nodeTemp := Treeview1.Items.Add(nil, '當(dāng)前登錄用戶' );
arrayuser[nodeTemp.AbsoluteIndex] := AMDelphi.Form1.LoginName ;
Treeview1.Items[0].ImageIndex :=2;
Treeview1.Items[0].selectedindex :=2;
end;
if State = AM_SIGN_IN_ERR then
begin
Application.MessageBox('failed','Error');
ShowMessage(AMConsol1.GetErrInfo(nErrCode, 'ENG'));
end;
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -