![]() |
Textdatei in ein Record einlesen ?
Hi,
ich möchte eine Texdatei in einen Record einlesen, aber jeweils nur bestimmte Stellen aus dem Text. Ich habe schon hier im Forum gesucht und gegooglet hab ich auch schon -> ohne Erfolg. Ich hab ein Tutorial auf Delphi-Source.de gelesen, das handelt aber von Typisierten Datein, mit Textfiles hab ich es nicht hinbekommen -> ![]() Das Problem ist das ich immer nur bestimmte Stellen der Datei in meinen Record lesen möchte, zb: "Dieser Satz dient als Test" Test.Text sollte dann zb "als" erhalten. Gibt es da eine Möglichkeit oder funktioniert das ganze an sich nicht, Records mit Textfiles ? Gruß Bit Edit: Hinzu kommt noch das zwischendurch immer mal wieder ein Satz mit dem Rautezeichen "#" anfängt, dieses Zeichen dient als Anfang von Kommentaren, das heißt alle Sätze welche mit "#" eingeleitet werden sollen übersprungen werden. |
Re: Textdatei in ein Record einlesen ?
Du kannst immer noch mit
Delphi-Quellcode:
eine Zeile aus der Textdatei auslesen. Das ganze machst du solange EoF(Textdatei) False ist. Den String den du dann erhälst kannst du dann auslesen, z.B. so:
Readln(Textdatei,StringVar);
Delphi-Quellcode:
Der Code ist nicht getestet, aber ich sehe keinen Grund warum er nicht funktionieren sollte :wink:
var
TextDatei: TextFile; Pfad, Zeile: String; AssignFile(TextDatei,Pfad); Reset(TextDatei); while not EoF(TextDatei) do begin Readln(TextDatei,Zeile); if Zeile[1] <> '#' then //Deine Auswertung end; CloseFile(TextDatei); |
Re: Textdatei in ein Record einlesen ?
Hi,
danke für Deine Antwort. Nun hab ich aber nach wie vor noch 2 Probleme: 1: Die Datei stammt von einem Unix System, wird unter Windiws bearbeitet und soll danach dann auch wieder auf Linux funktionieren - gibt es da beim Speichern irgendwas zu beachten ? 2: Wie muss ich denn in meinem Fall den Datensatz zeiger Positionieren ? Beispiel einer Zeile in der Datei: #Bla bla bla das dient zur info (Das ist sozusagen der Kommentar den ich nicht will!) Computeruser die Einstellung - 5 #Noch eine Zeile die mich nicht intressiert Computeronlinestatus - ON In beiden Fällen möchte ich nun in eine Variable meines Records 5 und in die andere "ON" haben. Weiss aber ehrlich gesagt absolut nicht wie ich es hinbekomme den Datensatzzeiger zu positioniren! Ich werde heute abend vielleicht mal die gesamte Datei posten, dann ist vielleicht klarer wie ich das meine Gruß Bit |
Re: Textdatei in ein Record einlesen ?
Zu 1: Ich weiß es nichtgenau, aber Linux verwendet #10 als Zeilenumbruch, während Windows mit #13#10 einen Zeilenwechsel signalisiert.
Zu 2: Durch die Verwendung von Readln wird nach dem Lesen automatisch zum nächsten Datensatz gesprungen. Deshalb brauchst du dich darum nicht zu kümmern. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:20 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