Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi In Datei schreiben ... und zwar ein ENTER (https://www.delphipraxis.net/6813-datei-schreiben-und-zwar-ein-enter.html)

Ricane 23. Jul 2003 13:21


In Datei schreiben ... und zwar ein ENTER
 
Moin,

wie ist es möglich in eine Datei zu schreiben und auch noch Sonderzeichen wie z.b. Chr(13) (Also ENTER) unterzukriegen?!

Code:
Datei.Write(PChar('Ein Test')^, Length('Ein Test'));
Datei.Write(PChar(' ')^, Length(' '));
Datei.Write(PChar(Chr(10))^, Length(Chr(10)));
Die ersten beiden Zeilen funktionieren ja wunderbar, aber ein Sonderzeichen ist nicht wirklich unterzubringen...

Was nun sprach Zeus ?!


Ricane

Chewie 23. Jul 2003 13:27

Re: In Datei schreiben ... und zwar ein ENTER
 
Ich weiß zwar nicht, welch eine Klasse du benutztst, aber ein Zeilenumbruch besteht aus den Zeichen #13 und #10 (in dieser Reihenfolge).

Ricane 23. Jul 2003 13:35

Re: In Datei schreiben ... und zwar ein ENTER
 
Das hat es irgendwie nicht so richtig getan ...

Ein Chr(10) reicht normalerweise auch um einen ENTER - Anschlag zu simulieren....

Ricane

daniel-volk 23. Jul 2003 13:40

Re: In Datei schreiben ... und zwar ein ENTER
 
Das ist eigentlich sehr einfach. Es hängt jetzt noch davon ab, ob du ein Label oder ein Memo-Feld (o.Ä.) verwendest.
Grundsätzlich kannst du entweder Char(10) oder Chr(10) oder (was ich empfehle) #10 schreiben. Das #-Zeichen steht in Delphi immer für eine Nummer (auch dann z.B., wenn du einen Passwordcharacter für ein Edit-Feld festlegen möchtest).

Bei einem Label kannst du einfach folgendes schreiben:
'Text1'+#10+'Text2'
oder auch:
'Text1'+#13+'Text2'
(In diesem Fall passiwrt bei Character 10 und 13 das Gleiche.

Wenn du in einem MemoFeld nur #10 oder #13 verwendest, dann siehst du nur ein kleines Kästechen. Beim Schreiben in Datei wird das nicht anders sein.
Schreib für einen Zeilenumbruch also besser:
#13+#10
Dann geht's.

Eventuell ist es eh das Einfachste, wenn du dir ein unsichtbares Memo-Feld erstellst und dann einfach mit Memo1.Lines.Add(Text); einzelne Zeilen hinzufügst.
Das kannst du dann auch mit Memo1.Lines.SaveToFile(Dateiname); speichern.

Ricane 23. Jul 2003 13:50

Re: In Datei schreiben ... und zwar ein ENTER
 
:hello:

Ja, danke!! Klappert perfekt!


Grüsse,

Ricane

Chewie 23. Jul 2003 14:07

Re: In Datei schreiben ... und zwar ein ENTER
 
Zitat:

Zitat von daniel-volk
Eventuell ist es eh das Einfachste, wenn du dir ein unsichtbares Memo-Feld erstellst und dann einfach mit Memo1.Lines.Add(Text); einzelne Zeilen hinzufügst.
Das kannst du dann auch mit Memo1.Lines.SaveToFile(Dateiname); speichern.

Oh Gott, kaufst du dir immer eine ganze Bäckerei, wenn du nur ein Brötchen willst?
Wenn schon, dann eine StringList erstellen und dort SaveToFile aufrufen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:09 Uhr.

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