Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Stream in TextFile wandeln ohne Speichern (https://www.delphipraxis.net/56389-stream-textfile-wandeln-ohne-speichern.html)

axelf98 4. Nov 2005 21:39


Stream in TextFile wandeln ohne Speichern
 
Hallo!

Ich habe eine Frage zu Streams (File oder Memory ist erstmal egal): Wie kann ich aus einem Stream (geladene Textdatei an eine EXE gehängt) eine TextFile machen, bzw. den Inhalt zuweisen, ohne Daten abspeichern zu müssen?
Hinweis: Es muss schon eine Textfile sein, da ich sonst die Implementierung von TBiggerINIFile ändern muss...

Vielen Dank!

neolithos 5. Nov 2005 03:39

Re: Stream in TextFile wandeln ohne Speichern
 
Grüße in den Ruhrbot,

aber irgentwie macht das für mich keinen Sinn was du da schreibst.

Ob es einen Text-Datei ist oder nicht ist, hat nix mit dem Stream oder der Art wo sie gespeichert ist. Es ist einfach eine Frage der Definition (genauso wie bei Char <-> Byte).

Was genau verlangt TBiggerIniFile als Input? Zeig mal die Constructoren!

axelf98 5. Nov 2005 12:28

Re: Stream in TextFile wandeln ohne Speichern
 
Zitat:

Zitat von neolithos
Was genau verlangt TBiggerIniFile als Input? Zeig mal die Constructoren!

TBiggerINIFile verlangt halt den Dateinamen als String... Und beim Lesen und schreiben wird eine "Textfile" (also als Typ) verwendet.
Wie kann ich an den Speicher einer Textfile kommen? Oder muss ich erst Close(MyTextFile) aufrufen, auf die Festplatte speichern und dann wieder mit TSringlist einlesen?

Sonst muss ich mir ein temporäres Verzeichnis suchen!

marabu 6. Nov 2005 09:30

Re: Stream in TextFile wandeln ohne Speichern
 
Wenn du die Steuerdatei nur im Hauptspeicher benutzen willst und die Daten aus der Resource als string vorliegen, dann kannst du so vorgehen:

Delphi-Quellcode:
function CreateIni(iniTextFromResource: string): TBiggerIniFile;
var
  s: TStrings;
begin
  Result := TBiggerIniFile.Create('');
  s := TStringList.Create;
  s.Text := iniTextFromResource;
  Result.SetStrings(s);
  s.Free;
end;
Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:59 Uhr.

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