Προς το περιεχόμενο

FindFirstFile and Visual basic 6.0


ntaryl

Προτεινόμενες αναρτήσεις

Δημοσ.

καλησπερα

Πως μπορω να ψαξω και να βρω ενα συγκεκριμενο αρχειο σε ενα φακελο του συστηματος μου ?

Ενδιαφερομαι να το κανω με api (findfirstFile)

ευχαριστω πολυ

Δημοσ.

Για api δεν ξέρω αλλά μπορείς να χρησιμοποιήσεις το Filelistbox που θα βρεις αριστερα στην εργαλιοθήκη μετά με "λίγο" κώδικα βρήσκει το πρόγραμμα το αρχείο που θέλεις. Ενδιαφέρεσαι για αυτό τον τρόπο; να γράψω περισσότερα;

Δημοσ.
καλησπερα

Πως μπορω να ψαξω και να βρω ενα συγκεκριμενο αρχειο σε ενα φακελο του συστηματος μου ?

Ενδιαφερομαι να το κανω με api (findfirstFile)

ευχαριστω πολυ

 

Καταρχήν ορίζεις μια δομή WIN32_FIND_DATA (ας την πούμε WFD), ύστερα περνάς αυτή την δομή στην FindFirstFile ορίζοντας την διαδρομή και την μάσκα των αρχείων που θα δοκιμάσει να βρει (για παράδειγμα “*.*” για όλα τα αρχεία στο τρέχον φάκελο). Αν η FindFirstFile επιστρέψει τιμή διάφορη του INVALID_HANDLE_VALUE τότε την αποθηκεύεις διότι πρόκειται για Handle (για παράδειγμα hFF = FindFirstFile(“*.*”, &WFD) και ύστερα με την βοήθεια ενός do{ }while βρόγχου επεξεργάζεσαι τις πληροφορείς που επέστρεψε η FindFirstFile στην δομή WIN32_FIND_DATA και ύστερα καλείς την FindNextFile όσο αυτή επιστρέφει τιμή διάφορη του μηδέν (για παράδειγμα }while(FindNextFile(hFF, &WFD). Η FindNextFile θα αποτύχει όταν δεν υπάρχουν άλλα αρχεία που πληρούν τα κριτήρια μάσκας που έχεις ορίσει οπότε οφείλεις να αποδεσμεύσεις το FindFirstFile Handle με κλήση στην FindClose (για παράδειγμα, FindClose(hFF)).

 

Ακολουθεί ένα απλό παράδειγμα σε C, το οποίο εκτυπώνει τα περιεχόμενα του τρέχοντος κατάλογου στην κονσόλα:

 

>
   WIN32_FIND_DATA WFD;
   HANDLE  hFF;

   if( (hFF = FindFirstFile("*.*", &WFD)) != INVALID_HANDLE_VALUE)
    {
       do{
           printf("%s\n", WFD.cFileName);
        }while(FindNextFile(hFF, &WFD));
       FindClose(hFF);
    }

 

Υ.Γ.

Τόσο η FindFirstFile όσο και η FindNextFile δεν τα καταφέρνουν σε περιπτώσεις ονομάτων που χρησιμοποιούν ειδικούς χαρακτήρες Unicode.

Δημοσ.

Ευχαριστω πολυ παιδια

Φιλε lefi με ενδιαφερει μονο το συγκεκριμενο api .

Ευχαριστω πολυ παντως .

Φιλε Directx πολυ σωστα λες αλλα στο συγκεκριμενο project που πειραματιζομαι μπορω να χρησιμοποιησω μονο αυτα .

Καλο απογευμα

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...