Dialogo para procurar arquivos

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Dialogo para procurar arquivos

Mensagem por clodoaldomonteiro »

Olá!

Uso a GTwvw e vi que lá tem umas funções de dialogo tipo choosefont, choosecolor, para mudar fonte e gerenciar cores, queria saber se existe algum dialogo de acesso à arvore de pastas e arquivos, parecido com o do Windows?
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Re: Dialogo para procurar arquivos

Mensagem por clodoaldomonteiro »

Poderia usar as funções:
DllLoad( )
GetProcAddress()
CallDll()
... mas ai eu teria que saber em qual DLL do windows estaria aquele dialogo que procura os arquivos, e qual o nome da função também.

Ex.:

Código: Selecionar todos

// The example implements a simple command line utility
// that opens a file using the associated file viewer.

   PROCEDURE Main( cFile )
      LOCAL nDll, pFunc

      IF cFile == NIL .OR. .NOT. File( cFile )
         CLS
         ? "File name must be specified"
         QUIT
      ENDIF

      nDll  := DllLoad( "Shell32.dll" )
      pFunc := GetProcAddress( nDll, "ShellExecute" )

      ? CallDll( pFunc, 0, "open", cFile, NIL, NIL, 1 )

      DllUnload( nDll )
   RETURN
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Dialogo para procurar arquivos

Mensagem por sygecom »

Se tive usando Hwgui junto pode usar:

Para selecionar um arquivo:
cRET := SelectFile( {"Todos os Arquivos" },{"*.*"} )

Para selecionar uma pasta:
cRET := SELECTFOLDER()
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Dialogo para procurar arquivos

Mensagem por Mário Isa »

Bom dia amigos
Vcs conhecem alguma instrução para selecionar um "conjunto de arquivos" ?

Seria tipo o selectfile() mas que o usuário pudesse Selecionar vários arquivos tipo :

TEXT01.TXT
TEXT02.TXT
TEXT03.TXT
TEXT04.TXT
TEXT05.TXT
TEXT06.TXT
TEXT07.TXT

que ele clicasse no primeiro TEXT01.TXT e shift+clique no TEXT07.txt e assim fizesses uma seleção e o resultado fosse:

"TEXT01.TXT TEXT02.TXT TEXT03.TXT TEXT04.TXT TEXT05.TXT TEXT06.TXT TEXT07.TXT"

Existe ?
:|
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Dialogo para procurar arquivos

Mensagem por rochinha »

Amiguinhos,

Como se trata de console vai a dica:

Constura um vetor com as informações de arquivos retornadas pela função aDirectory().

Clone o vetor adicionando mais um elementro. Este elemento será o flag para uso do usuário.

Exemplo, vetor 1:

Código: Selecionar todos

...
aFiles := { { "texto1.txt", "data", "hora", "tamanho" } , ;
                { "texto2.txt", "data", "hora", "tamanho" } , ;
                { "texto3.txt", "data", "hora", "tamanho" } , ;
                { "texto4.txt", "data", "hora", "tamanho" } , ;
                { "texto5.txt", "data", "hora", "tamanho" } }
...

Código: Selecionar todos

...
aFiles2 := { { "texto1.txt", "data", "hora", "tamanho". " " } , ;
                 { "texto2.txt", "data", "hora", "tamanho". "X" } , ;
                 { "texto3.txt", "data", "hora", "tamanho". " " } , ;
                 { "texto4.txt", "data", "hora", "tamanho". "X" } , ;
                 { "texto5.txt", "data", "hora", "tamanho", "X" } }
...
Vejam que neste caso exemplifiquei que os ultimos elementos de cada vetor que contenha "X" será nosso ponto de pesquisa.

Objetivo:

Montar uma achoice e por ele passear pelos elementos, usar uma tecla para acrescentar X ou retira-lo do ultimo elemento e de quebra colorir os items do achoice que contenham "X".

Uma ação finalizadora fara uma leitura do vetor aFiles2 montando um vetor unidimensional com o nome de cada arquivo que esta flagueado.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Dialogo para procurar arquivos

Mensagem por alxsts »

Olá!

Veja também o tópico Função para Selecionar Arquivo ou Pasta

Tendo os fontes pode-se alterar para ficar multiselect.
[]´s
Alexandre Santos (AlxSts)
Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Dialogo para procurar arquivos

Mensagem por Mário Isa »

Obrigado pelas luzes
-:] :)Pos
Responder