Autor Beitrag
pmw
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 65



BeitragVerfasst: Fr 22.11.02 23:17 
Hallo!

Ich möchte gerne einen String binär speichern. Wo liegt der Fehler in meinem Quelltext?

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
f: file;
begin

   if SaveDialog.Execute then begin

      DeleteFile(SaveDialog.FileName);

      s := 'AGC'+chr(0)+chr(256);
      AssignFile(f, SaveDialog.FileName);
      Rewrite(f, 1);
      BlockWrite(f, s, SizeOf(s));
      CloseFile(f);

   end;

end;


Viele Grüße
Martin Winandy
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Fr 22.11.02 23:29 
Hier ein Beispiel wie man mit Streams läd und speichert:

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
// Läd eine Datei und übergibt sie als String
// sInFile = Name der Datei die geladen werden soll
// sFileString = String

function LoadStringFromFile(sInFile: String; var sFileString: String): Boolean;
var
  FileStream: TFileStream;
begin
  Result := False;
  if not FileExists(sInFile) then Exit;
  FileStream := TFileStream.Create(sInFile, fmOpenRead);
  try
    if FileStream.Size <> 0 then begin
      SetLength(sFileString, FileStream.Size);
      FileStream.Read(sFileString[1], FileStream.Size);
      Result := True;
    end;
  finally FileStream.Free end;
end;

// Speichert einen String als Datei
// sOutFile = Name der Datei unter dem gespeichert werden soll
// sFileString = String

function SaveStringToFile(sOutFile: String; sFileString: String): Boolean;
var
  FileStream: TFileStream;
begin
  Result := False;
  FileStream := TFileStream.Create(sOutFile, fmCreate);
  try
    if Length(sFileString) <> 0 then begin
      FileStream.Write(sFileString[1], Length(sFileString));
      Result := True;
    end;
  finally FileStream.Free end;
end;
pmw Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 65



BeitragVerfasst: Fr 22.11.02 23:31 
Hi!

Danke für die schelle Antwort!

Viele Grüße
Martin Winandy