Como abrir arquivos num listview usando opendialog
Olá amigos do fórum, boa tarde a todos.
Gostaria de uma ajuda dos amigos, tenho um projeto na qual preciso realizar a importação para o banco de dados dos arquivos existente em uma pasta.
Mas estou aprimorando e preciso incrementar ainda mais o mesmo.
Na janela de importação existem no form estes componentes
um button
um opendialog
um listview
Gostaria de saber como se faz ao clicar no botao eu abra a pasta que eu deseje e importe os arquivos ali existentes da seguinte mandeira
no listview
na coluna 1 apareçam somente os nomes dos arquivos
na coluna 2 apareçam o arquivo com seu caminho completo no pc exemplo abaixo
coluna 1 coluna 2
teste.dll c:\windows\system\teste.dll
Agradeço a atenção de todos.
Obrigado.
Júnior Sistemas
Curtidas 0
Respostas
Wilson Junior
14/07/2010
Inclua duas colunas no ListView.
Espero ter colaborado.
procedure butAbrirClick(Sender: TObject); begin if OpenDialog1.Execute then ListaArquivos( ExtractFileDir(OpenDialog1.FileName) ) ; end; function TemAtributo(Attr, Val: Integer): Boolean; begin Result := Attr and Val = Val; end; procedure ListaArquivos(Diretorio: String); var srArquivo: TSearchRec; Retorno: integer; Novo: TListItem; begin ListView1.Clear; if Diretorio[ Length(Diretorio) ] <> '\' then Diretorio := Diretorio + '\' ; Retorno := FindFirst( Diretorio + '\*.*', faAnyFile, srArquivo ); try while Retorno = 0 do begin if (srArquivo.Name <> '.') and (srArquivo.Name <> '..') and (not TemAtributo(srArquivo.Attr, faDirectory) )then begin Novo := ListView1.Items.Add; Novo.Caption := srArquivo.Name; Novo.SubItems.Add( Diretorio + srArquivo.Name ); end ; Retorno := FindNext( srArquivo ); end; finally FindClose( srArquivo ); end; end;
Espero ter colaborado.
GOSTEI 0
Júnior Sistemas
14/07/2010
Winson, testei e funcionou, só preciso de uns detalhes, quando abro a janela para importar os arquivos ele traz tudo que tem na pasta, eu precisava que só trouxesse o que eu selecionasse, por exemplo quando abro, ele deixa eu selecionar os arquivos, mas me traz tudo da pasta, gostaria que me trouxesse somente os arquivos que eu selecionasse.
Obrigado brother.
GOSTEI 0
Wilson Junior
14/07/2010
No OpenDialog, na propriedade Options marque "ofAllowMultiSelect = True".
Espero ter colaborado.
procedure butAbrirClick(Sender: TObject); begin if OpenDialog1.Execute then ListaArquivos ; end; procedure ListaArquivos; var x: integer; Novo: TListItem; begin ListView1.Clear; for x := 0 to OpenDialog1.Files.Count - 1 do begin Novo := ListView1.Items.Add; Novo.Caption := ExtractFileName( OpenDialog1.Files[x] ); Novo.SubItems.Add( OpenDialog1.Files[x] ); end end;
Espero ter colaborado.
GOSTEI 0
Júnior Sistemas
14/07/2010
Valeu meu brother, funcionou.
Obrigado.
Dúvida concluída.
GOSTEI 0
Pedro Saraiva.
14/07/2010
Programa com códigos fontes?
Ola
pessoal, você programador que quer um aplicativo exemplo para fins
comerciais, tenho uma dica, compre o WinPhar que vem com todos os
códigos fontes e faça um programa baseado nele, sim ele também vêm com
todos os componentes para instalar, voce além de ganhar um programa
complidao, ganha tb os seus códigos fontes e seus componentes. O
programa foi desenvolvido em Delphi 7 com banco de dados paradox, e
custa apenas 20,00 reais
deem uma olhadinha ai no produto
http://produto.mercadolivre.com.br/MLB-149256966-winphar-2008-sistema-para-farmacias-e-drogarias-_JM
e ente em contato pelo e-mail pedroluissaraiva@yahoo.com.br.!
deem uma olhadinha ai no produto
http://produto.mercadolivre.com.br/MLB-149256966-winphar-2008-sistema-para-farmacias-e-drogarias-_JM
e ente em contato pelo e-mail pedroluissaraiva@yahoo.com.br.!
GOSTEI 0