![]() |
Textdatei auslesen und Einträge in Arrays speichern
Ich will, dass mein Programm Daten für Arrays aus einer Textdatei laden kann. Dazu hab ich mir folgende Codierung der Textdatei ausgedacht:
Zitat:
Das ist jetzt nur ein Beispiel, es können viel mehr Einträge vorhanden sein. Jedoch wird die Datei nie über 10 Städtenamen aufweisen. Jetzt möchte ich, dass in meinem Programm diese Datei geöffnet und ausgelesen wird. Die Städtenamen sollen in einer TList untereinander erscheinen und die Regeln in einer anderen TList und zusätlich in einem zwei dimensionalem Array, wobei das Array für die Regeln ein "Byte" Array ist und somit nur Zahlen speichern soll. Damit es nicht so trocken ist ein Beispiel: Die Datei wird ausgelesen Die erste TList1 wird erstellt mit den Einträgen: Zitat:
Delphi-Quellcode:
und eine TList:
Regeln = ( ( 0 , 1 ) , ( 1 , 6 ) , ( 2 , 5 ) , ( 3 , 2 ) );
Delphi-Quellcode:
Wie realisiere ich das? Ist das möglich? Ich hab mir im Forum so einiges angeguckt, aber die Fälle über die ich gelesen habe, waren sehr komplex und es kam mir so vor, als ob man mein Problem einfacher lösen könnte. :gruebel:
Frankfurt nach Berlin
Berlin nach Sydney München nach Mainz Oslo nach München |
Re: Textdatei auslesen und Einträge in Arrays speichern
Herzlich willkommen in der Delphi-PRAXiS, Koffein Schluck.
Wenn jede Stadt Teil mindestens einer Regel ist, dann ist die Vorgabe einer Städteliste überflüssig. Ich würde dann die Regeln als Städtepaare formulieren, wobei ich das Literal ' nach ' durch ein Symbol ersetzen würde. Dadurch kann ich die Regeln mit der Methode LoadFromFile() einer TStringList laden und mit den Eigenschaften Names[], Values[] und NameValueSeparator verarbeiten. In einer zweiten (sortierten) StringList füge ich alle Städtenamen einmal hinzu und erhalte durch den Index der Stadt in dieser Liste den benötigten Schlüssel. In einem Durchgang kann ich so die Schlüsselpaare in das zweidimensionale Regel-Array übertragen. Freundliche Grüße vom marabu |
Re: Textdatei auslesen und Einträge in Arrays speichern
Nicht jede Stadt bekommt eine Regel. Die Idee das nach mit einem Zeichen zu ersetzten ist gut, welches Zeichen eignet sich dazu am besten? Wie lese ich den ASCII Code eines Zeichens in einer Textdatei zum Beispiel ist der Code 0134 für dieses Zeichen "†" verantwortlich, lese ich einfach die Zeichen Variable (Typ Char) als Integer aus? :pale: Wär jemand so toll und kann mir vielleicht ein Code schreiben, ich musste bis jetzt nie Dateien auslesen... Ich lese mir noch ein paar Tutorials durch... Aber jetzt sitze ich in einem Internetcafe, also muss ich das auf später verschieben. :roll:
Danke für die Aufnahme im Forum xD , war bis jetzt nur ein "Leser" hab mich erst kürzlich dazu entschlossen mich anzumelden. Mir gefällts hier sehr gut! :thumb: |
Re: Textdatei auslesen und Einträge in Arrays speichern
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Zitat:
Zitat:
Zitat:
Freundliche Grüße |
Re: Textdatei auslesen und Einträge in Arrays speichern
VIELEN DANK! Wusste gar nicht wie effizient man sowas gestalten kann! Großartiger Programmierstil! Hut ab! :shock:
Für alle, die ähnliche Inhalte auslesen wollen ist das Herunterladen der Demo sehr zu empfehlen! Hatte beim compilieren Probleme mit dem Befehl [i]
Delphi-Quellcode:
mein Delphi 6 hat den Befehl "ValueFromIndex" nicht gekannt, hab die Zeile als Kommentar markiert, dann lief das Programm. :coder:
FRules[i][True] := NameToKey(ValueFromIndex[i]);[/i]
Ich weiß noch nicht was diese Zeilen genau im Code bewirken:
Delphi-Quellcode:
Weiß noch nicht was der Befehl ValueFromIndex[i] als Rückgabewert liefert, mein Delphi 6 kennt den Befehl noch nicht und hab bis jetzt noch nie Boolean Arrays gesehen :gruebel: : Wie kann ich denn auf FRules[i][False] etwas speichern und vor allem was speicher ich drauf :oops: ?
FRules[i][False] := NameToKey(Names[i]);
FRules[i][True] := NameToKey(ValueFromIndex[i]); |
Re: Textdatei auslesen und Einträge in Arrays speichern
Hi,
Zitat:
Zitat:
Zitat:
Gute Nacht marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:13 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 by Thomas Breitkreuz