recuperar nomes de arquivos .DBF existentes e criar um menu

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Ricardo Macagnan
Usuário Nível 1
Usuário Nível 1
Mensagens: 2
Registrado em: 05 Jun 2006 23:24

recuperar nomes de arquivos .DBF existentes e criar um menu

Mensagem por Ricardo Macagnan »

Olá, pessoal. Sou novato em clipper e estou tendo dificuldades para criar uma rotina para um de meus programas. Necessitaria de uma ajuda para descobrir como posso listar os nomes de arquivos .DBF existentes em uma pasta fixa, criando um menu com os nomes para posteriormente abrí-los e dar seguimento ao programa. Agradeço desde já qualquer ajuda!
Muito Obrigado!
Avatar do usuário
kiko
Usuário Nível 3
Usuário Nível 3
Mensagens: 145
Registrado em: 08 Jul 2004 15:24
Localização: Cianorte

Mensagem por kiko »

oi

tem a funcao DIRECTORY() q vc pode usar pra fazer isso....
ela retorna uma array multidimensional com os itens do diretorio, sendo q cada sub-array eh um atributo do arquivo: nome, tamanho, data, hora e atributos.

qualquer coisa chama ai q a gente ajuda...t+
Stanis Luksys
Colaborador
Colaborador
Mensagens: 1329
Registrado em: 18 Jun 2005 03:04
Localização: São Paulo
Contato:

Mensagem por Stanis Luksys »

DECLARE Arq[Adir("Diretorio\*.dbf")]
ADir ( "Diretorio\*.dbf", Arq )

Menu = Achoice( lin, col, lin2, col2, Arq)



Acho q só isso.
Stanis Luksys
sites.google.com/hblibs

Apoiar e se utilizar de projetos opensource não é uma questão de boicote, mas sim de liberdade.
Utilize, aprimore e distribua.
Avatar do usuário
Vander
Usuário Nível 3
Usuário Nível 3
Mensagens: 214
Registrado em: 23 Jul 2004 01:43
Localização: João Monlevade - MG

Mensagem por Vander »

Amigo Ricardo;

Veja se te ajuda.

Código: Selecionar todos

cls
PARA ARQ
SET CENT ON
SET DATE BRIT
SET CENT ON
ARQU=ALLTRIM(ARQ)
IF EMPTY(ARQU)
   @ 00,00 clear to 24,79
   file0 = CHR(34) +"*.dbf"+ CHR(34)
   N_arq = ADIR(&file0)
   DECLARE vedir[N_arq]
   ADIR(&file0,vedir)
   IF EMPTY(VEDIR)
      @ 10,10 SAY "NÇO LOCALIZADO ARQUIVOS DBF"
      @ 11,00 SAY ""
      QUIT
   ENDIF
   ASORT(vedir)
   DO WHILE .T.
      @ 7,9 TO 21,31
      SET WRAP ON
      n_opcao = ACHOICE(08,10,20,30,vedir) && Lista os arquivos
      IF n_opcao = 0 && para escolha.
         cls
         quit
      ENDIF
      Arqu = vedir[n_opcao]
      USE &ARQU
      BROWSE("")
   ENDDO
   Arqu = vedir[n_opcao]
   USE &ARQU
   BROWSE("")
  ELSE
   IF .NOT. FILE (ARQU)
      cls
      @ 10,10 SAY ARQU +" NÇO LOCALIZADO"
      @ 11,00 SAY ""
      QUIT
     ELSE
      USE &ARQ
   ENDIF
   BROWSE("")
ENDIF
Vander[/code]
Ricardo Macagnan
Usuário Nível 1
Usuário Nível 1
Mensagens: 2
Registrado em: 05 Jun 2006 23:24

agradecimento

Mensagem por Ricardo Macagnan »

Obrigado a todos pela ajuda!
Responder