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

📄 transinterface.pas

📁 一个很好的学习例子,有需要的请下载研究,
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    FOnDeleteTransactionParameter: TOnParameterEvent;
    FOnDeleteDocumentParameter: TOnParameterEvent;

    FOnGetListValuePairs: TOnListValuePairsEvent;
    FOnAddListValuePair: TOnListValuePairEvent;
    FOnDeleteListValuePairDef: TOnStringIDEvent;
    FOnDeleteListValuePair: TOnDoubleStringIDEvent;

    FOnSetBranchID: TOnStringIDExEvent;
    FOnGetBranchID: TOnGetStringEvent;
    FOnChangePassword: TOnStringIDExEvent;
    FOnSetReleaserCount: TOnIntegerEvent;
    FOnGetReleaserCount: TOnGetIntegerEvent;

    FOnGetPassword: TOnGetPasswordEvent;

    FPageStoredPath: string;


    procedure SetTransServer(const Value: TImageTransServer);
    procedure SetOnLogin(const Value: TOnLoginEvent);
    procedure SetOnLogout(const Value: TOnLogoutEvent);
    procedure SetOnGetUserProfile(const Value: TOnGetUserProfileEvent);

    procedure InternalDoSendFolder(AStream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);
    procedure InternalDoSendTransaction(AStream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);

    procedure InternalDoResendFolder(AStream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);
    procedure InternalDoResendTransaction(AStream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);
    procedure InternalDoSaveTransaction(AStream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);
    procedure InternalDoSaveFolder(AStream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);

    procedure InternalDeleteFolder(AStream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);
    procedure InternalDeleteTransaction(AStream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);
    procedure InternalDeleteDocument(AStream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);
    procedure InternalDeletePage(AStream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);

    procedure InternalCreateFolder(AStream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);
    procedure InternalCreateTransaction(AStream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);
    procedure InternalCreateDocument(AStream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);

    procedure InternalReleaseFolder(AStream: TStream; const User: string;  var Flag: boolean; var ErrMsg: string);
    procedure InternalReleaseTransaction(AStream: TStream;  const User: string; var Flag: boolean; var ErrMsg: string);

    procedure InternalRejectFolder(AStream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);
    procedure InternalRejectTransaction(AStream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);

    procedure InternalGetAllFolders(Cmd: TMethodDefine; Stream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);
    procedure InternalGetAllTransaction(Stream: TStream; var Flag: boolean; var ErrMsg: string);
    procedure InternalGetAllFaxes(Stream: TStream; var Flag: boolean; var ErrMsg: string);

    procedure InternalGetTransaction(Stream: TStream; var Flag: boolean; var ErrMsg: string);
    procedure InternalGetPage(Stream: TStream; var Flag: boolean; var ErrMsg: string);

    procedure InternalMoveFax(Stream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);

    procedure InternalGetUsers(Stream: TStream; var Flag: boolean; var ErrMsg: string);
    procedure InternalGetUser(Stream: TStream; var Flag: boolean; var ErrMsg: string);
    procedure InternalAddUser(Stream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);
    procedure InternalUpdateUser(Stream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);
    procedure InternalDeleteUser(Stream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);

    procedure InternalGetTypes(const AObjectLevel: TStorageObjectLevel; Stream: TStream; var Flag: boolean; var ErrMsg: string);
    procedure InternalAddType(const AObjectLevel: TStorageObjectLevel; Stream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);
    procedure InternalDeleteType(const AObjectLevel: TStorageObjectLevel; Stream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);

    procedure InternalGetSubTypes(const AParentLevel: TStorageObjectLevel; Stream: TStream; var Flag: boolean; var ErrMsg: string);
    procedure InternalAddSubType(const AParentLevel: TStorageObjectLevel; Stream: TStream; var Flag: boolean; var ErrMsg: string);
    procedure InternalDeleteSubType(const AParentLevel: TStorageObjectLevel; Stream: TStream; var Flag: boolean; var ErrMsg: string);

    procedure InternalGetParameters(const AObjectLevel: TStorageObjectLevel; Stream: TStream; var Flag: boolean; var ErrMsg: string);
    procedure InternalGetParameter(const AObjectLevel: TStorageObjectLevel; Stream: TStream; var Flag: boolean; var ErrMsg: string);
    procedure InternalAddParameter(const AObjectLevel: TStorageObjectLevel; Stream: TStream; var Flag: boolean; var ErrMsg: string);
    procedure InternalUpdateParameter(const AObjectLevel: TStorageObjectLevel; Stream: TStream; var Flag: boolean; var ErrMsg: string);
    procedure InternalDeleteParameter(const AObjectLevel: TStorageObjectLevel; Stream: TStream; var Flag: boolean; var ErrMsg: string);

    procedure InternalAddListValuePair(Stream: TStream; var Flag: boolean; var ErrMsg: string);
    procedure InternalGetListValuePairs(Stream: TStream; var Flag: boolean; var ErrMsg: string);
    procedure InternalDeleteListValuePair(DeleteDefault: boolean; Stream: TStream; var Flag: boolean; var ErrMsg: string);

    procedure InternalSetBranchID(Stream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);
    procedure InternalGetBranchID(Stream: TStream; var Flag: boolean; var ErrMsg: string);
    procedure InternalSetReleaserCount(Stream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);
    procedure InternalGetReleaserCount(Stream: TStream; var Flag: boolean; var ErrMsg: string);
    procedure InternalChangePassword(Stream: TStream; User: string; var Flag: boolean; var ErrMsg: string);
    procedure InternalGetPassword(Stream: TStream; User: string; var Flag: boolean; var ErrMsg: string);
  protected
    procedure Notification(AComponent:TComponent;Operation:TOperation); override;

    procedure DoServerReceived(Stream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);
    procedure DoServerRetrieve(Stream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);
    procedure DoServerOperate(Stream: TStream; const User: string; var Flag: boolean; var ErrMsg: string);
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;

    function GetLastError: string;
    function LastErrorCode: integer;
  published
    property OnLogin: TOnLoginEvent read FOnLogin write SetOnLogin;
    property OnLogout: TOnLogoutEvent read FOnLogout write SetOnLogout;
    property OnGetUserProfile: TOnGetUserProfileEvent read FOnGetUserProfile write SetOnGetUserProfile;

    property OnSendFolder: TOnFolderExEvent read FOnSendFolder write FOnSendFolder;
    property OnSendTransaction: TOnTransactionExEvent read FOnSendTransaction write FOnSendTransaction;

    property OnResendFolder: TOnFolderExEvent read FOnResendFolder write FOnResendFolder;
    property OnResendTransaction: TOnTransactionExEvent read FOnResendTransaction write FOnResendTransaction;

    property OnDeleteFolder: TOnFolderExEvent read FOnDeleteFolder write FOnDeleteFolder;
    property OnDeleteTransaction: TOnTransactionExEvent read FOnDeleteTransaction write FOnDeleteTransaction;
    property OnDeleteDocument: TOnDocumentExEvent read FOnDeleteDocument write FOnDeleteDocument;
    property OnDeletePage: TOnPageEvent read FOnDeletePage write FOnDeletePage;

    property OnCreateFolder: TOnFolderExEvent read FOnCreateFolder write FOnCreateFolder;
    property OnCreateTransaction: TOnTransactionExEvent read FOnCreateTransaction write FOnCreateTransaction;
    property OnCreateDocument: TOnDocumentExEvent read FOnCreateDocument write FOnCreateDocument;

    property OnReleaseFolder: TOnFolderExEvent read FOnReleaseFolder write FOnReleaseFolder;
    property OnReleaseTransaction: TOnTransactionExEvent read FOnReleaseTransaction write FOnReleaseTransaction;

    property OnRejectFolder: TOnFolderExEvent read FOnRejectFolder write FOnRejectFolder;
    property OnRejectTransaction: TOnTransactionExEvent read FOnRejectTransaction write FOnRejectTransaction;

    property OnGetAllFolders: TOnFolderListEvent read FOnGetAllFolders write FOnGetAllFolders;
    property OnGetAllTransaction: TOnFolderEvent read FOnGetAllTransaction write FOnGetAllTransaction;
    property OnGetAllFaxes: TOnPageListEvent read FOnGetAllFaxes write FOnGetAllFaxes;
    property OnGetAllRejectedFolders: TOnFolderListExEvent read FOnGetAllRejectedFolders write FOnGetAllRejectedFolders;
    property OnGetAllReleaseFolders: TOnFolderListExEvent read FOnGetAllReleaseFolders write FOnGetAllReleaseFolders;
    property OnGetTransaction: TOnTransactionEvent read fOnGetTransaction write fOnGetTransaction;
    property OnSaveTransaction: TOnTransactionExEvent read fOnSaveTransaction write fOnSaveTransaction;
    property OnSaveFolder: TOnFolderExEvent read fOnSaveFolder write fOnSaveFolder;
    property OnMoveFax: TOnPageEvent read FOnMoveFax write FOnMoveFax;

    property OnGetPage: TOnPageIDEvent read FOnGetPage write FOnGetPage;

    property OnGetUser: TOnUserEvent read FOnGetUser write FOnGetUser;
    property OnGetUserList: TOnUserListEvent read FOnGetUserList write FOnGetUserList;
    property OnAddUser: TOnUserExEvent read FOnAddUser write FOnAddUser;
    property OnUpdateUser: TOnUserExEvent read FOnUpdateUser write FOnUpdateUser;
    property OnDeleteUser: TOnUserExEvent read FOnDeleteUser write FOnDeleteUser;

    property OnGetFolderTypeList: TOnTypeListEvent read FOnGetFolderTypeList write FOnGetFolderTypeList;
    property OnAddFolderType: TOnTypeExEvent read FOnAddFolderType write FOnAddFolderType;
    property OnDeleteFolderType: TOnTypeEvent read FOnDeleteFolderType write FOnDeleteFolderType;

    property OnGetTransactionTypeList: TOnTypeListEvent read FOnGetTransactionTypeList write FOnGetTransactionTypeList;
    property OnAddTransactionType: TOnTypeExEvent read FOnAddTransactionType write FOnAddTransactionType;
    property OnDeleteTransactionType: TOnTypeEvent read FOnDeleteTransactionType write FOnDeleteTransactionType;

    property OnGetDocumentTypeList: TOnTypeListEvent read FOnGetDocumentTypeList write FOnGetDocumentTypeList;
    property OnAddDocumentType: TOnTypeExEvent read FOnAddDocumentType write FOnAddDocumentType;
    property OnDeleteDocumentType: TOnTypeEvent read FOnDeleteDocumentType write FOnDeleteDocumentType;

    property OnGetSubTransactionTypes: TOnSubTypeListEvent read FOnGetSubTransactionTypes write FOnGetSubTransactionTypes;
    property OnGetSubDocumentTypes: TOnSubTypeListEvent read FOnGetSubDocumentTypes write FOnGetSubDocumentTypes;

    property OnAddTransactionTypeToFolderType: TOnSubTypeEvent read FOnAddTransactionTypeToFolderType write FOnAddTransactionTypeToFolderType;
    property OnAddDocumentTypeToTransactionType: TOnSubTypeEvent read FOnAddDocumentTypeToTransactionType write FOnAddDocumentTypeToTransactionType;
    property OnDeleteTransactionTypeFromFolderType: TOnSubTypeEvent read FOnDeleteTransactionTypeFromFolderType write FOnDeleteTransactionTypeFromFolderType;
    property OnDeleteDocumentTypeFromTransactionType: TOnSubTypeEvent read FOnDeleteDocumentTypeFromTransactionType write FOnDeleteDocumentTypeFromTransactionType;

    property OnGetFolderParameters: TOnParameterListEvent read FOnGetFolderParameters write FOnGetFolderParameters;
    property OnGetTransactionParameters: TOnParameterListEvent read FOnGetTransactionParameters write FOnGetTransactionParameters;
    property OnGetDocumentParameters: TOnParameterListEvent read FOnGetDocumentParameters write FOnGetDocumentParameters;

    property OnGetFolderParameter: TOnParameterIDEvent read FOnGetFolderParameter write FOnGetFolderParameter;
    property OnGetTransactionParameter: TOnParameterIDEvent read FOnGetTransactionParameter write FOnGetTransactionParameter;
    property OnGetDocumentParameter: TOnParameterIDEvent read FOnGetDocumentParameter write FOnGetDocumentParameter;

    property OnAddFolderParameter: TOnParameterEvent read FOnAddFolderParameter write FOnAddFolderParameter;
    property OnAddTransactionParameter: TOnParameterEvent read FOnAddTransactionParameter write FOnAddTransactionParameter;
    property OnAddDocumentParameter: TOnParameterEvent read FOnAddDocumentParameter write FOnAddDocumentParameter;

    property OnUpdateFolderParameter: TOnParameterEvent read FOnUpdateFolderParameter write FOnUpdateFolderParameter;
    property OnUpdateTransactionParameter: TOnParameterEvent read FOnUpdateTransactionParameter write FOnUpdateTransactionParameter;
    property OnUpdateDocumentParameter: TOnParameterEvent read FOnUpdateDocumentParameter write FOnUpdateDocumentParameter;

    property OnDeleteFolderParameter: TOnParameterEvent read FOnDeleteFolderParameter write FOnDeleteFolderParameter;
    property OnDeleteTransactionParameter: TOnParameterEvent read FOnDeleteTransactionParameter write FOnDeleteTransactionParameter;
    property OnDeleteDocumentParameter: TOnParameterEvent read FOnDeleteDocumentParameter write FOnDeleteDocumentParameter;

    property OnGetListValuePairs: TOnListValuePairsEvent read FOnGetListValuePairs write FOnGetListValuePairs;
    property OnAddListValuePair: TOnListValuePairEvent read FOnAddListValuePair write FOnAddListValuePair;
    property OnDeleteListValuePairDef: TOnStringIDEvent read FOnDeleteListValuePairDef write FOnDeleteListValuePairDef;
    property OnDeleteListValuePair: TOnDoubleStringIDEvent read FOnDeleteListValuePair write FOnDeleteListValuePair;

    property OnSetBranchID: TOnStringIDExEvent read FOnSetBranchID write FOnSetBranchID;
    property OnGetBranchID: TOnGetStringEvent read FOnGetBranchID write FOnGetBranchID;
    property OnSetReleaserCount: TOnIntegerEvent read FOnSetReleaserCount write FOnSetReleaserCount;
    property OnGetReleaserCount: TOnGetIntegerEvent read FOnGetReleaserCount write FOnGetReleaserCount;
    property OnChangePassword: TOnStringIDExEvent read FOnChangePassword write FOnChangePassword;
    property OnGetPassword: TOnGetPasswordEvent read FOnGetPassword write FOnGetPassword;

    property PageStoredPath: string read FPageStoredPath write FPageStoredPath;
    property Transport: TImageTransServer read fTransServer write SetTransServer;
  end;

