Fil-sökning....|Programmering / Grafisk formgivning|Forum|Nordichardware

Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
The forums are currently locked and only available for read only access
sp_Feed sp_TopicIcon
Fil-sökning....
Weeblie
Kommer du hit ofta?
Medlem
Forum Posts: 381
Member Since:
December 28, 2000
sp_UserOfflineSmall Offline
1
January 31, 2002 - 8:05 pm
sp_Permalink sp_Print

Hur kan man göra en sök-sak ungefär som windows inbyggda i Visual C++ (Det räcker igentligen med att bara kunna söka efter filnamn)? Det går igentligen lika bra att öppna sökrutan om man kan programmera så att söktexten kommer in direkt och sökningen börjar direkt.

_BiG_HeaD_
Kommer du hit ofta?
Medlem
Forum Posts: 379
Member Since:
September 20, 2001
sp_UserOfflineSmall Offline
139910
February 1, 2002 - 9:47 am
sp_Permalink sp_Print

I Window 9x så har jag för mig att "programmet" loopar sig genom alla mappar.

Weeblie
Kommer du hit ofta?
Medlem
Forum Posts: 381
Member Since:
December 28, 2000
sp_UserOfflineSmall Offline
139992
February 1, 2002 - 3:10 pm
sp_Permalink sp_Print

Vilka funktioner ska man använda för att få en lista med mappar och filer
? (Ungefär som doskommandot dir)

jonaz
Kommer du hit ofta?
Medlem
Forum Posts: 940
Member Since:
May 8, 2001
sp_UserOfflineSmall Offline
142165
February 6, 2002 - 11:20 pm
sp_Permalink sp_Print

Detta kanske hjälper (VC++ 6):
// Struct för filinnehåll
struct _finddata_t file;

// Hållerkoll på vilken fil i katalogen som var den sista
long hFile;

// Ändra katalog (till de där du vill börja söka
_chdir(path);

// Hämtar första filen och spar info om den i structen (type är en char* som anger sökkriterium t.ex. "*.txt")
hFile= _findfirst (type,&file);

// Hämta nätsta fil i mappen
_findnext(hFile,&file);

// Kolla om det är en katalog (kan vara bra för att se när det är dax att byta katalog)
if(file.attrib==_A_SUBDIR)

// Denna flagga sätts när det inte finns några filer eller mappar kvar i katalogen (som ett resultat av findfirst eller findext
while (errno!=2)

// Skriva ut namnet på filen
file.name

// Detta returnerar aktuell sökväg
char buff[_MAX_PATH];
_getcwd(buff,_MAX_PATH)

Med detta borde du med hjälp av rekursion kunna lista alla filer från en angiven mapp eller från roten.

ex.

funk1(sökväg, type) {
Byt till önskad katalog
Öppna första filen
while(errno!=2) {
Om det är en mapp {
Anropa funk1 med mappen som sökväg (relativ)
Backa i filsystemet (beroende på hur koden skrivs)
Hämta nästa fil i mappen
}
Annars {
Skriv ut filnamnet
Hämta nästa fil i mappen
}
}
}

Hoppas jag inte gjort alltför många fel, klockan är mycket 🙂

Lycka till!

Desktop: Gigabyte GA-MA770-DS3 | AMD Phenom II 955 BE | 8GB PC6400 | Samsung 1TB + 500GB | Powercolor HD3870
3DMark 2006: 11932 3DMark Vantage: P5137
Laptop: Macbook Pro 2012 | 8GB | Samsung 830 128GB SSD
HTPC: Mac Mini | 3GB | 500GB

Forum Timezone: Europe/Stockholm
Most Users Ever Online: 694
Currently Online:
Guest(s) 35
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Andreas Galistel: 16287
Jonas Klar: 15897
ilg@dd: 10810
Nyhet: 10607
Mind: 10550
Ctrl: 10355
Gueno: 9881
Guest: 9344
Snorch: 8881
Callister: 8468
Newest Members:
PetrbonFU PetrbonFU
Karine Bembry
Dolores Mcdaniels
Anibal McLeish
Francisca Alt
Alfie Everhart
Lester Huitt
Orlando Jorgensen
Mikki Lundgren
Dakota Kozlowski
Forum Stats:
Groups: 11
Forums: 59
Topics: 146630
Posts: 1300967

 

Member Stats:
Guest Posters: 2
Members: 79425
Moderators: 0
Admins: 11
Administrators: nordicadmin, Henrik Berntsson, Anton Karmehed, Carl Holmberg, Joel Oscarsson, Mikael Linnér, Mikael Schwartz, Andreas Paulsson, Nickebjrk, Mattias Pettersson, EmxL