Fórum Como importar arquivos pro delphi, sem precisar abrir janela de busca? #607981
06/02/2020
0
Olá boa tarde a todos, preciso de uma função que eu traga o nome dos arquivos de uma pasta?
Eu uso a função abaixo de um diretório cadastrado no banco de dados.
---
OpenDialog.InitialDir := qrDiretoriocatalogo_caminho.Text;
---
Só que ele abre a janela para poder selecionar os arquivos.
O que eu queria?
Que quando eu clicar no botão para executar o opendialog, ele já traga os arquivos para o listview.
Lembrando que a função de trazer para o listview já tenho.
Obrigado a todos.
Eu uso a função abaixo de um diretório cadastrado no banco de dados.
---
OpenDialog.InitialDir := qrDiretoriocatalogo_caminho.Text;
---
Só que ele abre a janela para poder selecionar os arquivos.
O que eu queria?
Que quando eu clicar no botão para executar o opendialog, ele já traga os arquivos para o listview.
Lembrando que a função de trazer para o listview já tenho.
Obrigado a todos.
Júnior Pinheiro
Curtir tópico
+ 0
Responder
Posts
06/02/2020
Core2
uses
SysUtils; //SetCurrentDir e AnsiContainsText
procedure TForm1.Button1Click(Sender: TObject);
Var
Path, Path2 : String;
SR : TSearchRec;
DirList : TStrings;
Lista : TStringList;
i: Integer;
begin
if directoryexists(qrDiretoriocatalogo_caminho.Text) then //função que revifica se existe o dir
begin
Path:= qrDiretoriocatalogo_caminho.Text; //pega o path do seu qrDiretoriocatalogo_caminho.Text
SetCurrentDir(Path);// set o Path como o atual
OpenDialog1.InitialDir:= GetCurrentDir; // pega o path atual e set no OpenDialog como inicial
DirList:= TStringList.Create; // cria uma lista
try
if FindFirst(Path + '*.*', faArchive, SR) = 0 then //procura todos os arquivos no path
begin
repeat
DirList.Add(ExtractFileName(SR.Name)); //add itens a lista de DIR
until FindNext(SR) <> 0;
FindClose(SR);
end;
//faça oque quiser
for i := 0 to DirList.Count - 1 do begin
if (DirList.Strings[i] = '') then //chega se esta vazia
begin
Lista.Add(QuotedStr(DirList.Strings[i]));// add o item entre aspas na lista se esta vazia
end
else
begin
Lista.Add(' '+QuotedStr(DirList.Strings[i])); // coloca os tens entre aspas e coninua a lista com espaço
end;
Lista.Text:= StringReplace(Lista.Text, sLineBreak, '',
[rfReplaceAll, rfIgnoreCase]); // retira as quebras de linha e seta uma lista reta igual a do opendialog se der problema nisso e só retirar
OpenDialog1.FileName:= Lista.Text; // set a lista de arquivos cria no Opendialog com nomes fixos quando abrir já vai esta a lista nele
end;// final do loop
finally
DirList.Free; // libera a lista dir
Lista.Free;// libera lista
end;
end;// final da função que revifica se existe o dir
if OpenDialog1.Execute then // chama o opendialog
begin
end;
end;
SysUtils; //SetCurrentDir e AnsiContainsText
procedure TForm1.Button1Click(Sender: TObject);
Var
Path, Path2 : String;
SR : TSearchRec;
DirList : TStrings;
Lista : TStringList;
i: Integer;
begin
if directoryexists(qrDiretoriocatalogo_caminho.Text) then //função que revifica se existe o dir
begin
Path:= qrDiretoriocatalogo_caminho.Text; //pega o path do seu qrDiretoriocatalogo_caminho.Text
SetCurrentDir(Path);// set o Path como o atual
OpenDialog1.InitialDir:= GetCurrentDir; // pega o path atual e set no OpenDialog como inicial
DirList:= TStringList.Create; // cria uma lista
try
if FindFirst(Path + '*.*', faArchive, SR) = 0 then //procura todos os arquivos no path
begin
repeat
DirList.Add(ExtractFileName(SR.Name)); //add itens a lista de DIR
until FindNext(SR) <> 0;
FindClose(SR);
end;
//faça oque quiser
for i := 0 to DirList.Count - 1 do begin
if (DirList.Strings[i] = '') then //chega se esta vazia
begin
Lista.Add(QuotedStr(DirList.Strings[i]));// add o item entre aspas na lista se esta vazia
end
else
begin
Lista.Add(' '+QuotedStr(DirList.Strings[i])); // coloca os tens entre aspas e coninua a lista com espaço
end;
Lista.Text:= StringReplace(Lista.Text, sLineBreak, '',
[rfReplaceAll, rfIgnoreCase]); // retira as quebras de linha e seta uma lista reta igual a do opendialog se der problema nisso e só retirar
OpenDialog1.FileName:= Lista.Text; // set a lista de arquivos cria no Opendialog com nomes fixos quando abrir já vai esta a lista nele
end;// final do loop
finally
DirList.Free; // libera a lista dir
Lista.Free;// libera lista
end;
end;// final da função que revifica se existe o dir
if OpenDialog1.Execute then // chama o opendialog
begin
end;
end;
Responder
Gostei + 0
06/02/2020
Core2
você pode simplesmente deleta essa parte
pode usar as lista no luga do opendialog se quiser
if OpenDialog1.Execute then // chama o opendialog
begin
end;
begin
end;
pode usar as lista no luga do opendialog se quiser
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)