implementation

const
  Sys_Page_ID = 'Page ID';

resourcestring
  RS_InvaildObjectLevel = 'Invaild storage object level';
  RS_InvaildParentID    = 'Invaild parent ID';
  RS_NoPageID           = 'Page''s ID doesn''t exist!';

{ TScanClient }

function TScanClient.AddDocTypeToTransType(ATransactionTypeID,
  ADocumentID: string): boolean;
begin
  Result := InternalAddSubType(solTransaction, ATransactionTypeID, ADocumentID);
end;

function TScanClient.AddDocumentType(AType: TType): boolean;
begin
  Result := InternalAddType(solDocument, AType);
end;

function TScanClient.AddFolderType(AType: TType): boolean;
begin
  Result := InternalAddType(solFolder, AType);
end;

function TScanClient.AddTransactionType(AType: TType): boolean;
begin
  Result := InternalAddType(solTransaction, AType);
end;

function TScanClient.AddTransTypeToFolderType(AFolderTypeID,
  ATransactionTypeID: string): boolean;
begin
  Result := InternalAddSubType(solFolder, AFolderTypeID, ATransactionTypeID);
end;

function TScanClient.AddUser(AUser: TUser): boolean;
var
  AStream: TTempFileStream;
  ACmd: TMethodDefine;
