![]() |
Zeilenvorschub
Hi,
ich habe folgendes Problem: Ich möchte einen String in eine Datei schreiben und dann einen Zeilenumbruch bewirken. Was muss ich am untenstehenden Code verändern? mit Text := Text + #10#13 + nächster Text geht das nicht... kann mir da jemand helfen? hier der Code:
Delphi-Quellcode:
Danke schonmal im Voraus für eure Hilfe
var Datei: TFileStream;
Text: String; Count: Integer; begin Text := Edit1.Text; Count := Length(Text); try Text := Text Datei := TFileStream.Create('c:\WinNT\Temp\StreamTest.txt',fmcreate); Datei.WriteBuffer(Text[1], Count); finally Datei.Free; end; [edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit] |
Re: Zeilenvorschub
Auch einfach einen #13#10 hintersetzen, so rein theoretisch...
Kann es leider im Moment nicht testen, weil ich in der Schule bin... |
Re: Zeilenvorschub
Moin Christian,
die einzige Änderung müsste sein:
Code:
übrigens würde ich eine Variable nie Text nennen, da es diesen Begriff auch als Eigenschaft von Komponenten gibt.
Text := Edit1.Text[color=red]+#13#10[/color];
Am Besten versiehtst Du Variablen mit einem Prefix, der den Typ angibt (z.B. sText : string;), dann siehst Du sofort welchen Typ die Variable hat, und vermeidest viele Konflikt mit eventuell schon verwendeten Bezeichnern. |
Re: Zeilenvorschub
Dankeschön, aber es geht leider noch nicht !
Also ich habe jetzt folgende Änderung vorgenommen:
Delphi-Quellcode:
Ok, an den Präfix hätte ich auch denken müssen. Dennoch: Wenn ich mir die Datei nach dem Ausführen des Codes mit dem Editor Ansehe, gibt es nur eine Zeile - nämlich den Beispieltext aus dem Editfeld. Zeilenvorschub und Text "nächste Zeile" wurden nicht in die Datei geschrieben. Woran das liegt ist mir nicht klar, ihr sagt ja selbst, dass es so gehen müsste. :zwinker:
var Datei: TFileStream;
sBeispiel: String; Count: Integer; begin sBeispiel := Edit1.Text; Count := Length(sBeispiel); try sBeispiel := sBeispiel + #13#10 + 'nächste Zeile'; Datei := TFileStream.Create('c:\WinNT\Temp\StreamTest.txt',fmcreate); Datei.WriteBuffer(sBeispiel[1], Count); finally Datei.Free; end; end; Woran kann es sonst evtl noch liegen? Christian [edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit] |
Re: Zeilenvorschub
Moin Christian,
erst einmal ein Tip zum überlegen: Wovon hängt es ab, wieviele Zeichen in die Datei geschrieben werden? |
Re: Zeilenvorschub
Uff.. ich bin so dämlich.. ja.. stimmt :wall:
ich sollte die Länge des Textes natürlich erst hinterher bestimmen .... *grummel* und mit sowas behellige ich das Forum.. sorry :cyclops: DANKE! |
Re: Zeilenvorschub
Moin Christian,
bitte, gerne. Zitat:
Das offensichtliche zu übersehen ist bestimmt jedem schon mehrfach passiert. |
Re: Zeilenvorschub
Hoi,
hab mal ne Frage: Warum verwendest du keine ![]() Mit der sollte es um einiges einfacher sein, Strings in eine Datei zu speichern. Kann natürlich sein, dass du aus einem bestimmten Grund den "Umweg" über ein FileStream suchst. Falls du aber nur "stinknormale" Strings speichern willst, würde ich mir mal StringList anschauen. |
Re: Zeilenvorschub
Hallo :-D
Warum ist mein Weg ein "Umweg"? Ist doch eigentlich sehr kurz - find ich :stupid: Wo ich schon beim Fragenstellen bin :arrow: Wie lang darf der obige String eigentlich maximal sein, bevor es zu etwaigen Problemen kommt? :dp: |
Re: Zeilenvorschub
Moin Christian,
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 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