Autor Beitrag
arminho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: 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:
ausblenden 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 user profile iconChristian S.: Code- durch Delphi-Tags ersetzt.
Moderiert von user profile iconChristian S.: Topic aus VCL (Visual Component Library) verschoben am Do 03.02.2005 um 19:51
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: 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. :wink:
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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: 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. :nixweiss:
arminho Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1144

Win XP
D5 Standard, D7 Pers, D2005 Pers
BeitragVerfasst: Do 03.02.05 21:32 
Suche in: Delphi-Forum, Delphi-Library COPY und Suche in: Delphi-Forum, Delphi-Library 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Fr 04.02.05 09:00 
Eine fertige Funktion ist mir dafür nicht bekannt.
chrisw
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 439
Erhaltene Danke: 3

W2K
D7
BeitragVerfasst: Fr 04.02.05 10:59 
Probiers mal so ähnlich !!
ausblenden 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'); //Datei laden
  tempStringList.Delete(0); // Zeile 'Name Age Nat St Tk Ps Sh Ag KAb TAb PAb SAb Gam Sav Ktk Kps Sht Gls Ass DP ' löschen !
  tempStringList.Delete(0); // Zeile' ----------------------------------------------------------------------------------------' löschen !
  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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: Fr 04.02.05 11:43 
klappt wunderbar! ich danke dir chrisw !!! und den anderen natürlich auch für ihre Hilfe.
danke
arminho Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: 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