Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Beste Speicherart ? (https://www.delphipraxis.net/39085-beste-speicherart.html)

maximov 28. Jan 2005 15:00

Re: Beste Speicherart ?
 
Zitat:

Zitat von Thorben86
...Ne mal im ernst, die Stream müsstest du ja auch irgendwo speichern. (also warscheinlich in ner txt) :warn:

Thorben

Warum? Gerade wenn man es verschlüsselt, macht txt doch keinen sinn mehr. Text macht nur sinn, wenn man es lesen soll :wink:

DelphiFreund 28. Jan 2005 15:05

Re: Beste Speicherart ?
 
Wer kommt auf die Idee einen Stream in einer Textdatei zu speichern, die Endung spielt ja eigentlich keine Rolle, aber ein Stream ist kein Text, du könntest eine Zahl, die du nicht als String im Stream speicherst garnicht als Textdatei lesen.

Gruß DelphiFreund

PierreB 28. Jan 2005 16:26

Re: Beste Speicherart ?
 
Also erstmal vielen Dank für eure Antworten.
ich versuche das jetzt mal mit ner *.txt Datei zu realisieren.

Zitat:

und sie für unwissende Computerspieler unkenntlich zu machen, dürfte auch kein Problem sein
Dann nehm ich für die unwissenden User halt als Dateinamen 'KEINESFALLS ÖFFNEN'. :mrgreen:

jfheins 28. Jan 2005 16:28

Re: Beste Speicherart ?
 
Du könntest die Daten auch hinten an die Exe dranhängen ...

PierreB 28. Jan 2005 16:31

Re: Beste Speicherart ?
 
Zitat:

Du könntest die Daten auch hinten an die Exe dranhängen ...
:shock: Wie geht das denn ??
Das hört sich jedenfalls ziemlich kompliziert an und ich glaube für mein kleines, billiges Spiel reichen Textfiles. ;)

jfheins 28. Jan 2005 16:32

Re: Beste Speicherart ?
 
http://www.swissdelphicenter.ch/de/showcode.php?id=815

Ich weis aber nicht, ob's auch geht, wenn die exe ausgeführt wird ...

Jens Schumann 28. Jan 2005 16:43

Re: Beste Speicherart ?
 
Zitat:

Zitat von delphman
Zitat:

Du könntest die Daten auch hinten an die Exe dranhängen ...
:shock: Wie geht das denn ??
Das hört sich jedenfalls ziemlich kompliziert an und ich glaube für mein kleines, billiges Spiel reichen Textfiles. ;)

Das ist ganz einfach. Anstatt .txt im Dateinamen verwendest Du .exe :cyclops:

P.S. Die Dateiendung bestimmt nicht das Dateiformat

DelphiFreund 28. Jan 2005 16:47

Re: Beste Speicherart ?
 
Die beste und bei den meisten Spielen verwendete Methode ist nach wie vor das Speichern in einfachen Hex-Dateien via Streams.


Gruß DelphiFreund

PierreB 28. Jan 2005 16:53

Re: Beste Speicherart ?
 
So, mit Textfiles das Speichern hab ich jetzt soweit.
Funktioniert ganz gut soweit.

Also gut, DelphiFreund, da ich von Streams keine Ahnung habe, hast du mal ein kleines Beispiel ?

Jens Schumann 28. Jan 2005 16:53

Re: Beste Speicherart ?
 
Zitat:

Zitat von DelphiFreund
Die beste und bei den meisten Spielen verwendete Methode ist nach wie vor das Speichern in einfachen Hex-Dateien via Streams.
Gruß DelphiFreund

Dafür müsste delpman aber wissen, wie man einen String in einen Stream schreibt und aus einem Stream liest.
Hier mal ein TFileStream Nachfahre der einen String schreiben und lesen kann.
Delphi-Quellcode:
  TFileStreamExt = class(TFilestream)
  public
    procedure WriteStringToStream(aStr : String);
    function ReadStringFromStream : String;
  end;

{ TFileStreamExt }

procedure TFileStreamExt.WriteStringToStream(aStr : String);
var
   aStrLen : Integer;
begin
  aStrLen:=Length(aStr);
  WriteBuffer(aStrLen,SizeOf(Integer));
  WriteBuffer(Pointer(aStr)^,aStrLen);
end;

function TFileStreamExt.ReadStringFromStream: String;
var
   aStrLen : Integer;
begin
  ReadBuffer(aStrLen,SizeOf(Integer));
  SetLength(Result,aStrLen);
  ReadBuffer(Pointer(Result)^,aStrLen);
end;
Ach ja - Die Methoden lesen und schreiben natürlich immer ab der aktuellen Position


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:07 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz