AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Textdatei in ein Record einlesen ?

Ein Thema von Bit Juggler · begonnen am 27. Apr 2004 · letzter Beitrag vom 28. Apr 2004
Antwort Antwort
Bit Juggler
(Gast)

n/a Beiträge
 
#1

Textdatei in ein Record einlesen ?

  Alt 27. Apr 2004, 23:54
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 -> Tutorial

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.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: Textdatei in ein Record einlesen ?

  Alt 28. Apr 2004, 04:22
Du kannst immer noch mit
Readln(Textdatei,StringVar); 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:
Delphi-Quellcode:
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);
Der Code ist nicht getestet, aber ich sehe keinen Grund warum er nicht funktionieren sollte
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Bit Juggler
(Gast)

n/a Beiträge
 
#3

Re: Textdatei in ein Record einlesen ?

  Alt 28. Apr 2004, 11:07
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
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#4

Re: Textdatei in ein Record einlesen ?

  Alt 28. Apr 2004, 11:41
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.
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz