Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zeilenvorschub (https://www.delphipraxis.net/9855-zeilenvorschub.html)

Christian_1980 6. Okt 2003 13:29


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:
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;
Danke schonmal im Voraus für eure Hilfe

[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]

Alexander 6. Okt 2003 13:41

Re: Zeilenvorschub
 
Auch einfach einen #13#10 hintersetzen, so rein theoretisch...
Kann es leider im Moment nicht testen, weil ich in der Schule bin...

Christian Seehase 6. Okt 2003 13:48

Re: Zeilenvorschub
 
Moin Christian,

die einzige Änderung müsste sein:

Code:
Text := Edit1.Text[color=red]+#13#10[/color];
übrigens würde ich eine Variable nie Text nennen, da es diesen Begriff auch als Eigenschaft von Komponenten gibt.
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.

Christian_1980 6. Okt 2003 14:21

Re: Zeilenvorschub
 
Dankeschön, aber es geht leider noch nicht !

Also ich habe jetzt folgende Änderung vorgenommen:
Delphi-Quellcode:
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;
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:

Woran kann es sonst evtl noch liegen?

Christian

[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]

Christian Seehase 6. Okt 2003 14:25

Re: Zeilenvorschub
 
Moin Christian,

erst einmal ein Tip zum überlegen:
Wovon hängt es ab, wieviele Zeichen in die Datei geschrieben werden?

Christian_1980 6. Okt 2003 14:30

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!

Christian Seehase 6. Okt 2003 14:35

Re: Zeilenvorschub
 
Moin Christian,

bitte, gerne.

Zitat:

Zitat von Christian_1980
und mit sowas behellige ich das Forum.. sorry

Manchmal braucht man halt ein paar Augen zusätzlich ;-)
Das offensichtliche zu übersehen ist bestimmt jedem schon mehrfach passiert.

RomanK 6. Okt 2003 15:00

Re: Zeilenvorschub
 
Hoi,
hab mal ne Frage:
Warum verwendest du keine Hier im Forum suchenStringList ???
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.

Christian_1980 15. Okt 2003 15:30

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:

Christian Seehase 15. Okt 2003 15:33

Re: Zeilenvorschub
 
Moin Christian,

Zitat:

Zitat von Christian_1980
Wie lang darf der obige String eigentlich maximal sein, bevor es zu etwaigen Problemen kommt?

knapp 2 GB.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 Uhr.
Seite 1 von 2  1 2      

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