📄 transinterface.pas
字号:
AStream.Free;
end;
end;
procedure TScanClient.Notification(AComponent: TComponent;
Operation: TOperation);
begin
inherited Notification(AComponent, Operation);
if (Operation = opRemove) and (AComponent = fTransClient) then
fTransClient := nil;
end;
function TScanClient.RejectFolder(AFolder: TFolder): boolean;
var
AStream: TTempFileStream;
ACmd: TMethodDefine;
begin
AStream := TTempFileStream.Create(Temp_Prefix);
try
ACmd := mdRejectFolder;
AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
AFolder.SaveToStream(AStream);
Result := fTransClient.Operate(AStream);
finally
AStream.Free;
end;
end;
function TScanClient.RejectTransaction(
ATransaction: TTransaction): boolean;
var
AStream: TTempFileStream;
ACmd: TMethodDefine;
begin
AStream := TTempFileStream.Create(Temp_Prefix);
try
ACmd := mdRejectTransaction;
AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
ATransaction.SaveToStream(AStream);
Result := fTransClient.Operate(AStream);
finally
AStream.Free;
end;
end;
function TScanClient.ReleaseFolder(AFolder: TFolder): boolean;
var
AStream: TTempFileStream;
ACmd: TMethodDefine;
begin
AStream := TTempFileStream.Create(Temp_Prefix);
try
ACmd := mdReleaseFolder;
AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
AFolder.SaveToStream(AStream);
Result := fTransClient.Operate(AStream);
finally
AStream.Free;
end;
end;
function TScanClient.ReleaseTransaction(
ATransaction: TTransaction): boolean;
var
AStream: TTempFileStream;
ACmd: TMethodDefine;
begin
AStream := TTempFileStream.Create(Temp_Prefix);
try
ACmd := mdReleaseTransaction;
AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
ATransaction.SaveToStream(AStream);
Result := fTransClient.Operate(AStream);
finally
AStream.Free;
end;
end;
function TScanClient.ResendFolder(AFolder: TFolder): boolean;
var
AStream: TTempFileStream;
ACmd: TMethodDefine;
begin
AStream := TTempFileStream.Create(Temp_Prefix);
try
ACmd := mdResendFolder;
AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
AFolder.SaveToStream(AStream);
Result := fTransClient.Send(AStream);
finally
AStream.Free;
end;
end;
function TScanClient.ResendTransaction(
ATransaction: TTransaction): boolean;
var
AStream: TTempFileStream;
ACmd: TMethodDefine;
begin
AStream := TTempFileStream.Create(Temp_Prefix);
try
ACmd := mdResendTransaction;
AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
ATransaction.SaveToStream(AStream);
Result := fTransClient.Send(AStream);
finally
AStream.Free;
end;
end;
function TScanClient.SendFolder(AFolder: TFolder): boolean;
var
AStream: TTempFileStream;
ACmd: TMethodDefine;
begin
AStream := TTempFileStream.Create(Temp_Prefix);
try
ACmd := mdSendFolder;
AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
AFolder.SaveToStream(AStream);
Result := fTransClient.Send(AStream);
finally
AStream.Free;
end;
end;
function TScanClient.SendTransaction(ATransaction: TTransaction): boolean;
var
AStream: TTempFileStream;
ACmd: TMethodDefine;
begin
AStream := TTempFileStream.Create(Temp_Prefix);
try
ACmd := mdSendTransaction;
AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
ATransaction.SaveToStream(AStream);
Result := fTransClient.Send(AStream);
finally
AStream.Free;
end;
end;
procedure TScanClient.SetTransClient(const Value: TImageTransClient);
begin
fTransClient := Value;
if fTransClient <> nil then fTransClient.FreeNotification(Self);
end;
function TScanClient.UpdateUser(AUser: TUser): boolean;
var
AStream: TTempFileStream;
ACmd: TMethodDefine;
begin
AStream := TTempFileStream.Create(Temp_Prefix);
try
ACmd := mdUpdateUser;
AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
AUser.SaveToStream(AStream);
Result := fTransClient.Operate(AStream);
finally
AStream.Free;
end;
end;
function TScanClient.InternalDeleteSubType(
const AParentLevel: TStorageObjectLevel; AParentTypeID,
ASubTypeID: string): boolean;
var
AStream: TTempFileStream;
ACmd: TMethodDefine;
ATypeList: TTypeList;
begin
AStream := TTempFileStream.Create(Temp_Prefix);
try
case AParentLevel of
solFolder: ACmd := mdDeleteTxnTypeToFldType;
solTransaction: ACmd := mdDeleteDocTypeToTxnType;
else begin
Result := false;
Raise Exception.CreateRes(@RS_InvaildObjectLevel);
exit;
end
end;
AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
// Save Parent type ID and sub type ID in buffer
ATypeList := TTypeList.Create;
try
ATypeList.New.ID := AParentTypeId;
ATypeList.New.ID := ASubTypeID;
ATypeList.SaveToStream(AStream);
finally
ATypeList.Free;
end;
Result := fTransClient.Operate(AStream);
finally
AStream.Free;
end;
end;
function TScanClient.DeleteDocTypeFromTransactionType(ATransactionTypeID,
ADocumentID: string): boolean;
begin
Result := InternalDeleteSubType(solTransaction, ATransactionTypeID, ADocumentID);
end;
function TScanClient.DeleteTransTypeFromFolderType(AFolderTypeID,
ATransactionTypeID: string): boolean;
begin
Result := InternalDeleteSubType(solFolder, AFolderTypeID, ATransactionTypeID);
end;
function TScanClient.DeleteUser(AUserID: string): boolean;
var
AStream: TTempFileStream;
ACmd: TMethodDefine;
AUser: TUser;
begin
AStream := TTempFileStream.Create(Temp_Prefix);
try
ACmd := mdDeleteUser;
AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
AUser := TUser.Create;
try
AUser.ID := AUserID;
AUser.SaveToStream(AStream);
finally
AUser.Free;
end;
Result := fTransClient.Operate(AStream);
finally
AStream.Free;
end;
end;
function TScanClient.ChangePassword(ANewPassword: string): boolean;
var
AStream: TMemoryStream;
ACmd: TMethodDefine;
ASize: integer;
begin
AStream := TMemoryStream.Create;
try
ACmd := mdChangePassword;
AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
ASize := Length(ANewPassword);
AStream.Write(ASize, SizeOf(Integer));
AStream.Write(ANewPassword[1], ASize);
Result := fTransClient.Operate(AStream);
finally
AStream.Free;
end;
end;
function TScanClient.SetBranchID(AID: string): boolean;
var
AStream: TMemoryStream;
ACmd: TMethodDefine;
AIDSize: integer;
begin
AStream := TMemoryStream.Create;
try
ACmd := mdSetBranchID;
AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
AIDSize := Length(AID);
AStream.Write(AIDSize, SizeOf(Integer));
AStream.Write(AID[1], AIDSize);
Result := fTransClient.Operate(AStream);
finally
AStream.Free;
end;
end;
function TScanClient.SetReleaserCount(ACount: integer): boolean;
var
AStream: TMemoryStream;
ACmd: TMethodDefine;
begin
AStream := TMemoryStream.Create;
try
ACmd := mdSetReleaserCount;
AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
AStream.Write(ACount, SizeOf(ACount));
Result := fTransClient.Operate(AStream);
finally
AStream.Free;
end;
end;
function TScanClient.DeleteListValuePairDef(AParameterID: String): boolean;
var
AStream: TMemoryStream;
ACmd: TMethodDefine;
AIDSize: integer;
begin
AStream := TMemoryStream.Create;
try
ACmd := mdDeleteListValuePairDef;
AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
AIDSize := Length(AParameterID);
AStream.Write(AIDSize, SizeOf(Integer));
AStream.Write(AParameterID[1], AIDSize);
Result := fTransClient.Operate(AStream);
finally
AStream.Free;
end;
end;
function TScanClient.DeleteListValuePair(AParameterID,
AListValuePairID: String): boolean;
var
AStream: TMemoryStream;
ACmd: TMethodDefine;
AIDSize: integer;
begin
AStream := TMemoryStream.Create;
try
ACmd := mdDeleteListValuePair;
AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
// save AParemeterID into stream
AIDSize := Length(AParameterID);
AStream.Write(AIDSize, SizeOf(Integer));
AStream.Write(AParameterID[1], AIDSize);
// save AListValuePairID into stream
AIDSize := Length(AListValuePairID);
AStream.Write(AIDSize, SizeOf(Integer));
AStream.Write(AListValuePairID[1], AIDSize);
Result := fTransClient.Operate(AStream);
finally
AStream.Free;
end;
end;
function TScanClient.GetListValuePairs(AID: string;
APairList: TListValuePairList): boolean;
var
AStream: TTempFileStream;
ACmd: TMethodDefine;
begin
AStream := TTempFileStream.Create(Temp_Prefix);
try
ACmd := mdGetListValuePairs;
APairList.Clear;
// Save Parent ID
with APairList.New do
ID := AID;
AStream.WriteBuffer(ACmd, Sizeof(TMethodDefine));
APairList.SaveToStream(AStream);
Result := fTransClient.Retrieve(AStream);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -