@Marabu
Mit den Streams scheitere ich leider schon bei den Übergabeparametern. Dein Code sieht aber interessant aus. Da benötige ich mehr LernZeit um ein Stream zu erstellen, damit ich den als Parameter Deinen Proceduren übergeben kann. Dies ist aber nicht allein das Problem. Es stellt sich ja die Frage der Weiterverarbeitung bzw. Zugriff der Daten.
Aber das Problem ist ja gelöst: Hier nochmals der vollständige richtige Code, den ich verwendet habe, weil viele Threads oft die richtige Lösungen leider offen lassen, dass neue Thread notwendig werden. Daher der funktionierende und vollständige Code nachfolgend:
FileToString:
Delphi-Quellcode:
function FileToString(const FileName: string): AnsiString;// inline;
var
fs: TFileStream;
Len: Integer;
begin
fs := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
Len := fs.Size;
SetLength(Result, Len);
if Len > 0 then
fs.ReadBuffer(Result[1], Len);
finally
fs.Free;
end;
end;
Und wieder zurück mit StringToFile
Delphi-Quellcode:
Procedure StringToFile(const FileName, Str: string);//Inline;
var
fs: TFileStream;
Len: Integer;
begin
fs := TFileStream.Create(FileName, fmcreate);
try
Len := Length(Str);
fs.Write(Len, SizeOf(Integer));
fs.Write(Str[1], Len);
finally
fs.Free;
end;
end;
EDIT: Nachträglich var in Const geändert, lt. marabu
Betraf ursprünglichen Code: Procedure StringToFile(VAR FileName, Str: string);//Inline;
Inline verwende ich unter Turbo2006.
Viel Vergnügen und beste Grüße.
Go2EITS