verzeichnis in combo auslesen
-
Hallo,
ich möchte gerne den inhalt einer combobox mit dateinamen(*.ini) füllen.
Ich programmiere nur hobbymäßig,deswegen lasst euch bitte nicht über meinen styl aus ... (in der schule machen wir turbo pascal)
Gemeint ist:
...
-exedir
--database(dir) //zu durchsuchendes verzeichnis
---fisch.ini
---käse.ini
---wurst.ini
---...in der combobox soll dann stehen
fisch
käse
wurstden verzeichnispfad habe ich ermittelt über:
getcwd( buffer, 256); strcpy (str,buffer); strcat (str,"\\database"); strcat (str,"\\");ich glaube das ist nicht gerade der schönste weg, aber es funktioniert...
wie kann ich jetzt überprüfen welche/wieviele dateien vorhanden sind?
in google hab ich GetFiles() gefunden, aber dazu fehlt mir glaube ich die header datei.
wäre super wenn mir jmd weiter helfen könnte
MfG Lukas
-
Dafür gibt es die beiden Funktionen FindFirstFile und FindNextFile . Damit kannst du das gesamte Verzeichnis durchsuchen und alle Dateien mit der Endung .ini rausfiltern.
-
ok danke
... das hatte ich davor schon versucht aber es hat nicht hingehauen ...
dieses mal hat es geklappt-> der fehler war:
fHandle=FindFirstFile(str,&wfd);
str sag so aus : C:\Dokumente und Einstellungen\knall\Desktop\learningtool\
nachdem ich deine antwort gelesen habe is mir aufgefallen , dass da noch der * fehlt:
C:\Dokumente und Einstellungen\knall\Desktop\learningtool\*
damit klapptsdanke für die schnelle antwort
MfG Lukas
-
Als Wildcard solltest du *.ini angeben. Dann werden nur die ini Dateien aufgelistet.
-
irgend etwas klappt trotzdem nicht ... díe erste und alle ab der 3ten *.ini werden gefunden ... die 2te nicht ...jmd ne idee woran das liegen könnte
HANDLE fHandle; WIN32_FIND_DATA wfd; int i=0; char *array[20]; fHandle=FindFirstFile(str,&wfd); String_Data_Write(wfd.cFileName,"test.txt"); //funktion, die den string ans ende der .txt kopiert while (FindNextFile(fHandle,&wfd)) { if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { } else { array[i]=wfd.cFileName; array[i]=strtok(array[i], "."); String_Data_Write(array[i],"test.txt"); i=i+1; } } FindClose(fHandle);MfG Lukas
edit: gelöst nochmal vielen dank an alle