Autor |
Beitrag |
arminho
      
Beiträge: 59
|
Verfasst: Do 03.02.05 20:50
hallo leute, brauche hilfe!
folgendes: ich möchte aus einer txt-Datei die Items für meine Combo Box auslesen. Das funktioniert ja normalerweise mit diesem code:
Delphi-Quelltext 1:
| ComboBox1.Items.LoadFromFile('bremen.txt'); |
jetzt zeigt mir delphi aber jedesmal beim compilieren, dass er die datei nicht finden konnte (bremen.txt). Die Datei habe ich aber erstellt und ins entsprechende Verzeichnes gelegt... woran liegt es? kann mir einer Helfen?
wie müssen die einzelnen Items in der Textdatei angegeben werden?
so:
item1
item2
item3
????
und wie kann ich nur bestimmte zeilen aus der Textdatei rausholen???
z.B. nur den blauen Text hier:
Ich fahr gerne Fahrrad
danke
Moderiert von Christian S.: Code- durch Delphi-Tags ersetzt.
Moderiert von Christian S.: Topic aus VCL (Visual Component Library) verschoben am Do 03.02.2005 um 19:51
|
|
jasocul
      
Beiträge: 6393
Erhaltene Danke: 147
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Do 03.02.05 20:53
Beim compilieren??
Glaube ich nicht. Zumindest würde es mich wundern.
Für bestimmte Begriffe aus dem Text musst du dich mit den grundlegenden Funktionen der Strringverarbeitung auseinandersetzen: guckst du hier mit Beispielen und Source.
|
|
arminho 
      
Beiträge: 59
|
Verfasst: Do 03.02.05 20:56
da kommt die nachricht:
Project Project1.exe raised exception class EFOpenError with message 'Cannot open file "C:\Programme\Borland\Delphi7\Projects\Delphi Projekte\fms\bremen.txt". Das System kann die angegebene Datei nicht finden'. Process stopped. Use Step or Run to continue.
Dann kann ich nur OK oder Help anklicken.
|
|
jasocul
      
Beiträge: 6393
Erhaltene Danke: 147
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Do 03.02.05 21:00
Ich gehe mal davon aus, dass die Datei auch tatsächlich da ist.
Der Fehler kommt übrigens zur Laufzeit.
Er besagt "nur", dass die Datei nicht geöffnet werden kann. Ist sie vielleicht durch eine andere Anwendung geöffnet? Hast du die noch im Editor auf?
|
|
arminho 
      
Beiträge: 59
|
Verfasst: Do 03.02.05 21:02
die datei ist wirklich in diesem verzeichnis und sie wird auch von keinem anderen programm benutzt... dass ist echt komisch...
wie müssen denn die einzelnen items in der txt angegeben sein? einfach untereinander aufzählen? so hab ich es gemacht...
|
|
jasocul
      
Beiträge: 6393
Erhaltene Danke: 147
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Do 03.02.05 21:09
Deine Datei ist schon OK, wenn du sie so aufgebaut hast.
Im Moment habe ich auch keine gute Idee, warum deine Datei nicht geöffnet werden kann.
Schonmal den Rechner neu gestartet? Eventuell ist die Datei aus anderen Gründen gesperrt. Oder greifst du innerhalb des Programms noch irgendwie darauf zu und sperrst sie vielleicht dadurch.
Bin im Moment überfragt. 
|
|
arminho 
      
Beiträge: 59
|
Verfasst: Do 03.02.05 21:12
ok jetzt hat es geklappt! Aber mein Problem weiterhin: Er zeigt alles was in der TXT Datei ist an.
Ich will aber nur einen Teil.
Hier mein TXT-File:
Name Age Nat St Tk Ps Sh Ag KAb TAb PAb SAb Gam Sav Ktk Kps Sht Gls Ass DP
----------------------------------------------------------------------------------------
D_Wache 31 deu 9 2 3 2 13 300 300 300 300 0 0 0 0 0 0 0
S_Hoffmeister 34 deu 5 1 1 1 17 300 300 300 300 0 0 0 0 0 0 0
C_Wetklo 25 deu 6 1 1 2 13 300 300 300 300 0 0 0 0 0 0 0
ich will jetzt nur das Blaue in die ComboBox!!!
Das bei deinem Link kapier ich nicht ganz... ich brauch nur ein Beispiel, dann lern ich dass schnell!!
Was müsste ich jetzt im code angeben wenn ich das Blaue haben will??
|
|
StefanH
      
