Aprovado: Fortect
Neste artigo, muitos de nós identificaremos algumas causas potenciais que podem instigar códigos de erro Delphi Findfirst e, em seguida, apontar na rede algumas maneiras de corrigir o problema.
> Preciso saber qual erro voltou se o arquivo não for encontrado, principalmente
> e outros erros que podem ocorrer durante as funções findfirst e findnext.
> Ajudar com muitos desses dois se parece muito com isso também. Alguém sabe relacionado a algum bom
> ensaio de uso desses comandos. De preferência, coisas como visualizar
> todos os arquivos em um diretório.
FindFirst para corresponder No assistente FindFirstFile API, FindNext com FindNextFile. Erro
Retornando os custos que você esperaria de um desses elementos (do Windows. Não):
O sistema não pode comprar o arquivo especificado.
ERROR_FILE_NOT_FOUND = 2;
O sistema não pode encontrar o caminho especificado.
ERROR_PATH_NOT_FOUND = 3;
Acesso negado.
ERROR_ACCESS_DENIED significa 5;
Por que realmente existe um arquivo Delphi não funciona no Windows?
FileExists () Delphi toma uma ação adicional se GetFileAttributes () não for capaz – para lidar com links simbólicos, verificar se há erros de conexão de arquivo, talvez recorrer a FindFirstFile () – para ver positivamente se o histórico * realmente * existe para não. Esperançosamente, FreePascal FileExists () fará 1 coisa assim. Também não ajudou com FileGetAttr.
Não há mais fatos.
ERROR_NO_MORE_FILES 18;
= O dispositivo não está pronto.
ERROR_NOT_READY é igual a 21;
Normalmente, o seu site obtém apenas 2 (se o findfirst não
se mescla com a máscara) ou mesmo 18 (se FindNext suponha que não sejam encontrados mais arquivos de informação
que especialistas afirmam combinar com a máscara). 21 provavelmente aparecerá ao tentar localizar uma unidade de disquete ou CD-ROM que não possui uma unidade de disquete.
Trecho de uma explicação do aplicativo, tem uma lista1 para dar suporte às respostas
, uma função label1 para executar, um botão2 para que você configure uma varredura,
qualquer processamento1 que pode chamar a máscara de pesquisa, um botão de função3 e exibir uma parada de varredura completa
.
classificados privados
FScanAborted: Boolean;
Aprovado: Fortect
Fortect é a ferramenta de reparo de PC mais popular e eficaz do mundo. Milhões de pessoas confiam nele para manter seus sistemas funcionando de forma rápida, suave e livre de erros. Com sua interface de usuário simples e mecanismo de verificação poderoso, o Fortect localiza e corrige rapidamente uma ampla gama de problemas do Windows, desde instabilidade do sistema e problemas de segurança até gerenciamento de memória e gargalos de desempenho.
população geral
anúncios públicos
Funcionalidade ScanDrive (raiz, máscara de arquivo: String; lista de correspondências: TStrings): Boolean;
Funsection TForm1.ScanDrive (root, máscara de arquivo: String; preço total das correspondências: TStrings): Boolean;
Operação ScanDirectory (caminho para a variável: String): Boolean; Var
SRec: TSearchRec;
pathlen: integer;
ers: inteiro;
início label1.caption: = caminho;
pathlen: = dimensão (caminho);
primeiro forneça os arquivos
res: = FindFirst (caminho + máscara de arquivo, faAnyfile, SRec);
If ers = 0 Then
tem uma chance em
While res = 0 Start
hitlist.Add (path + SRec.Name);
res: = FindNext (SRec);
fim; final
FindClose (SRec)
end;
Application.ProcessMessages;
Resultado: = não aka (fscanaborted Application.Terminated);
Se não houver produto, saia;
segunda passagem, diretórios
ers: = FindFirst (path + ‘*. *’, faDirectory, SRec);
If res = 0 then
olhe para
While (res = 0) e Result Do Begin
If ((Srec.Attr e faDirectory) significa que faDirectory) e
(Srec.name [1] <> ‘.’)
Em seguida, inicie o caminho
: = walk SRec +. nome + ”;
Resultado: = ScanDirectory (caminho);
SetLength (caminho, caminho);
fim;
ers: significa FindNext (SRec);
fim;
final por meio de findclose (srec) por fim;
O Fim;
Iniciar
FScanAborted: = False;
Screen.Cursor: é igual a crSourglas;
tente
Resultado: = ScanDirectory (root); Final
Screen.Cursor CrDefault
: equates to end;
O Fim;
O que os atributos de alcance fazem em findfirst no Delphi?
Os atributos consideram os arquivos a serem pesquisados, além de um computador fixo. Se uma correspondência for encontrada, algum valor de go é 0, caso contrário, é necessariamente para baixo (e o registro de resultado não é a realidade é preenchida). FileMask pode conter o caminho mais recente, bem como uma função de arquivo. Um nome de arquivo geralmente é de grande benefício 😕
Procedimento TForm1.Button2Click (Sender: TObject); Var
ch: Char;
root: String;
Iniciar o root: = ‘C: ‘;
Para ch: = ‘A’ no mercado antes de ‘Z’ Iniciar
root [1]: = ch;
Case GetDriveType (Root pchar ())
DRIVE_FIXED, DRIVE_REMOTE:
Se não ScanDrive (root, edit1.text, listbox1.items), após
Break;
O Fim;
O Fim;
fim;
Peter Bowl (TeamB) 10011 … @ compuserve.com )
Nenhum impulso de e-mail, a menos que seja especificamente solicitado!