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

📄 managerinterpreter.pas

📁 一般的数据库管理系统 uses Classes, SConnectEx, TltConst, ExtCtrls, MMSystem, Types, windows, TltLogic , Sy
💻 PAS
📖 第 1 页 / 共 2 页
字号:
}
function TrltManagerInterpreter.CallGetScore(RoundNo,
  WheelNo: integer): TRoundScord;
var
  Data: IDataBlock;
  Size : integer;
  s : boolean;
  Flays : TVarFlags;
begin
  Data := TDataBlock.Create as IDataBlock;
  Data.Signature := CallSig or asGetRoundScord;
  WriteVariant(RoundNo, Data);
  WriteVariant(WheelNo, Data);
  Data := FSendDataBlock.Send(Data, True);
  Data.Read(Size, sizeof(Size));
  Data.Read(Result, Size);
end;

function TrltManagerInterpreter.CallGetWheelParams: TWheelParams;
var
  Data: IDataBlock;
  Size : integer;
  s : boolean;
  Flays : TVarFlags;
begin
  Data := TDataBlock.Create as IDataBlock;
  Data.Signature := CallSig or asWheelParams;
  Data := FSendDataBlock.Send(Data, True);
  Data.Read(Size, sizeof(Size));
  Data.Read(Result, Size);
end;

procedure TrltManagerInterpreter.DoWheelParams(const Data: IDataBlock);
var
  Size : integer;
  I : integer;
begin
{  Data.Read(Size, sizeof(Size));
  Data.Read(rlt.WheelParams, Size);
  rlt.UpdateWheelParams;
}
end;

procedure TrltManagerInterpreter.DoLoginManager(const Data: IDataBlock);
begin

end;

function TrltManagerInterpreter.CallGetRoundInfo: TRoundInfo;
var
  I : integer;
  RoundInfo : TRoundInfo;
  Data: IDataBlock;
  Size : integer;
  s : boolean;
  Flays : TVarFlags;
begin
  if RoundMonitorForm = nil then Exit;
  Data := TDataBlock.Create as IDataBlock;
  Data.Signature := CallSig or asGetRoundInfo;
  Data := FSendDataBlock.Send(Data, True);
  Data.Read(Size, sizeof(Size));
  Data.Read(Result, Size);
end;

function TrltManagerInterpreter.CallPlayerEdit(
  APlayerEditInfo: TPlayerEditInfo): TPlayerEditInfo;
var
  I : integer;
  Data: IDataBlock;
  Size : integer;
  s : boolean;
  Flays : TVarFlags;
begin
  Data := TDataBlock.Create as IDataBlock;
  Size := Sizeof(APlayerEditInfo);
  Data.Write(Size, Sizeof(Size));
  Data.Write(APlayerEditInfo, Size);
  Data.Signature := CallSig or asPlayerEdit;
  Data := FSendDataBlock.Send(Data, True);
  Data.Read(Size, sizeof(Size));
  Data.Read(Result, Size);
end;

function TrltManagerInterpreter.CallGetPlayerList(
  APlayerList: TPlayerList): TPlayerList;
var
  I : integer;
  Data: IDataBlock;
  Size : integer;
  s : boolean;
  Flays : TVarFlags;
