記錄我定義這個包裝記錄:迭代通過與指數
TReplayData = packed record
GameMode : Byte;
VersionReplayCreation : Integer;
BeatMapMD5Hash : String;
PlayerName : String;
NumberOf300s : Short;
NumberOf100s : Short;
NumberOf50s : Short;
NumberOfGekis : Short;
NumberOfKatus : Short;
NumberOfMisses : Short;
TotalScore : Integer;
GreatestCombo : Short;
Perfect : Byte;
ModsUsed : Integer;
LifeBarGraph : String;
TimeStamp : Long;
LengthInBytes : Integer;
ReplayData : TByteArray;
Unknown : Long;
end;
我想填補它(僞 /不工作):
for i := 0 to SizeOf(TReplayData) - 1 do
begin
CopyMemory(ReplayData[i], AReplayBuffer + SizeOf(ReplayData[i]), SizeOf(ReplayData[i]));
end;
這顯然是行不通的。 AReplayBuffer是Char的一個數組,它由所有需要的數據(排序)組成。
我怎麼能在一個循環中填充結構/有甚至有辦法嗎?
如何獲得char數組?如果你在某個地方序列化它,那麼以相同的方式反序列化它可能是一個好主意。 – DNR