AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte TTextStream - Textdateien einlesen
Thema durchsuchen
Ansicht
Themen-Optionen

TTextStream - Textdateien einlesen

Ein Thema von himitsu · begonnen am 19. Mai 2010 · letzter Beitrag vom 4. Nov 2011
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.564 Beiträge
 
Delphi 12 Athens
 
#1

AW: TTextStream - Textdateien einlesen

  Alt 18. Okt 2010, 13:51
Ganz klar ist mir allerdings noch nicht was intern mit deinem fIndex passiert. Ich habe diese Variable mal als Property ActualRow in tTextStream nach außen gelegt:
Property ActualRow: Integer Read fIndex Write fIndex;
FIndex ist nur ein interner Index, welcher eigentlich extern nix zu suchen hat.
Ich lese die Datei ja blockweise ein, die Zeilen im aktuellen Block werden über FLines indiziert.
FIndex gibt nun an, wieviel von diesem Block schon eingelesen wurde, bzw. an welcher Stelle (Index) man sich dort grade befindet und ob bei einem ReadLine nun noch eine Zeile aus diesem Puffer genommen werden kann, oder ob ein neues Stück geladen+geparst werden muß.

Das mit dem Quote-Zeichen sollte kein Problem sein.

Die Anzahl der Trennzeichen sollte egal sein.
Über das enthaltene TRIM werden mehrere nachfolgene Trennzeichen zusammengefasst.
Ich könnte eventuell aber eine Art StrictDelemiter einführen, wo dann immer nach jedem Leer-/Trennzeichen geteilt und nichts zusammengefaßt wird.

Dieses .ActualRow hat mich noch auf die Idee gebracht, daß man auch noch die Spalte mitzählen könnte, wenn die Zeilen "Value"-weise ausgelesen werden.

Na mal sehn, was sich noch so machen läßt.

[add]
aktuelle Testversion siehe Beitrag #1
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (18. Okt 2010 um 15:22 Uhr)
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#2

AW: TTextStream - Textdateien einlesen

  Alt 4. Mär 2011, 14:00
Hallo,

ich habe mir mal deine Klasse runtergeladen und unter Windows XP funktioniert sie. Jetzt habe ich versucht meine Applikation auf einem Windows7 32Bit System zu starten und er kommt an der Stelle zu scheitern, wenn ich versuche den Textstream zu erstellen. Ich rufe folgendes beim Initialisieren auf:

Delphi-Quellcode:
var myFile : TTextStream;
...
myFile := TTextStream.Create(ChangeFileExt(Application.Exename, '.lng'), saRead);
try
  ...
finally
  myFile.Free;
end:
Hoffe auf baldige Hilfe!!!

Danke & Gruß, Moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.564 Beiträge
 
Delphi 12 Athens
 
#3

AW: TTextStream - Textdateien einlesen

  Alt 4. Mär 2011, 14:22
Gut, dann erstmal ganz allgemein gefragt:

Wo liegt eine EXE und sicher daß dein Programm dort über ausreichende Zugriffsrechte verfügt?
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#4

AW: TTextStream - Textdateien einlesen

  Alt 4. Mär 2011, 14:24
Die Exe liegt in einem Ordner auf dem Desktop. Für diesen User ist bekanntlich in dem Userordner Schreibzugriff drauf.
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.564 Beiträge
 
Delphi 12 Athens
 
#5

AW: TTextStream - Textdateien einlesen

  Alt 4. Mär 2011, 14:39
Gut, bei Win7 war's halt naheliegend, daß es daran liegen könnte, wenn es unter XP noch geht.

Hmmm, wie heißt denn die Fehlermeldung und kannst du zufällig die Zeile nennen, in welcher es knallt?

Eigentlich wäre es sehr ungewöhnlich, wenn es genau in dieser Zeile knallt.
myFile := TTextStream.Create(ChangeFileExt(Application.Exename, '.lng'), saRead); .

Ich glaub die Debuginfos hatte ich zu diesen Units nicht abgestellt, weswegen ich eher glauben würde der Debugger sollte weiter reingehn.
Notfalls mal einen Haltepunkt auf diese Zeile, dann Schritt für Schritt mit F7 weitergehn und die Zeile merken, welche aktiv war, bevor es knallte.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#6

AW: TTextStream - Textdateien einlesen

  Alt 4. Mär 2011, 14:46
Nee, es kracht genau dort. Leider kann ich nicht debuggen, weil ich auf WinXp entwickel und die Applikation auf einem Win7 laufen soll.

Ich habe versucht mir Messages und ein Tracefile zu schreiben. Er ist bis zu der Create-Zeile mit den Messages gekommen und danach kam schon die Meldung dass die Funktion mit einer Exception beendet wurde.
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#7

AW: TTextStream - Textdateien einlesen

  Alt 7. Mär 2011, 07:37
Guten Morgen,

hmm, keine weitere Hilfe oder Idee zur Hand???

Gruß, Moony
Ich weiß, daß ich nichts weiß! Sokrates
  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 15:15 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