| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739 |
- unit RealICQModel;
- interface
- uses
- Classes, Windows, SysUtils, xFonts, Graphics;
- type
- //短信控制模式 0:按月限制 按天限制
- TSendSMSLimitMode=(smsMonthLimit=0,smsDayLimit=1);
- //短信可发数量控制的应用角色 0:应用部门的可发数量 1 应用用户本人的可发数量
- TSendSMSLimitRole=(smsBranchRole=0,smsUserRole=1,smsUnLimit=2);
- //连接成功后的动作
- TRealICQConnectType = (ctLogin, ctRegister);
- //工作模式
- TRealICQWorkingMode = (wmPublic = 0,
- wmCorporation = 1);
- //登录状态
- TRealICQLoginState = (stOffline = 0,
- stOnline = 1,
- stLeave = 2,
- stBusy = 3,
- stMute = 4,
- stHidden = 5,
- stMobileOnline = 6);
- TRealICQSexType = (seMale = 0,
- seFemale = 1,
- seUnknown = 2);
- TRealICQLoginResultType = ( rtLoginOK = 0,
- rtCanUpdate = 1,
- rtMustUpdate = 2,
- rtVersionError = 3,
- rtAuthorizationError = 4,
- rtOther = 5,rtLoginErrorByDisplayName=6);
- TRealICQRegResultType = ( rgRegOK = 0,
- rgCanUpdate = 1,
- rgMustUpdate = 2,
- rgVersionError = 3,
- rgLoginNameExist = 4,
- rgOther = 5);
- TRealICQHeadImageFileType = (
- htNONE = 255,
- htJPG = 0,
- htGIF = 1,
- htBMP = 2
- );
- TRealICQSearchType = ( stLookOnline = 0,
- stByLoginName = 1,
- stByDisplayName = 2);
- TRealICQMatchingType = ( mtExactSearch = 0,
- mtLikeSearch = 1);
- TRealICQExInfoSecretLevel = ( slOnlyFriendCanSee = 0,
- slAllCanSee = 1,
- slAllCannotSee = 2);
- TRealICQTeamValidateType = ( tvAllCanJoinTeam = 0,
- tvNeedValidate = 1,
- tvAllCannotJoinTeam = 2,
- tvAllCannotJoinTeamNew = 4);
- TRealICQTeamSearchType = ( tsByTeamID = 0,
- tsByTeamCaption = 1,
- tsByTeamIntro = 2,
- tsByTeamCreater = 3);
- TFileTransmitterObjective = (foFile = 0, foFace = 1);
-
- TRealICQTeam = class
- public
- TeamID: string;
- TeamCaption: string;
- TeamCreater: string;
- TeamCallBoard: string;
- TeamIntro: string;
- TeamValidate: TRealICQTeamValidateType;
- TeamManagers: string;
- TeamMembers: string;
- IsTempTeam: Boolean;
- function Clone: TRealICQTeam;
- end;
- //保存用户权限类
- TUserPermission=class
- private
- FEnableSendSms:Boolean;
- FEnableMultiSendSms:Boolean;
- FAddrBookSize:SmallInt;
- FEnableBackup:Boolean;
- FSMSLimitMode:TSendSMSLimitMode;
- FSMSLimitRole:TSendSMSLimitRole;
- FHasBeenSentSmsCount:Integer;
- FCanSendSmsCount:Integer;
- public
- property EnableSendSms:Boolean read FEnableSendSms write FEnableSendSms;
- property EnableMultiSendSms:Boolean read FEnableMultiSendSms write FEnableMultiSendSms;
- property EnableBackup:Boolean read FEnableBackup write FEnableBackup;
- property AddrBookSize:SmallInt read FAddrBookSize write FAddrBookSize;
- property SMSLimitMode:TSendSMSLimitMode read FSMSLimitMode write FSMSLimitMode;
- property SMSLimitRole:TSendSMSLimitRole read FSMSLimitRole write FSMSLimitRole;
- property HasBeenSentSmsCount:Integer read FHasBeenSentSmsCount write FHasBeenSentSmsCount;
- property CanSendSmsCount:Integer read FCanSendSmsCount write FCanSendSmsCount;
- end;
- TLoginUser=class
- private
- FLoginName:string;
- FPassword:String;
- public
- property LoginName:String read FLoginName write FLoginName;
- property Password:String read FPassword write FPassword;
- end;
-
- TSearchResultRecord = class
- public
- LoginName: string;
- DisplayName: string;
- Watchword: string;
- LoginState: TRealICQLoginState;
- Sex: TRealICQSexType;
- end;
- TSearchTeamResultRecord = class
- public
- TeamID: String;
- TeamCaption: String;
- TeamIntro: String;
- TeamCreater: String;
- end;
- /// 存储系统消息接口信息
- TSysMsgInterface=class
- public
- ShowMsg:Boolean;
- SendToMobile:Boolean;
- SendToUMC:Boolean;
- MsgIID,
- InterFaceName,
- Remark:String;
- DefaultInterface:Boolean;
- Position:Integer;
- end;
- //Web标签信息
- TSystemNotices = class
- public
- Title: String;
- URL: String;
- EndDate: TDateTime;
- end;
-
- //Web标签信息
- TWebTabRecord = class
- private
- function GetIconFile: String;
- public
- ID: String;
- Name: String;
- Icon: String;
- Method: String;
- PostFields: String;
- URL: String;
- MustShow: Boolean;
- Content: String;
-
- property IconFile: String read GetIconFile;
- end;
- //部门数据
- TRealICQBranchInfo = class
- public
- ID: String;
- ParentID: String;
- BranchName: String;
- OnlineEmployee,
- EmployeeCount: Cardinal;
- IsGetUserList:Boolean;
- function Clone: TRealICQBranchInfo;
- end;
- TRealICQSystemMessageType = (mtBroadcast = 0, mtAdvertisement = 1,mtConfirmMsg=2);
- TRealICQSystemMessagePosition = (mpCenter = 0, mpRightBottom = 1, mpCustom = 2);
- TRealICQSystemMessage = class
- public
- MessageID: Integer;
- MessageType: TRealICQSystemMessageType;
- AutoOpenWindow: Boolean;
- Position: TRealICQSystemMessagePosition;
- Left: SmallInt;
- Top: SmallInt;
- Width: SmallInt;
- Height: SmallInt;
- Delay: double;
- MaxShowTimes: Byte;
- Title: String;
- Content: String;
- URL: String;
- AutoCloseTime: SmallInt;
- end;
- //用户数据
- TRealICQUser = class
- private
- FPort: Word;
- FRealICQClient: TObject;
- FRealICQPtoPBox: TObject;
- FClickedSNS: Boolean;
- function GetRealICQPtoPBox: TObject;
- function GetHeadImageFile: string;
- function GetAddress: string;
- function GetPort: Word;
- function GetHasNewSNSUpdate: Boolean;
- public
- Sex: TRealICQSexType;
- LoginName: string;
- DisplayName: string;
- Watchword: string;
- Remark: string;
- Remark1: string;
- RemarkTel: string;
- RemarkMobile: string;
- LoginState: TRealICQLoginState;
- LeaveMessage: string;
- Address: string;
- HeadImageFileType: TRealICQHeadImageFileType;
- HeadImageHashValue: string;
- InstalledCamera: Boolean;
- InstalledSoundCard: Boolean;
- LoginAtWeb: Boolean;
- LoginAsWaiter: Boolean;
- LastClickSNSUpdateTime: TDateTime;
- SNSUpdateTime: TDateTime;
- BranchID: string;
- TrueName,
- Company,
- Branch,
- Duty,
- Calling,
- Country,
- Province,
- City,
- Tel,
- Mobile,
- Email,
- Post,
- HomeAddress,
- URL,
- Intro: string;
- SeeInfoPermissions:byte; //查看用户资料的权限等级
- ShortMobile: string;
- OfficeID: string;
- OfflineAutoResponseEnabled: Boolean;
- OfflineAutoResponseText: string;
- Secret: TRealICQExInfoSecretLevel;
- CurrentExInfoVersion: Integer;
- //是否已经对比过版本信息
- IsComparedVer: Boolean;
- GettedOffliceAutoResponseSet: Boolean;
- Position: Double;
- LastReflashLoginStatus: Cardinal;
-
- constructor Create(ALoginName: string; ARealICQClient: TObject);
- destructor Destroy; override;
- procedure ClickedSNSIcon;
- function IsNeedRequestUserStatus: Boolean;
- property Port: Word read GetPort write FPort;
- property HeadImageFile: string read GetHeadImageFile;
- property HasNewSNSUpdate: Boolean read GetHasNewSNSUpdate;
- property RealICQPtoPBox: TObject read GetRealICQPtoPBox write FRealICQPtoPBox;
- property Nickname: String read DisplayName;
- end;
- TSendFileRequestInfo = class
- private
- FLoginName: string;
- FObjective: TFileTransmitterObjective;
- FOppositeID: Cardinal;
- FFileLength: Int64;
- FFileName: string;
- FMD5Code: string;
- FFileExtImage: string;
- protected
- public
- constructor Create(ALoginName: string;
- AObjective: TFileTransmitterObjective;
- AOppositeID: Cardinal;
- AFileLength: Int64;
- AFileName,
- AMD5Code,
- AFileExtImage: string);
- property LoginName: string read FLoginName write FLoginName;
- property Objective: TFileTransmitterObjective read FObjective write FObjective;
- property OppositeID: Cardinal read FOppositeID write FOppositeID;
- property FileLength: Int64 read FFileLength write FFileLength;
- property FileName: string read FFileName write FFileName;
- property MD5Code: string read FMD5Code write FMD5Code;
- property FileExtImage: string read FFileExtImage write FFileExtImage;
- end;
- TRealICQMessage = class
- private
- FSender: string;
- FReceiver: string;
- FFontStr: string;
- FMessageStr: string;
- FMessageID: Cardinal; {消息的ID,同时也是消息发送的Ticket}
- FSendDateTime: TDateTime;
- FIsEncryMessage:Boolean;
- FID:Integer;
- public
- constructor Create(ASender,
- AReceiver,
- AFontStr,
- AMessageStr: String;AIsEncryMessage:Boolean);
- published
- property Sender: string read FSender write FSender;
- property Receiver: string read FReceiver write FReceiver;
- property FontStr: string read FFontStr write FFontStr;
- property MessageStr: string read FMessageStr write FMessageStr;
- property MessageID: Cardinal read FMessageID write FMessageID;
- property SendDateTime: TDateTime read FSendDateTime write FSendDateTime;
- property IsEncryMessage:Boolean read FIsEncryMessage write FIsEncryMessage;
- property ID:Integer read FID write FID;
- end;
- TRealICQTeamMessage = class
- private
- FID:Integer;
- FIsEncryMessage:Boolean;
- FTeamID: string;
- FSender: string;
- FFontStr: string;
- FMessageStr: string;
- FMessageID: Cardinal; {消息的ID,同时也是消息发送的Ticket}
- FSendDateTime: TDateTime;
- public
- constructor Create(ATeamID: string;
- ASender,
- AFontStr,
- AMessageStr: string;IsEncry:Boolean);
- published
- property TeamID: string read FTeamID write FTeamID;
- property Sender: string read FSender write FSender;
- property FontStr: string read FFontStr write FFontStr;
- property MessageStr: string read FMessageStr write FMessageStr;
- property MessageID: Cardinal read FMessageID write FMessageID;
- property SendDateTime: TDateTime read FSendDateTime write FSendDateTime;
- property IsEncryMessage:Boolean read FIsEncryMessage write FIsEncryMessage;
- property ID:Integer read FID write FID;
- end;
- //主窗体广告位数据
- TMainFormAdversement = record
- Visible: Boolean;
- Height: SmallInt;
- URL: string;
- end;
-
- //对话窗体广告位数据
- TTalkingFormAdversement = record
- Visible: Boolean;
- Width: SmallInt;
- URL: string;
- end;
- //对话窗体广告位数据
- TWebSearchInfo = record
- Visible: Boolean;
- Title,
- URL: string;
- end;
- //表情类
- TFace = class
- private
- FName: String;
- FShortCut: String;
- FFileName: String;
- FMD5Code: String;
- FCategory: String;
- public
- constructor Create(AFileName, AShortCut, AName, AMD5Code: String; ACategory: String);
- procedure Assign(AFace: TFace);
- procedure SetFileName(Value: String);
- published
- property Name: String read FName write FName;
- property ShortCut: String read FShortCut write FShortCut;
- property FileName: String read FFileName write SetFileName;
- property MD5Code: String read FMD5Code write FMD5Code;
- property Category: String read FCategory write FCategory;
- end;
- TUsersHandleMessagesEvent=procedure(Sender: TObject; const AData: TBytes) of object;
- TRealICQManageAddrBookResultEvent=procedure(Sender: TObject;OperatModal:Integer;OperatCommand:Integer;RetValue,MessageId:Cardinal) of object;
- TRealICQLoginResultEvent = procedure(Sender: TObject; LoginResultType: TRealICQLoginResultType; ResultMessage: String) of object;
- TRealICQRegResultEvent = procedure(Sender: TObject; ALoginName: String; RegResultType: TRealICQRegResultType; ResultMessage: String) of object;
- TRealICQUserInformationReadyEvent = procedure(Sender: TObject; RealICQUser: TRealICQUser) of object;
- TRealICQBeDroppedEvent = procedure(Sender: TObject; Excuse: String) of object;
- TRealICQLoginFailedEvent = procedure(Sender: TObject; E: Exception ) of object;
- TRealICQRegFailedEvent = procedure(Sender: TObject; E: Exception ) of object;
- TRealICQSearchResultEvent = procedure(Sender: TObject; ARecordCount: Integer; APageCount: Integer; APageIndex: Integer; SearchResultRecords: array of TSearchResultRecord) of object;
- TRealICQAddFriendRequestEvent = procedure(Sender: TObject; ALoginName: String; ATag: String) of object;
- TRealICQAddFriendResponseEvent = procedure(Sender: TObject; ALoginName: String; ATag: String; AAcceptted: Boolean) of object;
- TRealICQHeadImageReadyEvent = procedure(Sender: TObject; RealICQUser: TRealICQUser) of object;
- TRealICQChangePasswordResultEvent = procedure(Sender: TObject; APassChanged: Boolean; ANewPassword: String) of object;
- TRealICQReConnectExecuteEvent = procedure(Sender: TObject; ASeconds: Integer) of object;
- TRealICQRemovedUserEvent = procedure(Sender: TObject; ALoginName: String) of object;
- TRealICQAddedBlacklistsEvent = procedure(Sender: TObject; ALoginName: String) of object;
- TRealICQGetWebTabsEvent = procedure(Sender: TObject; ATabCount: Integer; WebTabRecords: array of TWebTabRecord) of object;
- TRealICQDownloadFileEvent = procedure(Sender: TObject; AFileName: String) of object;
- TRealICQSendedMessageEvent = procedure(Sender: TObject; RealICQMessage: TRealICQMessage) of object;
- TRealICQReceivedMessageEvent = procedure(Sender: TObject; RealICQMessage: TRealICQMessage) of object;
- TRealICQSendMessageFailedEvent = procedure(Sender: TObject; RealICQMessage: TRealICQMessage) of object;
- TRealICQSendedSendFileRequestEvent = procedure(Sender: TObject; FileTransmitter: TObject) of object;
- TRealICQGettedSendFileRequestEvent = procedure(Sender: TObject; SendFileRequestInfo: TSendFileRequestInfo) of object;
- TRealICQCancelSendFileEvent = procedure(Sender: TObject; ALoginName: String; AOppositeID: Cardinal) of object;
- TRealICQPleaseSendFaceToMeEvent = procedure(Sender: TObject; ALoginName, AFaceMD5Code: String) of object;
- TRealICQInputtingEvent = procedure(Sender: TObject; ALoginName: String; AInputting: Boolean) of object;
- TRealICQSendedAudioTransmiteRequestEvent = procedure(Sender: TObject; ALoginName: String) of object;
- TRealICQGettedAudioTransmiteRequestEvent = procedure(Sender: TObject; ALoginName: String) of object;
- TRealICQGettedAudioTransmiteResponseEvent = procedure(Sender: TObject; ALoginName: String; AAcceptted: Boolean) of object;
- TRealICQGettedCancelAudioTransmiteEvent = procedure(Sender: TObject; ALoginName: String) of object;
- TRealICQGettedStopAudioTransmiteEvent = procedure(Sender: TObject; ALoginName: String; AIsStopper: Boolean) of object;
- TRealICQGettedAudioTransmiteConnecttedEvent = procedure(Sender: TObject; ALoginName: String) of object;
- TRealICQCalculatedWaveInVolumeEvent = procedure(Sender: TObject; ALoginName: String; AVolume: Integer) of object;
- TRealICQCalculatedWaveOutVolumeEvent = procedure(Sender: TObject; ALoginName: String; AVolume: Integer) of object;
- TRealICQSendedVideoTransmiteRequestEvent = procedure(Sender: TObject; ALoginName: String) of object;
- TRealICQGettedVideoTransmiteRequestEvent = procedure(Sender: TObject; ALoginName: String) of object;
- TRealICQGettedVideoTransmiteResponseEvent = procedure(Sender: TObject; ALoginName: String; AAcceptted: Boolean) of object;
- TRealICQGettedCancelVideoTransmiteEvent = procedure(Sender: TObject; ALoginName: String) of object;
- TRealICQGettedStopVideoTransmiteEvent = procedure(Sender: TObject; ALoginName: String; AIsStopper: Boolean) of object;
- TRealICQGettedVideoTransmiteConnecttedEvent = procedure(Sender: TObject; ALoginName: String; ASendBigBmp, ARecvBigBmp: Boolean) of object;
- TRealICQReceivedVideoImageEvent = procedure(Sender: TObject; ALoginName: String; ABitmap: TBitmap) of object;
- TRealICQCapturedVideoImageEvent = procedure(Sender: TObject; ALoginName: String; ABitmap: TBitmap) of object;
- TRealICQCreateTeamResultEvent = procedure(Sender: TObject; ATeamCaption: String; ACreated: Boolean; ATeamID: String; AFailingCause: String) of object;
- TRealICQTeamInfoReadyEvent = procedure(Sender: TObject; ARealICQTeam: TRealICQTeam) of object;
- TRealICQJoinedTeamEvent = procedure(Sender: TObject; ARealICQTeam: TRealICQTeam) of object;
- TRealICQTeamDisbandedEvent = procedure(Sender: TObject; ARealICQTeam: TRealICQTeam) of object;
- TRealICQTeamQuittedEvent = procedure(Sender: TObject; ARealICQTeam: TRealICQTeam; ALoginName: String) of object;
- TRealICQSearchTeamResultEvent = procedure(Sender: TObject; ARecordCount: Integer; APageCount: Integer; APageIndex: Integer; SearchTeamResultRecords: array of TSearchTeamResultRecord) of object;
- TRealICQJoinTeamRequestEvent = procedure(Sender: TObject; ARealICQTeam: TRealICQTeam; ALoginName: String; ATag: String) of object;
- TRealICQJoinTeamResponseEvent = procedure(Sender: TObject; ATeamID: String; ALoginName: String; ATag: String; AAcceptted: Boolean) of object;
- TRealICQSendedTeamMessageEvent = procedure(Sender: TObject; RealICQTeamMessage: TRealICQTeamMessage) of object;
- TRealICQReceivedTeamMessageEvent = procedure(Sender: TObject; RealICQTeamMessage: TRealICQTeamMessage) of object;
- TRealICQSendTeamMessageFailedEvent = procedure(Sender: TObject; RealICQTeamMessage: TRealICQTeamMessage) of object;
- TRealICQPleaseUploadTeamFaceEvent = procedure(Sender: TObject; MD5String: String; var FileName: String) of object;
- TRealICQDownloadTeamFaceEvent = procedure(Sender: TObject; AFileName: String) of object;
- TRealICQReceivedSystemMessageEvent = procedure(Sender: TObject; ASystemMessage: TRealICQSystemMessage) of object;
- TRealICQShakeWindowEvent = procedure(Sender: TObject; ALoginName: String) of object;
- TRealICQReceivedCustomMessageEvent = procedure(Sender: TObject; AContent: String) of object;
- TRealICQGetDBProcedureResultEvent = procedure(Sender: TObject; DBProcedureName, ArgIn, ArgOut: String) of object;
- TRealICQSMSResultEvent = procedure(Sender: TObject; AMessageID: Cardinal; AResult: Integer) of object;
- TRealICQReceivedSMSEvent = procedure(Sender: TObject; ASMSSender, ASMSContent: String; ASMSDateTime: TDateTime) of object;
- TRealICQReceivedOfflineAutoResponseSetEvent = procedure(Sender: TObject; AEnabled: Boolean; AText: String) of object;
- TRealICQReceivedServerListEvent = procedure(Sender: TObject; AServerList: String) of object;
- TRealICQReceivedOfflineFileEvent = procedure(Sender: TObject; ASender, AFileName: String; AFileSize: Int64; ASendDateTime: TDateTime) of object;
- TRealICQSendedRemoteControlTransmiteRequestEvent = procedure(Sender: TObject; ALoginName: String) of object;
- TRealICQGettedRemoteControlTransmiteRequestEvent = procedure(Sender: TObject; ALoginName: String) of object;
- TRealICQGettedRemoteControlTransmiteResponseEvent = procedure(Sender: TObject; ALoginName: String; AAcceptted: Boolean) of object;
- TRealICQGettedCancelRemoteControlTransmiteEvent = procedure(Sender: TObject; ALoginName: String) of object;
- TRealICQGettedStopRemoteControlTransmiteEvent = procedure(Sender: TObject; ALoginName: String; AIsStopper: Boolean) of object;
- TRealICQGettedRemoteControlTransmiteConnecttedEvent = procedure(Sender: TObject; ALoginName: String) of object;
- TRealICQGettedRemoteControlTransmiteScreenSizeEvent = procedure(Sender: TObject; ALoginName: String; AWidth, AHeight: Integer) of object;
- TRealICQGettedRemoteControlTransmiteScreenImageEvent = procedure(Sender: TObject; ALoginName: String; ALeft, ATop, AWidth, AHeight: Integer; AP: TPoint; ABitmap: TBitmap) of object;
- TRealICQGettedRemoteControlTransmiteCursorPosEvent = procedure(Sender: TObject; ALoginName: String; AP: TPoint) of object;
- TRealICQCancelControlRemoteControlTransmiteEvent = procedure(Sender: TObject; ALoginName: String) of object;
- TRealICQSendedRemoteControlTransmiteControlRequestEvent = procedure(Sender: TObject; ALoginName: String) of object;
- TRealICQGettedRemoteControlTransmiteControlRequestEvent = procedure(Sender: TObject; ALoginName: String) of object;
- TRealICQGettedRemoteControlTransmiteControlResponseEvent = procedure(Sender: TObject; ALoginName: String; AAcceptted: Boolean) of object;
- TRealICQGettedRemoteControlTransmiteBeControlResponseEvent = procedure(Sender: TObject; ALoginName: String; AAcceptted: Boolean) of object;
- TRealICQGettedSendFolderRequestEvent = procedure(Sender: TObject; AID, ACount: Cardinal; ALoginName: String; AFilesStream: TStream) of object;
- TRealICQCanceledSendFolderEvent = procedure(Sender: TObject; AID: Cardinal; ALoginName: String) of object;
- TRealICQGetNotReadMessageCountEvent = procedure(Sender: TObject; iCount: Integer) of object;
- TRealICQGetSystemNoticesCountEvent = procedure(Sender: TObject; iCount: Integer; NoticesRecords: array of TSystemNotices) of object;
- const
- ImageX2_DLL_PACH = 'binary\ImageX2.dll';
- IEContext_DLL_PACH = 'binary\IEContext.dll';
- AppCentreCom_DLL_PACH = 'binary\AppCentreCom.dll';
- implementation
- uses
- RealICQClient, MD5;
- { TWebTabRecord }
- function TWebTabRecord.GetIconFile: String;
- var
- FilePath,
- AFileName: String;
- begin
- FilePath := TRealICQClient.GetDownloadFileDir;
- AFileName := FilePath + Icon;
- Result := AFileName;
- end;
- {TRealICQUser}
- function TRealICQUser.GetRealICQPtoPBox: TObject;
- begin
- if FRealICQPtoPBox = nil then
- begin
- FRealICQPtoPBox := TRealICQPtoPBox.Create(LoginName, FRealICQClient as TRealICQClient, True, True);
- end;
- Result := FRealICQPtoPBox;
- end;
- function TRealICQUser.IsNeedRequestUserStatus: Boolean;
- begin
- Result := (LastReflashLoginStatus = 0) or
- ((GetTickCount - LastReflashLoginStatus) > 180000);
- if Result then
- LastReflashLoginStatus := GetTickCount;
- end;
- function TRealICQUser.GetAddress: String;
- begin
- if (LoginState <> stOffline) and (LoginState <> stHidden) then
- Result := Address
- else
- Result := '';
- end;
- function TRealICQUser.GetPort: Word;
- begin
- if (LoginState <> stOffline) and (LoginState <> stHidden) then
- Result := FPort
- else
- Result := 0;
- end;
- procedure TRealICQUser.ClickedSNSIcon;
- begin
- FClickedSNS := True;
- // FLastClickSNSUpdateTime := FSNSUpdateTime;
- // (FRealICQClient as TRealICQClient).SaveLastSNSUpdateTime(Self);
- end;
- function TRealICQUser.GetHasNewSNSUpdate: Boolean;
- begin
- Result := False;
- if FClickedSNS then Exit;
- //Dialogs.ShowMessage(Self.FLoginName + ' ' + FloatToStr(FLastClickSNSUpdateTime) + ' ' + FloatToStr(FSNSUpdateTime));
- // if FLastClickSNSUpdateTime >= FSNSUpdateTime then Exit;
- // Result := FSNSUpdateTime >= Now - 3;
- //Dialogs.ShowMessage(Format('', [FSNSUpdateTime - 3]));
- end;
- function TRealICQUser.GetHeadImageFile: String;
- var
- FilePath,
- FileName: String;
- MD5HashValue: MD5Digest;
- MD5HashString: String;
- begin
- Result := '';
- if HeadImageHashValue = '' then
- Exit;
-
- FilePath := TRealICQClient.GetHeadImageDir;
- FileName := FilePath + HeadImageHashValue;
- case HeadImageFileType of
- htJPG: Result := FileName + '.JPG';
- htGIF: Result := FileName + '.GIF';
- htBMP: Result := FileName + '.BMP';
- end;
- if FileExists(Result) then
- begin
- MD5HashValue := MD5File(Result);
- MD5HashString := MD5.MD5Print(MD5HashValue);
- if not AnsiSameText(MD5HashString, HeadImageHashValue) then
- begin
- try
- DeleteFile(Result);
- except
- end;
- end;
- end;
-
- end;
- //------------------------------------------------------------------------------
- constructor TRealICQUser.Create(ALoginName: String; ARealICQClient: TObject);
- begin
- inherited Create;
- LoginName := ALoginName;
- FRealICQClient := ARealICQClient;
- Sex := seUnknown;
- LoginState := stOffline;
- HeadImageFileType := htNONE;
- Secret := slOnlyFriendCanSee;
- CurrentExInfoVersion := -1;
- SNSUpdateTime := 2;
- end;
- destructor TRealICQUser.Destroy;
- begin
- if FRealICQPtoPBox <> nil then
- FreeAndNil(FRealICQPtoPBox);
- inherited;
- end;
- { TSendFileRequestInfo }
- constructor TSendFileRequestInfo.Create(ALoginName: string; AObjective: TFileTransmitterObjective;
- AOppositeID: Cardinal; AFileLength: Int64; AFileName, AMD5Code,
- AFileExtImage: string);
- begin
- FLoginName := ALoginName;
- FObjective := AObjective;
- FOppositeID := AOppositeID;
- FFileLength := AFileLength;
- FFileName := AFileName;
- FMD5Code := AMD5Code;
- FFileExtImage := AFileExtImage;
- end;
- { TRealICQMessage }
- constructor TRealICQMessage.Create(ASender,
- AReceiver,
- AFontStr, AMessageStr: String;AIsEncryMessage:Boolean);
- begin
- inherited Create;
- FIsEncryMessage:=AIsEncryMessage;
- FSender := ASender;
- FReceiver := AReceiver;
- FFontStr := AFontStr;
- FMessageStr := AMessageStr;
- end;
- { TRealICQTeamMessage }
- constructor TRealICQTeamMessage.Create(ATeamID: String;
- ASender,
- AFontStr,
- AMessageStr: String;IsEncry:Boolean);
- begin
- inherited Create;
-
- FTeamID := ATeamID;
- FSender := ASender;
- FFontStr := AFontStr;
- FMessageStr := AMessageStr;
- FIsEncryMessage:=IsEncry;
- end;
- function TRealICQBranchInfo.Clone: TRealICQBranchInfo;
- begin
- Result := TRealICQBranchInfo.Create;
- Result.ID := ID;
- Result.ParentID := ParentID;
- Result.BranchName := BranchName;
- Result.OnlineEmployee := OnlineEmployee;
- Result.EmployeeCount := EmployeeCount;
- Result.IsGetUserList := IsGetUserList;
- end;
- { TRealICQTeam }
- function TRealICQTeam.Clone: TRealICQTeam;
- begin
- Result := TRealICQTeam.Create;
- Result.TeamID := TeamID;
- Result.TeamCaption := TeamCaption;
- Result.TeamCreater := TeamCreater;
- Result.TeamCallBoard := TeamCallBoard;
- Result.TeamIntro := TeamIntro;
- Result.TeamValidate := TeamValidate;
- Result.TeamManagers := TeamManagers;
- Result.TeamMembers := TeamMembers;
- Result.IsTempTeam := IsTempTeam;
- end;
- {TFace}
- //------------------------------------------------------------------------------
- procedure TFace.SetFileName(Value: String);
- begin
- FFileName := Value;
- end;
- //------------------------------------------------------------------------------
- procedure TFace.Assign(AFace: TFace);
- begin
- FName := AFace.FName;
- FShortCut := AFace.FShortCut;
- FFileName := AFace.FFileName;
- end;
- //------------------------------------------------------------------------------
- constructor TFace.Create(AFileName, AShortCut, AName, AMD5Code: String; ACategory: String);
- begin
- FFileName := AFileName;
- FShortCut := AShortCut;
- FName := AName;
- FMD5Code := AMD5Code;
- FCategory := ACategory;
- end;
- end.
|