Hier ist die Sache, die ich tun möchte. Mein Programm arbeitet mit diesem feinen:
XMLText = ' xml version="1. 0" encoding="UTF-8" standalone="yes"? >' +
'
Textfiles unterscheiden sich in der Handhabung etwas von binren Files, da Textfiles keine fixe Recordgre aufweisen und dadurch nur ein sequentieller Zugriff mglich ist. Man kann fr Textfiles den Filepointer also nicht auf eine bestimmte Zeile setzen. Textfiles werden vom Laufzeitsystem in einer speziellen Art interpretiert: jedes Textfile wird als Folge von Zeichen interpretiert, die zu Zeilen zusammengefasst sind; das Zeilenende wird durch eine spezielle Zeichenkombination (ein "carriage return" Zeichen (ASCII 13) gefolgt von einem optionalen "line feed" Zeichen (ASCII 10) markiert. Bei Textfiles haben die Prozeduren Read und Write eine spezielle Funktion, bei der Werte direkt in die entsprechenden Zeichenkombination (und umgekehrt) umgeformt werden. Wie kann man in Delphi Daten aus einer Textdatei auslesen?. So kann man zum Beispiel mit dem Kommando read (FVar, Wert1, Wert2); die nchsten zwei Werte aus dem File FVar einlesen. Man braucht also nicht den Umweg ber einen Hilfsstring gehen, in den man zuerst die Zeichen einliest und dann daraus die Variablen Wert1 und Wert2 extrahiert.
6. Okt 2007, 22:42 Ok, aber ist meine bescheidene Lösung denn akzeptabel? 6. Okt 2007, 22:48 Das musst du für dich entscheiden. Wenn du damit zufrieden bist, wieso nicht? Ist die Textdatei nicht sonderlich groß, dann ist deine Lösung in Ordnung. Je größer jedoch die Datei, desto länger benötigt das Einlesen in die StringList und desto mehr RAM wird belegt. Edit: Aber vergiss die Ressourcenschutzblöcke nicht. 6. Okt 2007, 23:01 Zitat: Ressourcenschutzblöcke Habe ich noch nie gehört 6. Okt 2007, 23:05 Zitat von Tommy1988: Aber du weißt sicher schon, was das ist, nämlich try - finally try //... finally FreeAndNil(sl); Das sorgt dafür, dass der Speicher auch dann wieder freigegeben wird, falls beim Zugriff auf die Stringlist oder ähnlichem (das im try-Abschnitt) eine Exception geworfen werden sollte. Edit: ich sehe gerade, dass ich "finally-Abschnitt" geschrieben hatte. 6. Okt 2007, 23:27 Ahhhh.. doch unter diesem Namen ist mir das durchaus bekannt Zitat
Dies sollte man allerdings immer dann ausführen, wenn der verwendete Array nicht mehr benötigt wird. Unser finales Programm sieht also so aus (wieder etwas vereinfacht mit abgefragter Anzahl der Gäste): for index:= 0 to High ( gaeste) do Mehrdimensionale Arrays [ Bearbeiten] Bis jetzt haben wir uns nur mit eindimensionalen Arrays beschäftigt. Wir haben in Pascal aber auch die Möglichkeit, mehrdimensionale Arrays anzulegen. Dabei kann jeder Unterbereich mit einem festen oder dynamischen Indexbereich versehen sein. Ein mehrdimensionales Array kann man sich wie eine Tabelle vorstellen, was bei zwei und drei Indexbereichen noch nicht schwerfallen dürfte, Pascal erlaubt aber auch weitere Dimensionen darüber hinaus. Bei einem zweidimensionalen Array kann zum Beispiel in Gedanken der erste Bereich für eine Zeile und der zweite Bereich für eine Spalte in dieser Zeile stehen. Das einfachste sind wiederum mehrdimensionale statische Arrays mit festen Indexbereichen. Die einzelnen Bereiche werden mit Kommata voneinander getrennt.
Resource-Dateien Mit Hilfe der Resource-Funktionalität lassen sich Dateien in der eigenen Anwendung einbinden, auf diese dann während der Laufzeit zugegriffen werden kann. Resource-Datei erstellen Zunächst benötigt man eine Resource-Datei, die all die Dateien enthält die man später nutzen möchte. In diesem Beispiel zeige ich wie man die Dateien und in eine Resource-Datei einbindet. Zuerst kopiert man die Dateien in ein Verzeichnis. Anschließend öffnet man einen Text-Editor (Windows Editor oder vergleichbares) und Tipp folgendes hinein: Anwendung RCDATA Text RCDATA Danach speichert man das ganze als Datei in das Verzeichnis, in dem die Dateien der Begierde liegen. Nun öffnet man die Eingabeaufforderung (CMD), hangelt sich zum Verzeichnis vor und führt folgenden Befehl aus: BRC32 -r Voilà und schon hat man eine Resource-Datei ( Datei) die die beiden Dateien enthält. Hinweis! Beim hinzufügen von Resource-Dateien ist bei direkter Verwendung unbedingt auf den Datentyp zu achten. Die Verschiedenen Resourcetypen findet man hier.
Falls du in die Textdatei etwas schreiben willst, musst du statt reset(f) append(f) ausführen. Dies alles steht auch in der Hilfe, suche einfach mal nach Assignfile. [edit=Luckie]Delphi-Tags hinzugefügt. Mfg, Luckie[/edit]