![]() |
Textdatei zeichenweise laden
Hi!
Kann man aus Textdateien irgendwie nur die ersten paar Zeichen bzw. nur bestimmte Zeilen laden? Prolinesurfer |
Re: Textdatei zeichenweise laden
Generell ja, stellt sich nur die Frage um was für Datenmengen es sich handelt ;-)
Im Forum nach ![]() ![]() ...:cat:... |
Re: Textdatei zeichenweise laden
Hallo,
da ich nicht genau weiss was Du möchtest schlage ich folgendes vor.
Delphi-Quellcode:
Die procedure liest die Textdatei zeilenweise. Befindet sich in einer Zeile der Inhalt von Ident werden aus dieser Zeile ab der Position FromPos Count Zeichen kopiert und an L gehängt.
procedure LoadFromTextFileExt(TextFilename : TFilename; L : TStrings; Ident : String; FromPos, Count : Integer);
var _File : System.Textfile; _Line : String; begin L.Clear; AssignFile(_File,TextFilename); Reset(_File); Try While Not EOF(_File) do begin Readln(_File,_Line); If Pos(Ident,_Line)>0 then L.Add(Copy(_Line,FromPos,Count)); end; Finally CloseFile(_File); end; end; |
Re: Textdatei zeichenweise laden
Hm, also zeilenweise ist doch nicht so gut. Eigentlich will ich wirklich nur die ersten 4-5 Zeichen laden.
Ich will das eben bei beliebig großen Dateien durchführen und wenn die erstmal 5 mb übersteigen, erübrigt sich das Laden des gesamten Inhalts. |
Re: Textdatei zeichenweise laden
Hallo,
ach so, dann mach doch folgendes
Delphi-Quellcode:
function FirstSigns(TextFilename : TFilename; Count : Integer) : String;
var _File : System.Textfile; _Line : String; begin AssignFile(_File,TextFilename); Reset(_File); Try Readln(_File,_Line); Result:=(Copy(_Line,1,Count)); Finally CloseFile(_File); end; end; |
Re: Textdatei zeichenweise laden
Ja, genau das hab ich gesucht!
Danke!!! |
Re: Textdatei zeichenweise laden
Wie kann man das zeichenweise lesen in eine Schleife packen?
Ich hab hier nämlich nen String den ich aus einer Textdatei auslese aber ich möchte für jedes einzelne Zeichen gerne etwas ausführen. Thx for help! MfG Florian :hi: |
Re: Textdatei zeichenweise laden
Moin Florian,
schau Dir doch mal TFileStream an. Du könntest dann den String entweder zeichenweise einlesen, oder komplett und dann Zeichenweise auslesen. Für das zeichenweise Einlesen, könntest Du dann als Buffer eine Variable vom Typ Byte oder char nehmen, und anhand des jeweils eingelesenen Wertes mit case entscheiden, was jeweils zu tun ist. Aus Performancegründen solltest Du hierbei allerdings den endgültigen String gleich ausreichend gross anlegen, und dann immer das Zeichen an den gerade aktuellen Index schreiben. |
Re: Textdatei zeichenweise laden
Also kann man den Code von Jens nicht irgendwie umschreiben?
Ich hab den Text aus der Datei nur halt in eine Stringlist geschrieben usw. und ich dachte da könnte man ihn gleich weiterbearbeiten... MfG Florian :hi: |
Re: Textdatei zeichenweise laden
Hallo,
es gibt dann noch die Möglichkeit ReadBuffer zu verwenden. Du lädst die Zeichen in ein Array und dann kannst Du mit jedem Byte machen, was immer Du willst. mfg eddy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00: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