begin
  AStream := TTempFileStream.Create(Temp_Prefix);
  try
    ACmd := mdAddUser;
    AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
    AUser.SaveToStream(AStream);

    Result := fTransClient.Operate(AStream);
  finally
    AStream.Free;
  end;
end;

constructor TScanClient.Create;
begin
  inherited;
  FErrorMsg := '';
  FErrorCode := 0;
  fTransClient := nil;
end;

function TScanClient.CreateDocument(ADocument: TDocument): boolean;
var
  AStream: TTempFileStream;
  ACmd: TMethodDefine;
begin
  AStream := TTempFileStream.Create(Temp_Prefix);
  try
    ACmd := mdCreateDocument;
    AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
    ADocument.SaveToStream(AStream);

    Result := fTransClient.Operate(AStream);
  finally
    AStream.Free;
  end;
end;

function TScanClient.CreateFolder(AFolder: TFolder): boolean;
var
  AStream: TTempFileStream;
  ACmd: TMethodDefine;
begin
  AStream := TTempFileStream.Create(Temp_Prefix);
  try
    ACmd := mdCreateFolder;
    AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
    AFolder.SaveToStream(AStream);

    Result := fTransClient.Operate(AStream);
  finally
    AStream.Free;
  end;
end;

function TScanClient.CreateTransaction(
  ATransaction: TTransaction): boolean;