begin
  Data := TDataBlock.Create as IDataBlock;
  Size := Sizeof(TPlayerList);
  Data.Write(Size, Sizeof(Size));
  Data.Write(APlayerList, Size);
  if APlayerList.Data <> nil then
    Data.Write(APlayerList.Data^, APlayerList.Size);
  Data.Signature := CallSig or asPlayerList;
  Data := FSendDataBlock.Send(Data, True);
  Data.Read(Size, sizeof(Size));
  Data.Read(Result, Size);
  GetMem(Result.Data, Result.Size);
  FillChar(Result.Data^, Result.Size, #0);
  Data.Read(Result.Data^, Result.Size);

end;

function TrltManagerInterpreter.CallSetRoundResult(AColorIndex: integer):boolean;
var
  I : integer;
  Data: IDataBlock;
  Size : integer;
  s : boolean;
  Flays : TVarFlags;
begin
  Data := TDataBlock.Create as IDataBlock;
  WriteVariant(AColorIndex, Data);
  Data.Signature := CallSig or asSetRoundResult;
  Data := FSendDataBlock.Send(Data, True);
  Result := ReadVariant(Flays, Data);
end;

procedure TrltManagerInterpreter.DoException(const Data: IDataBlock);
begin
//  inherited;
// nothing;

end;

function TrltManagerInterpreter.CallSetGameParams(
  AGameParams: TGameParams): boolean;
var
  I : integer;
  Data: IDataBlock;
  Size : integer;
  Flays : TVarFlags;
begin
  Result := false;
  Data := TDataBlock.Create as IDataBlock;
  Size := sizeof(AGameParams);
  Data.Write(Size , sizeof(Size));
  Data.Write(AGameParams, Size);
  Data.Signature := CallSig or asSetGameParams;
  Data := FSendDataBlock.Send(Data, True);
  Result := ReadVariant(Flays, Data);
end;

function TrltManagerInterpreter.CallGetGameParams(
  var AGameParams: TGameParams): boolean;
var
  I : integer;
  Data: IDataBlock;
  Size : integer;
  Flays : TVarFlags;
begin
  Result := false;
  Data := TDataBlock.Create as IDataBlock;
  Data.Signature := CallSig or asGetGameParams;
  Data := FSendDataBlock.Send(Data, True);
  Data.Read(Size , sizeof(Size));
  Data.Read(AGameParams, Size);
  Result := true;
end;

function TrltManagerInterpreter.CallSetRoundState(
  ARoundState: TRoundState): boolean;
var
  Data: IDataBlock;
  VarSize : integer;
  VarFlag : TVarFlags;
begin
  Data := TDataBlock.Create as IDataBlock;
  VarSize := Sizeof(ARoundState);
  Data.Write(VarSize, Sizeof(VarSize));
  Data.Write(ARoundState, VarSize);
  Data.Signature := CallSig or asSetRoundState;
  Data := FSendDataBlock.Send(Data, True);
  Result := ReadVariant(VarFlag, Data);
end;

function TrltManagerInterpreter.CallSetPlayerList(
  const APlayerList: TPlayerList): boolean;
var
  I : integer;
  Data: IDataBlock;
  Size : integer;
  s : boolean;
  Flays : TVarFlags;
begin
  Data := TDataBlock.Create as IDataBlock;
  Size := Sizeof(TPlayerList);
  Data.Write(Size, Sizeof(Size));
  Data.Write(APlayerList, Size);
  if APlayerList.Data <> nil then
    Data.Write(APlayerList.Data^, APlayerList.Size);
  Data.Signature := CallSig or asUploadPlayerList;
  Data := FSendDataBlock.Send(Data, True);
  Data.Read(Size, sizeof(Size));
  Result := boolean(Size);
//  Result := ReadVariant(Flays, Data);
end;

function TrltManagerInterpreter.CallGetRoundInfoLog(
  var AArrayofRoundInfo: TArrayofRoundInfo): integer;
var
  I : integer;
  Data: IDataBlock;
  Size : integer;
  s : boolean;
  Flays : TVarFlags;

begin
  Data := TDataBlock.Create as IDataBlock;
  Data.Signature := CallSig or asGetRoundLog;
  Data := FSendDataBlock.Send(Data, True);
  Data.Read(Size, sizeof(Size));
  if Size > Sizeof(Result) then raise Exception.Create('数据返回格式错误。');
  Data.Read(Result, Size); //大小
  Data.Read(Size, sizeof(Size));
  if Size > Sizeof(AArrayofRoundInfo) then raise Exception.Create('数据返回格式错误。');
  Data.Read(AArrayofRoundInfo, Size);
end;

function TrltManagerInterpreter.CallGetPlayerBetLog(
  var AArrayofPlayerBetLog: TArrayofPlayerBetInfo): integer;
var
  I : integer;
  Data: IDataBlock;
  Size : integer;
  s : boolean;
  Flays : TVarFlags;

begin
  Data := TDataBlock.Create as IDataBlock;
  Data.Signature := CallSig or asGetPlayerBetLog;
  Data := FSendDataBlock.Send(Data, True);
  Data.Read(Size, sizeof(Size));
  Data.Read(Result, Size); //大小
  Data.Read(Size, sizeof(Size));
  Data.Read(AArrayofPlayerBetLog, Size);
end;

function TrltManagerInterpreter.CallClearPlayerBetInfoLog: boolean;
var
  I : integer;
  Data: IDataBlock;
  Size : integer;
  s : boolean;
  Flays : TVarFlags;

begin
  Data := TDataBlock.Create as IDataBlock;
  Data.Signature := CallSig or asClearPlayerBetLog;
  Data := FSendDataBlock.Send(Data, True);
  Data.Read(Size, sizeof(Size));
  Data.Read(s, Size); //大小
  Result := boolean(s);
end;

function TrltManagerInterpreter.CallClearRoundInfoLog: boolean;
var
  I : integer;
  Data: IDataBlock;
  Size : integer;
  s : boolean;
  Flays : TVarFlags;

begin
  Data := TDataBlock.Create as IDataBlock;
  Data.Signature := CallSig or asClearGameLog;
  Data := FSendDataBlock.Send(Data, True);
  Data.Read(Size, sizeof(Size));
  Data.Read(s, Size); //大小
  Result := boolean(s);
end;

function TrltManagerInterpreter.CallClearPlayerList: boolean;
var
  I : integer;
  Data: IDataBlock;
  Size : integer;
  s : boolean;
  Flays : TVarFlags;
begin
  Data := TDataBlock.Create as IDataBlock;
  Data.Signature := CallSig or asClearPlayerList;
  Data := FSendDataBlock.Send(Data, True);
  Data.Read(Size, sizeof(Size));
  Data.Read(s, Size); //大小
  Result := boolean(s);
end;

function TrltManagerInterpreter.CallCheckAdmin(Tag: integer;
  AdminStr: String): boolean;
var
  I : integer;
  Data: IDataBlock;
  Size : integer;
  s : integer;
  Flays : TVarFlags;
begin
  Data := TDataBlock.Create as IDataBlock;
  WriteVariant(Tag, Data);
  WriteVariant(AdminStr, Data);
  Data.Signature := CallSig or asCheckAdmin;
  Data := FSendDataBlock.Send(Data, True);
  Data.Read(Size, sizeof(Size));
  Data.Read(s, Size); //大小
  Result := boolean(s);
end;

function TrltManagerInterpreter.CallSetLock(Lock: boolean): boolean;
var

  I : integer;
  Data: IDataBlock;
  Size : integer;
  s : integer;
  Flays : TVarFlags;
begin
  Data := TDataBlock.Create as IDataBlock;
  WriteVariant(Lock, Data);
  Data.Signature := CallSig or asLockServer;
  Data := FSendDataBlock.Send(Data, True);
  Data.Read(Size, sizeof(Size));
  Data.Read(s, Size); //大小
  Result := boolean(s);
end;

end.

⌨️ 快捷键说明

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