Einzelnen Beitrag anzeigen

Benutzerbild von Lumpiluk
Lumpiluk

Registriert seit: 25. Dez 2008
110 Beiträge
 
#3

Re: Problem mit TFileStream.Read

  Alt 5. Apr 2010, 13:07
Danke, jetzt klappt's!

Zitat von SirThornberry:
Delphi-Quellcode:
SetLength(TmpStr, StrLength);
MazeStream.Read(TmpStr[1], StrLength);
So kam allerdings nur die Hälfte des Strings an, aber dank dieser seite habe ich es jetzt so hinbekommen (vielleicht hilft es noch irgendwem...):
Delphi-Quellcode:
procedure TMazeEditor.SaveBinClick(Sender: TObject);
var
  MazeStream: TStream;
  StrLength: Integer;
  ValidationString: String;
begin
  if SaveDialog1.Execute then
  begin
    try
      MazeStream := TFileStream.Create(SaveDialog1.FileName,fmCreate);
      ValidationString := 'der String';
      StrLength := Length(ValidationString);
      MazeStream.Write(StrLength, SizeOf(StrLength));
      MazeStream.Write(ValidationString[1], StrLength*SizeOf(ValidationString[1]));
    //...
    finally
      MazeStream.Free
    end;
  end;
end;

procedure TMazeEditor.LoadBinClick(Sender: TObject); //im Spiel ist es fast genau so
var
  MazeStream: TStream;
  StrLength: Integer;
  TmpStr: String;
begin
  if OpenDialog1.Execute then
  begin
    try
      MazeStream := TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
      MazeStream.Read(StrLength, SizeOf(StrLength));
      SetLength(TmpStr,StrLength);
      MazeStream.Read(TmpStr[1], StrLength*SizeOf(TmpStr[1]));
      if TmpStr = 'www.lumpiluk.de.ms - Maze v0.5then
      begin
        //...
      end;
    finally
      MazeStream.Free;
    end;
  end;
end;
Vielen Dank nochmal!
  Mit Zitat antworten Zitat