Beiträge: 1144
Win XP
D5 Standard, D7 Pers, D2005 Pers
|
Verfasst: Do 03.02.05 21:32
COPY und POS hilft dir weiter 
_________________ "Als es noch keine Computer gab, war das Programmieren noch relativ einfach."(Edsger W. Dijkstra)
"Ich bin nicht von Sinnen, sondern ich rede wahre und vernünftige Worte." (Paulus)
|
|
arminho 
      
Beiträge: 59
|
Verfasst: Do 03.02.05 21:57
nirgends finde ich wie ich copy und pos für externe dateien also TXT Dateien verwende...
ich krieg das nicht hin.
|
|
jasocul
      
Beiträge: 6393
Erhaltene Danke: 147
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Do 03.02.05 22:11
Nach dem Einlesen der Liste musst du alles Einträge durchgehen und mit den String-Funktionen bearbeiten. Einen Link zur Einführung habe ich dir weiter oben schon gegeben. Es gibt auch noch andere Möglichkeiten. Dazu müsstest du dich aber erstmal mit grundlegenden Datei-Operationen beschäftigen.
Übrigens, woran lag es denn nun, dass die Datei nicht geöffnet werden konnte?
|
|
arminho 
      
Beiträge: 59
|
Verfasst: Do 03.02.05 22:16
keine ahnung woran es lag. ich habe eine neue Datei genommen...
ich müsste also jedesmal nach diesen bestimmten string suchen (mit pos), dann kopieren (copy)!?
dann müsste ich ja jeden String den ich raushaben will also mit pos angeben...
kann ich ihm nicht einfach sagen, dass er im TXT-File z.B. ab Zeile 3 Immer die ersten 14 Stellen kopieren soll und das aus jeder Zeile also sagen wir bis Zeile 20 und diese dann in die ComboBox einfügen soll (als Items)!?
geht das nicht?
|
|
jasocul
      
Beiträge: 6393
Erhaltene Danke: 147
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Fr 04.02.05 09:00
Eine fertige Funktion ist mir dafür nicht bekannt.
|
|
chrisw
      
Beiträge: 439
Erhaltene Danke: 3
W2K
D7
|
Verfasst: Fr 04.02.05 10:59
Probiers mal so ähnlich !!
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Button1Click(Sender: TObject); var tempStringList : TStrings; i : Integer; begin tempStringList := TStringList.Create; tempStringList.LoadFromFile('bremen.txt'); tempStringList.Delete(0); tempStringList.Delete(0); for i := 0 to tempStringList.Count -1 do combobox1.Items.Add(copy(tempStringList[i],1,pos(' ',tempStringList[i]))); tempStringList.Free; end; |
_________________ Man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug.
|
|
arminho 
      
Beiträge: 59
|
Verfasst: Fr 04.02.05 11:43
klappt wunderbar! ich danke dir chrisw !!! und den anderen natürlich auch für ihre Hilfe.
danke
|
|
arminho 
      
Beiträge: 59
|
Verfasst: Sa 05.02.05 20:23
gut. jetzt hab ich aber das nächste problem: die einzelnen strings wurden jetzt in die combobox eingelesen. super! jetzt soll man ja einen davon auswählen. dies möchte ich dann in eine .txt-Datei speichern... bloß wie?
wie soll ich ihm den sagen, dass er das ausgewählte in die txt-datei speichern soll!?
z.B. soll er den inhalt der combobox1 in zeile 5 der TXT-Datei speichern. Inhalt der Combobox2 in Zeile 6 etc.
ich arbeite ja ganz normal mit dem savedialog.
|
|
arminho 
      
Beiträge: 59
|
Verfasst: Fr 18.02.05 15:08
ok die frage hab ich mir selber beantwortet, aber wie soll ich dass anstellen:
MEINE TXT DATEI SIEHT SO AUS:
teamname
taktikkürzel
GK R_Enke
DF Vinicius
DF D_Zuraw
DF D_Diouf
DF S_Cherundolo
DM T_Schneider
DM M_Tarnat
MF P_Mertesacker
MF G_Agac
AM M_Schinner
FW C_Dabrowski
GK F_Juric
MF M_Idrissou
MF A_Lala
AM J_Kaufman
FW J_Stajner
PK: Elfmeterschütze
AGG AGG
wie soll ich ihm jetzt sagen, dass er z.B. die Namen (blau markiertes beispiel) jeweils in eine bestimmte combobox einfügen soll? Also z.B. R_Enke in ComboBox1 oder J_Stajner in Combobox13 ??? Ich habe jetzt nämlich geschafft, dass alle Namen erstmal in den Comboboxen sind... jetzt kann der User in jeder Combobox einen Namen auswählen und dann speichern. Ich will jetzt aber, dass er es auch laden kann!!! und dazu muss ich die Namen aus der txt rausholen!
danke
|
|