Hallo zusammen. Ich habe eine Binary Datei deren Daten ich umwandeln möchte in Zahlen. Die Position des Filestreams wird immer um eins größer. Jedoch wird die neue Position nicht von "EncodeBase64" erkannt. Er spuckt stets nur die selbe Zahl aus, der Ausgabestring von "EncodeBase64" ist dementsprechend auch immer gleich.
Vielen Dank für Antworten.
Hier mein Code:
Code:
function GetNewData(): integer;
var
AFileStream : TFileStream; rohwert : AnsiString; pfad,AFilename: string;
begin
pfad:=ExtractFilePath(ParamStr(0));
AFilename:= pfad + 'data.bin';
AFileStream := TFileStream.Create(AFilename, fmOpenRead);
repeat
try
AFileStream.Position:=StreamPosition;
rohwert:=EncodeBase64(AFileStream, 1);
zufallswert := ord(rohwert[1]);
StreamPosition:=StreamPosition+1;
showmessage(inttostr(zufallswert));
showmessage(inttostr(StreamPosition));
showmessage(rohwert);
finally
AFileStream.Free;
end;
until (1 < zufallswert) and (zufallswert <= 50);
Result:=zufallswert;
end;