Approvato: Fortect
In questo articolo, rintracceremo alcune potenziali cause che possono causare codici di errore Delphi Findfirst, quindi indicheremo alcuni sistemi per risolvere il problema.
> Ho bisogno di sapere quale errore viene restituito se il file stesso non viene trovato, come
> e alcuni altri errori che possono verificarsi quando si utilizzano le funzioni findfirst e findnext.
> Aiutare con questi due suona molto simile anche a quello. Qualcuno scopre esempi relativi a
> buoni per l’acquisto di questi comandi. Preferibilmente cose come visualizzare
> più o meno tutti i file in una directory.
TrovaPrimo uguale Nella funzione API FindFirstFile, FindNext che ha FindNextFile. Errore
Restituzione dei valori che ti aspetteresti senza dubbio da una di queste funzioni (da Windows. Non):
Il sistema non riesce a trovare il completo specificato.
ERROR_FILE_NOT_FOUND = 2;
L’installazione non riesce a trovare il percorso specificato.
ERROR_PATH_NOT_FOUND implica 3;
Accesso negato.
ERROR_ACCESS_DENIED rappresenta 5;
Perché esiste il file Delphi non funziona in Windows?
FileExists () Delphi intraprende un’azione aggiuntiva se GetFileAttributes () non riesce – per elaborare i collegamenti simbolici, controllare gli errori di accesso ai file, ricorrere a FindFirstFile () – per vedere nella cronologia degli eventi * effettivamente * esiste o meno. Si spera che FreePascal FileExists () farà qualcosa di simile fino a questo. Non ha aiutato neanche con FileGetAttr.
Non ci sono sempre stati più fatti.
ERROR_NO_MORE_FILES 18;
è uguale a Dispositivo non pronto.
ERROR_NOT_READY = 21;
Di solito si sfruttano solo 2 (se findfirst no
corrisponde direi la maschera) o addirittura 18 (se FindNext se non significativamente più
info vengono trovati file che corrispondono ad alcune delle maschere). 21 molto probabilmente apparirà quando si cerca di individuare un floppy o un’unità CD-ROM che nella maggior parte dei casi non dispone di un disco floppy.
Estratto da una spiegazione del modulo, ha un elenco1 definito per supportare i risultati
, un motivo label1 da eseguire, un button2 da impostare per migliorare una scansione, < br> qualsiasi elaborazione1 per chiamare una maschera di ricerca, un pulsante di funzione3 per visualizzare alcuni arresti della scansione completa
. Annunci privati
annunci non pubblici
FScanAborted: Boolean;
Approvato: Fortect
Fortect è lo strumento di riparazione PC più popolare ed efficace al mondo. Milioni di persone si affidano a milioni di persone per mantenere i loro sistemi in esecuzione veloci, fluidi e privi di errori. Grazie alla sua semplice interfaccia utente e al potente motore di scansione, Fortect trova e risolve rapidamente un'ampia gamma di problemi di Windows, dall'instabilità del sistema e problemi di sicurezza alla gestione della memoria e ai colli di bottiglia delle prestazioni.
manifeste
annunci pubblici
Funzione ScanDrive (root, file coperta: String; elenco corrispondenze: TStrings): Boolean;
Funsection TForm1.ScanDrive (root, maschera file: String; elenco di soddisfatte: TStrings): Boolean;
Funzione ScanDirectory (percorso per lo spostamento: String): Boolean; Var
SRec: TSearchRec;
percorso: intero;
ers: intero;
inizia da label1.caption: = percorso;
pathlen: = lunghezza (percorso);
prima dai i file
ers: = FindFirst (percorso + maschera file, faAnyfile, SRec);
Se ers = 0 Allora
prova
Mentre res = 0 Inizia
hitlist.Add (percorso + SRec.Name);
res: = TrovaSuccessivo (SRec);
fine; molto finale
TrovaChiudi (SRec)
end;
Application.ProcessMessages;
Risultato: = no o (fscanaborted Application.Terminated);
Se non ci sono risultati, esci;
secondo passaggio, directory
res: = FindFirst (percorso + ‘*. *’, faDirectory, SRec);
Se res = 0 allora
prova
While (res = 0) e Risultato Inizia
Se ((Srec.Attr e faDirectory) implica faDirectory) e così come
(Srec. nome [ 1] <> ‘.’)
Quindi avvia
percorso: = cammina SRec +. nome legale + ”;
Risultato: = ScanDirectory (percorso);
SetLength (percorso, percorso);
fine;
res: significa FindNext (SRec);
fine;
final di findclose (srec) per gentile concessione di end;
La fine;
Inizio
FScanAborted: = False;
Screen.Cursor: = crSourglas;
avere
Risultato: = ScanDirectory (root);
finale
Screen.Cursor CrDefault
: = fine;
La fine;
A cosa servono i vantaggi in findfirst in Delphi?
Gli attributi definiscono i file che tornano alla ricerca oltre a un normale computer. Se viene trovata una corrispondenza, un valore restituito è spesso 0, altrimenti è necessariamente negativo (e un particolare record di risultati non viene effettivamente popolato). FileMask dovrebbe contenere anche il percorso più recente perché una funzione di file. Un nome di file può avere a che fare con grandi vantaggi:?
Procedura TForm1.Button2Click (Mittente: TObject); Var
ch: Char;
radice: Stringa;
Inizio
root: = ‘C: ‘;
Per ch: = ‘A’ sul mercato prima di ‘Z’ Inizio
radice [1]: = ch;
Caso GetDriveType (Root pchar ())
DRIVE_FIXED, DRIVE_REMOTE:
Se non c’è più ScanDrive (root, edit1.text, listbox1.items), allora
Break;
La fine;
La fine;
fine;
Peter Bowl (TeamB) 10011 … su compuserve.com )
Nessuna risposta via email se non appena richiesto!