Fórum buscar arquivo no diretorio #617699
02/03/2022
0
estou fazendo uma busca de um arquivo em um diretorio, ate ai tudo bem estou consguindo so que preciso passar o que esta digitado no edit para a busca e nao esta indo
assim da certo
busca('C:\GUESTUS\NFe\enviadas', '31210235603074000105550010000002591080387373-nfe.xml');
queria que ficasse assim
busca('C:\GUESTUS\NFe\enviadas','+'(edit2.Text)'+'.xml'');
so que da erro
Wellington
Curtir tópico
+ 0Posts
02/03/2022
Emerson Nascimento
busca('C:\\GUESTUS\\NFe\\enviadas', edit2.Text+'.xml');pra ficar mais fácil de entender:
pasta := 'C:\\GUESTUS\\NFe\\enviadas'; arquivo := edit2.Text+'.xml' // acrescente o '.xml' somente se não estiver informado no edit2 busca(pasta, arquivo);
Gostei + 0
02/03/2022
Raimundo Pereira
private
{ Private declarations }
Function Search(_Directory, _File,_Extension:String):Boolean;
function TForm1.Search(_Directory, _File, _Extension: String): Boolean;
var _Path:String;
begin
_Path:=_Directory+'\\'+_File+_Extension;
try
if FileExists(_Path) then
begin
Result:=True;
end
else
begin
Result:=False;
end;
Except
on E: Exception do
begin
ShowMessage('Error: ' + E.Message );
Result:=false;
end;
end;
end;
Chamando a função:
procedure TForm1.Button1Click(Sender: TObject);
begin
if Search('C:\\GUESTUS\\NFe\\enviadas',Edit2.Text,'.xml') then
begin
ShowMessage('Existente');
end
else
begin
ShowMessage('Inexistente');
end;
end;
Gostei + 0
02/03/2022
Wellington
vou explicar melhor
preciso buscar o xml que esta dentro de um subdiretorio que seja 'C:\\GUESTUS\\NFe\\enviadas\\????
depois de enviadas o sistema gera uma pasta para cada mes, entao nao pode exatamente de da pasta enviada
deste jeito ele busca o xml , so que preciso que pegue a chave o xml do dbedit
veja com estou fazendo
function TForm1.Busca(const cPath, cFile: String): Boolean;
var
S: String;
nRet: Integer;
Search: TSearchRec;
begin
nRet := FindFirst(cPath+'*.*', faAnyFile or faArchive or faDirectory, Search);
while nRet = 0 do
begin
if (Trim(Search.Name) <> '.') and (Trim(Search.Name) <> '..') then
begin
if Search.Attr and faDirectory > 0 then
Busca(IncludeTrailingPathDelimiter(cPath+Search.Name), cFile)
else if Trim(Search.Name) = cFile then
edit1.Text:=(cPath+Search.Name);
end;
nRet := FindNext(Search);
end;
chamando a funcção
busca('C:\\GUESTUS\\NFe\\enviadas\\', '31210235603074000105550010000002591080387373-nfe.xml');
so que no lugar da chave do xml (31210235603074000105550010000002591080387373-nfe) que neste caso acima ta direto, eu queria buscar o que esta vindo do dbedit.text
como ficaria neste caso usando o dbedit??
Gostei + 0
02/03/2022
Raimundo Pereira
_Directory : Pasta Onde está salvo o arquivo
_File : Possível nome do arquivo , pode vim de um edit ou dbedit, aqui você pode debugar e verificar até se está sendo carregado
Como você está pegando do dbedit, pode está havendo algum erro ao passar o parametro está levando ou nome.
_Extension: Especifica a extensão
A própria função se encarrega de montar o caminho completo do arquivo.
Más tenho quase certeza que seu problema esteja relacionado ao dbedit.
Se for muito urgente chama no telegram @oficialrcp
Gostei + 0
02/03/2022
Emerson Nascimento
Ele quer passar os parâmetros de forma dinâmica, a partir do conteúdo de edit2.
Já dei a dica, mas ele sequer testou.
Gostei + 0
03/03/2022
Wellington
obrigado a todos
Gostei + 0
03/03/2022
Wellington
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)