quarta-feira, 2 de abril de 2025
Home
Artigos
Banco de Dados
Access
Firebird
Microsoft SQL Server
MySql
Oracle
Sybase
BI
QlikView
Dicas de Internet
e-business
Hardware
Multimídia
Flash
Programação
.NET/ASP.NET
.NET/C#
.NET/Framework
.NET/VB.NET
ASP
C/C++
Clipper
Cobol
CSS
Delphi
Java
Javascript
JSP
Palm
Perl
PHP
Shell
Visual Basic
WAP
Redes
Segurança
Servidores E-mail
Servidores Web
Apache
Microsoft IIS
Sistemas Operacionais
AIX
DOS
HPUX
Linux
Palm OS
Solaris
True64
Windows 7
Windows 9X
Windows NT
Windows Vista
Windows XP
Software Review
PC
Storages
Veritas VM
Conteúdo atual do site:
[807] ítens, entre artigos, funções e documentos.
Pesquisa Rápida:
Últimos 3 acessos:
Alexandre Neves 03/03/2015 11:08:01 167 acesso(s) alexandre neves 03/03/2015 11:06:42 1 acesso(s) Marcelo Torres 21/01/2015 15:24:53 61 acesso(s)
Opções:
Listagem completa Listagem simples
Ranking Colaboradores:
Adenilton Rodrigues - [304] Alexandre Neves - [61] Douglas Freire - [54] Marcelo Giovanni - [53] Marcelo Torres - [43] Angelita Bernardes - [31] Addy Magalhães Cunha - [28] Manuel Fraguas - [24] Ludmila Valadares - [20] Marcelo Capelo - [18]
Veja como é simples buscar informações vindas do Windows Explorer.
Suponhamos que precisássemos fazer uma seleção de arquivos para serem processados pelo nosso aplicativo. Pensaríamos logo em fazer um formulário com um componente TDirectoryListBox de um lado e um TFileListBox do outro. Ambos devidamente interligados. Daí faríamos a seleção dos arquivos que me seriam necessários e os processaria. Bem, esta é uma maneira de fazermos este trabalho. E se pudéssemos utilizar dos serviços do Windows Explorer ? Ou seja, e se pudéssemos fazer todo o trabalho de seleção dos arquivos no Windows Explorer e arrastássemos estes arquivos para o nosso aplicativo ? No mínimo pouparia tempo e sem contar que estaríamos disponibilizando para o nosso usuário final um recurso que ele já conhece. Para que isto seja possível basta implementarmos uma procedure. Na Unit que irá receber a seleção dos arquivos basta colocar na seção "Public" (Public Declarations) o seguinte: procedure DropFiles (var Msg: TMessage); message WM_DROPFILES; Depois basta implementar a procedure: procedure TForm1.DropFiles(var Msg: TMessage); var Ind, Quant, Tamanho : Integer; Arquivo : PChar; begin inherited; Quant := DragQueryFile(Msg.WParam, $FFFFFFFF, Arquivo, 255) - 1; for Ind := 0 to Quant do begin Tamanho := DragQueryFile(Msg.WParam, Ind, nil, 0) + 1; Arquivo := StrAlloc(Tamanho); DragQueryFile(Msg.WParam, Ind, Arquivo, Tamanho); Memo1.Lines.Add(StrPas(Arquivo)); StrDispose(Arquivo); end; DragFinish(Msg.WParam); end; Veja que o "resultado" está sendo descarregado num TMemo, mas de posse do nome do arquivo qualquer coisa poderia ser feita. Existe mais uma linha que deve ser colocada no evento OnCreate do formulário: DragAcceptFiles(Form1.Handle, True); Com tudo isto pronto, execute o aplicativo. Com ele aberto, abra também o Windows Explorer. Selecione alguns arquivos e arraste-os para o seu aplicativo. Quando soltar o clique do mouse verá que o nome de todos os arquivos selecionados estarão no TMemo. Infelizmente tudo isto só funciona com Delphi 6... Quebra-Linha Colaborador..: Marcelo Torres Categoria(s).: Delphi; Versão.......: 1.50 Data.........: 28/02/2005 23:25:31 Visualizado..: 1202 vezes Fonte........: Marcelo Torres
Marcelo Torres
Últimos Artigos deste colaborador Usando a função MessageBox - 16/06/2006 15:47:15 Obter conteúdo de janela popup - 13/06/2006 09:03:26 Confirmação antes de processar formulário - 20/04/2006 10:21:44
Últimos Artigos desta categoria Usando a função MessageBox - 16/06/2006 15:47:15 Atualização de Sistemas - 06/10/2005 01:07:16 CRÍTICA DE DATAS NO OBJETO EDIT SEM MENSAGEM DE ERRO DO DELPHI - 17/03/2006 14:58:31
56 pessoa(s) on-line neste site.