![]() |
Dateien auslesen
Hallo,
hab probleme beim auslesen einer datei. folgender code:
Delphi-Quellcode:
Problem: Die erste Zeile wird übersprungen.
While not EOF(f1) do begin
Readln(f1,s); k := Length(s); Match_ID.Text := IntToStr(j); Matchdate.Text := Copy(s,1,8); i := Pos(' ', s); q := Pos(':', s); Home_Team.Text := Copy(s,i+1,(q-1)-i); i := Pos(':', s); Out_Team.Text := Copy(s,i+2,(k-3)-(i+2)); Home_Goals.Text := Copy(s,k-3,1); Out_Goals.Text := Copy(s,k-1,1); DBNavigator1.BtnClick(nbInsert); j := j+1; end; Hinweis: Die Daten sollen an eine Datenbank übergeben werden... hier noch ein kleiner auszug aus der datei 10.08.07 VfB Stuttgart : FC Schalke 04 2:2 11.08.07 FC Bayern München : F.C. Hansa Rostock 3:0 11.08.07 VfL Bochum 1848 : Werder Bremen 2:2 eintrag in die edit-felder 1.datensatz: 11.08.07 FC Bayern München : F.C. Hansa Rostock 3:0 Vielen Dank im voraus |
Re: Dateien auslesen
Zeig mal die ein oder zwei Zeilen vorher.
P.S.: Willkommen in der DP :dp: |
Re: Dateien auslesen
Code:
das sind die zeilen davor
var f1 : Textfile;
s : String; i, j, k, l, m, q, r : Integer; str : boolean; begin r:=1; j := 0; AssignFile(f1,'..\Saison.txt'); Reset(f1); if FileExists('..\Saison.txt') then begin While not EOF(f1) do begin |
Re: Dateien auslesen
Außer einer fehlenden Fehlerbehandlung kann ich auf den ersten Blick nichts erkennen. Wie äußert sich das "Überspringen" denn genau?
|
Re: Dateien auslesen
Alle Datensätze werden eingelesen, nur die erste Zeile eben nicht.
Ansonsten funktioniert die Schleife tadellos! |
Re: Dateien auslesen
Hast Du mal versucht, statt des Klicks auf einen Navigator-Button die Daten direkt einzutragen (z.B. über die Methode Insert von TDataset)?
|
Re: Dateien auslesen
Leider ist es mir momentan noch nicht möglich mit diesen Befehlen zu arbeiten. Bis jetzt haben wir das
nur mit dieser Navileiste gemacht. einen tdataset habe ich nicht gefunden. und der tibdataset beinhaltet keinen insert befehl. danke aber schonmal für die mühe |
Re: Dateien auslesen
Sonst setz doch mal einen Breakpoint auf die Zeile
Zitat:
|
Re: Dateien auslesen
also ich weiß jetzt wo der fehler liegt, die datensätze werden erst beim zweiten aufruf von btnclick
eingetragen, den grund dafür weiß ich aber nicht. die elemente sind alle vom typen tib... gibt es eine möglichkeit ohne die dbedit felder direkt die daten in eine tabelle zu schreiben? z.b. insert --> TABELLE.SPALTE(inhalt) |
Re: Dateien auslesen
Du gehst ja auch falsch vor.
Richtig wäre es so (Pseudocode) :
Delphi-Quellcode:
So, das wars dann für die Woche...
assign...
reset... // ioresult nicht vergessen !! readln (f1... while not EOF... ...// verarbeiten readln (f1... end; |
Re: Dateien auslesen
readln vor der Abfrage auf EOF :shock:?
[edit] @delphi_noob666: Ja, das geht prinzipiell. Welche Datenbank ist es denn und wie greifst Du darauf zu? [/edit] |
Re: Dateien auslesen
soetwas hatte ich auch ausprobiert, es liegt definitv an der navigator leiste. wenn ich denn readln befehl
vor die while schleife setze werden nur 7 datensaätze von neun angezeigt. ohne den readln sind es 8 |
Re: Dateien auslesen
Es ist eine von IBExpert erstellte DB mit der endung *.gdb (firebird 1.5)
zugriff auf die DB von delphi aus: Database DataTable Transaction DataSource wie kann ich direkt auf die DB bzw Table zugreifen? |
Re: Dateien auslesen
Hier etwas
![]() |
Re: Dateien auslesen
Ich schätze eine Tabelle der FireBird DB.
|
Re: Dateien auslesen
Das glaube ich nicht, Tim :mrgreen:
|
Re: Dateien auslesen
ja ich meine TIBTable von delphi, sry verschrieben
|
Re: Dateien auslesen
Dann schau Dir mal die Methoden Insert und Post von TIBTable an. Falls Du noch eine Delphi-Version <= 7 hast, findest Du auch Beispiele dazu in der Hilfe.
|
Re: Dateien auslesen
Also habe jetzt eine lösung gefunden:
tibtable.insert -> mit dieser werden alle edit felder hinzugefügt der fehler mit der ersten zeile kann ich nur umgehen indem ich vor die while schleife tibtable.insert schreibe |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:19 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