Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Textdatei erstellen? (https://www.delphipraxis.net/49469-textdatei-erstellen.html)

tg39 11. Jul 2005 23:30


Textdatei erstellen?
 
Hallo,

ich möchte eine Datei erstellen die ich anschließend mit FileStream "füllen" möchte. Es soll lediglich ein String hinein geschrieben werden, normalerweise würde ich es ja einfach ein Memo nehmen und mit Savetofile() arbeiten, allerdings ist das Programm nonvcl und ich finde keinen geeigneten Befehl um es umzusetzen.

Danke im voraus,

Gruß

Pseudemys Nelsoni 11. Jul 2005 23:36

Re: Textdatei erstellen?
 
AssignFile(), ReSet(), ReWrite(), Append(), ReadLn(), WriteLn(), CloseFile()

Bernhard Geyer 12. Jul 2005 07:15

Re: Textdatei erstellen?
 
Zitat:

Zitat von tg39
ich möchte eine Datei erstellen die ich anschließend mit FileStream "füllen" möchte. Es soll lediglich ein String hinein geschrieben werden, normalerweise würde ich es ja einfach ein Memo nehmen und mit Savetofile() arbeiten, allerdings ist das Programm nonvcl und ich finde keinen geeigneten Befehl um es umzusetzen.

Du könntest auch TStrings/TStringlist nehmen. Ist "nur" RTL/BaseCLX. Jedoch weiß ich nicht ob das noch als "nonvcl" durchgeht - Es werden ja schon "aufgeblähte" Klassen verwendet :gruebel:

marabu 12. Jul 2005 07:21

Re: Textdatei erstellen?
 
Zitat:

Zitat von tg39
ich möchte eine Datei erstellen die ich anschließend mit FileStream "füllen" möchte. Es soll lediglich ein String hinein geschrieben werden

Diesen Spezialfall könnte man einfach so erschlagen:

Delphi-Quellcode:
procedure SaveString(s, fileName: string);
var
  fs: TFileStream;
begin
  fs := TFileStream.Create(filename, fmCreate);
  fs.Write(s[1], Length(s));
  fs.Free;
end;
Grüße vom marabu

und herzlich willkommen im Forum

tg39 22. Jul 2005 01:13

Re: Textdatei erstellen?
 
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von tg39
ich möchte eine Datei erstellen die ich anschließend mit FileStream "füllen" möchte. Es soll lediglich ein String hinein geschrieben werden, normalerweise würde ich es ja einfach ein Memo nehmen und mit Savetofile() arbeiten, allerdings ist das Programm nonvcl und ich finde keinen geeigneten Befehl um es umzusetzen.

Du könntest auch TStrings/TStringlist nehmen. Ist "nur" RTL/BaseCLX. Jedoch weiß ich nicht ob das noch als "nonvcl" durchgeht - Es werden ja schon "aufgeblähte" Klassen verwendet :gruebel:

So würde ich es eigentlich am liebsten machen, da ich TStringList sowieso ganz gut gebrauchen könnte. Nur will ich nicht die ganze riesige Classes-Unit benutzen wo ja noch tausend andere Sachen enthalten sind, gibt es da eine Möglichkeit sich nur den für TStringList benötogten Code "herauszunehmen"?

Gruß

Bernhard Geyer 22. Jul 2005 07:16

Re: Textdatei erstellen?
 
Du willst wohl die Classes.pas nicht einbinden?
Ist den der Exe-Größenzuwachs für dich so unakzeptabel?

barf00s 22. Jul 2005 08:06

Re: Textdatei erstellen?
 
@tg39

türlich geht das.

tg39 22. Jul 2005 11:43

Re: Textdatei erstellen?
 
Zitat:

Zitat von Bernhard Geyer
Du willst wohl die Classes.pas nicht einbinden?
Ist den der Exe-Größenzuwachs für dich so unakzeptabel?

Naja, das schöne am Verzicht der VCL ist ja eben die Größe und es ist schon etwas unbefriedigend wenn wegen eines Datentyps die .exe plötzlich fast 5x so groß ist :(

Zitat:

Zitat von barf00s
@tg39

türlich geht das.

Lass mich raten, aber es ist ein wahnsinniger Aufwand, right? Ich habe mir die Classes.pas mal angesehen, die ist sowas von verschachtelt, sämtliche Klassen sind x-fach von anderen abgeleitet, jede Klasse benutzt Funktionen einer anderen usw.
Da braucht man ja Jahre um alle benötigten Abhängigkeiten rauszusuchen :(
Gibt es für soetwas nicht ein spezielles Tool dass mir für eine paar bestimmte Funktionen alles wichtige rauskopiert? Wahrscheinlich nicht..

barf00s 22. Jul 2005 11:51

Re: Textdatei erstellen?
 
dann schreib dir halt deine eigene TStringList implementation, wenns dir zu kompliziert iss das bisschen da aufzudröseln?

Waldteufel 22. Jul 2005 12:00

Re: Textdatei erstellen?
 
Hi.

So gehts ohne StringList und FileStream:

Delphi-Quellcode:
procedure MeineDateiErstellen(filename, str: string);
var
  f : Text;
begin
  AssignFile(f, filename);
  Write(f, str);
  CloseFile(f);
end;
_______________________________________________

//edit:

@barf00s: Da hast du allerdings recht!

Delphi-Quellcode:
procedure MeineDateiErstellen(const filename, const str: string);
var
  f : Text;
begin
  AssignFile(f, filename);
  Rewrite(f);
  Write(f, str);
  CloseFile(f);
end;
//edit2:
Zitat:

Zitat von barf00s
Fehlt nur noch das Reset(F); btw das Rewrite(F) oder Append(F);

Ich schätz mal, du meinst nicht btw (= by the way = nebenbei/übrigens), sondern bzw (= beziehungsweise) ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:25 Uhr.
Seite 1 von 2  1 2      

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