var
  AStream: TTempFileStream;
  ACmd: TMethodDefine;
begin
  AStream := TTempFileStream.Create(Temp_Prefix);
  try
    ACmd := mdCreateTransaction;
    AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
    ATransaction.SaveToStream(AStream);

    Result := fTransClient.Operate(AStream);
  finally
    AStream.Free;
  end;
end;

function TScanClient.DeleteDocument(ADocument: TDocument): boolean;
var
  AStream: TTempFileStream;
  ACmd: TMethodDefine;
begin
  AStream := TTempFileStream.Create(Temp_Prefix);
  try
    ACmd := mdDeleteDocument;
    AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
    ADocument.SaveToStream(AStream);

    Result := fTransClient.Operate(AStream);
  finally
    AStream.Free;
  end;
end;

function TScanClient.DeleteDocumentType(ATypeID: string): boolean;
begin
  Result := InternalDeleteType(solDocument, ATypeID);
end;

function TScanClient.DeleteFolder(AFolder: TFolder): boolean;
var
  AStream: TTempFileStream;
  ACmd: TMethodDefine;
begin
  AStream := TTempFileStream.Create(Temp_Prefix);
  try
    ACmd := mdDeleteFolder;
    AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
    AFolder.SaveToStream(AStream);

    Result := fTransClient.Operate(AStream);
  finally
    AStream.Free;
  end;
end;

function TScanClient.DeleteFolderType(ATypeID: string): boolean;
begin
  Result := InternalDeleteType(solFolder, ATypeID);
end;

function TScanClient.DeletePage(APage: TPage): boolean;
var
  AStream: TTempFileStream;
  ACmd: TMethodDefine;
begin
  AStream := TTempFileStream.Create(Temp_Prefix);
  try
    ACmd := mdDeletePage;
    AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
    APage.SaveToStream(AStream);

    Result := fTransClient.Operate(AStream);
  finally
    AStream.Free;
  end;
end;

function TScanClient.DeleteTransaction(
  ATransaction: TTransaction): boolean;
var
  AStream: TTempFileStream;
  ACmd: TMethodDefine;
begin

⌨️ 快捷键说明

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