Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - String Buchstabe für Buchstabe als Array auslesen
DarkHunter - Mi 10.03.04 17:16
Titel: String Buchstabe für Buchstabe als Array auslesen
Hallo
ich arbeite noch nicht alzu lange mit delphi (~1 Jahr) und stehe vor einem Problem
ich möchte aus einer textdatei jeden einzelnen buchstaben als array auslesen und zwar für jeden zeile.
Wie geht das?
MFG DarkHunter
Moderiert von
Peter Lustig: Thema verschoben
Pascal - Mi 10.03.04 17:42
Es geht zwar eleganter schätze ich, aber man kann es z.B. so machen:
Listbox auf das Formular setzen und dann
Delphi-Quelltext
1: 2:
| listbox1.items.loadfromfile('C:\Windows\Desktop\Test.txt'); Buchstabexy:=listbox1.items[y-1][x]; |
DarkHunter - Mi 10.03.04 17:46
hm
das ganze hat den hintergrund das ich eine karte machen will damit, je nachdem was für ein buchstabe dort steht nimmt er ein anderes bild.
zb
zeile 1: wwwbbbwww
zeile 2: wwwwbbbww
nun sollen also die ersten 3 das image "w" erhalten die nächsten 3 "b" und die letezen wieder "w"
in der nächsten zeile entsprechend
Pascal - Mi 10.03.04 17:48
heißt das es gibt noch Probleme, oder war es das was du brauchst?
Christian S. - Mi 10.03.04 17:50
Eine ListBox brauchst Du dafür nicht. Da reicht es doch, eine StringList zu erzeugen.
Pascal - Mi 10.03.04 17:52
Ich weiß, aber die hat bei mir so oft Fehler gegeben, das ich das aufgegeben habe. Auch wenn ich es noch irgendwie zum laufen bringe, brauche ich dafür immer mehr zeit, als wenn ich gleich ne Listbox einsetze.
Christian S. - Mi 10.03.04 17:56
Wie? Viele Fehler?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| var myList : TStringList; begin myList := TStringList.Create; try myList.LoadFromFile('irgendwas.txt'); BuchstabeXY := myList[y][x]; finally myList.Free; end; end; |
Das ist doch ganz einfach und sehr viel sauberer, als eine Listbox. Wie machst Du das denn dann? Versteckst Du die?
Pascal - Mi 10.03.04 18:00
Wahrscheinlich habe ich mich mit der Stringlist auch nicht genug auseinandergesetzt.
Und ja die listbox verstecke ich meist. Ich mag die auch gerne weil ich die nur einmal aufs Formular setze und dann in 10 Proceduren benutzen kann. Wie gesagt, die Fehler ließen sich wahrscheinlich vermeiden, aber ich find's trotzdem leichter so.
DarkHunter - Mi 10.03.04 18:04
das problem ist ein anderes das programm soll erkene um welchen buchstaben es sich handelt
das soll dem programm vorher nicht bekannt sein.
das mit dem in eine Tstringlist lagen mach ich auch schon nur bisher kann ich nur ganze zeile auslesen
Christian S. - Mi 10.03.04 18:06
Hast Du Dir die Quelltexte, die hier gepostet wurden, mal richtig angesehen? Da steht drin, wie man auf einzelne Buchstaben zugreift!
(Außerdem: wenn Du das schon laden kannst, hat das hier nichts in Dateizugriff zu suchen!)
DarkHunter - Mi 10.03.04 19:13
stimmt
wenn ich also zeile eins buchstbe 2 wissen will wäre das in etwa so
Delphi-Quelltext
1:
| if map[1][2] = w then begin....... |
Christian S. - Mi 10.03.04 19:15
Jein. ;-)
falsch: Die erste Zeile hat den Index 0.
richtig: Der erste Index der Buchstaben in der Zeile ist 1.
DarkHunter - Mi 10.03.04 19:26
stimmt hatte ich vergessen
wäre dann also ........map[0][2].......
Pascal - Mi 10.03.04 19:51
genau.
nur nicht ...=w sondern ...='w' (Es sei denn w ist ne Variable)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!