hi,
was ist an folgendem falsch?
Delphi-Quellcode:
procedure TServerBanList.Load(const FileName: string);
var
FS: TFileStream;
Buf: array[0..14+1] of Char;
begin
FS := TFileStream.Create(FileName, fmOpenRead or fmShareExclusive);
try
while FS.Read(Buf, Length(Buf)) = Length(Buf) do
if not IsBanned(Buf) then
Ban(Buf);
finally
FS.Free;
end;
end;
...
procedure TServerBanList.Save(const FileName: string);
var
FS: TFileStream;
ServerBan: PServerBan;
begin
FS := TFileStream.Create(FileName, fmCreate or fmShareExclusive);
try
ServerBan := FServerFirstBan;
while ServerBan <> nil do
begin
FS.Write(ServerBan^.IP, Length(ServerBan^.IP)+1);
ServerBan := ServerBan^.Next;
end;
finally
FS.Free;
end;
end;
beim laden (ich speichere hier ips, das heisst ich brauche maximal 16byte pro
ip) bekomme ich komische zeichen zurückgegeben, aber sicher nicht meine ips, ist dort irgendwo was verkehrt? (doofe frage - muss ja). ich möchte die ips einer verketteten liste speichern/laden können.... ich könnte auch ne stringliste verwenden, aber das möchte ich nicht
mfg