Clipper On Line • Ver Tópico - Arquivos em subpastas

Arquivos em subpastas

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

Moderador: Moderadores

 

Arquivos em subpastas

Mensagempor leandrolinauer » 08 Jan 2019 08:54

Bom dia
Estou com o seguinte problema:
Tenho uma solução em parceria que guarda os PDF das nfces em subpastas, exemplo abaixo:
\\PASTADOSISTEMA\PDFs\CNPJ\ANO\MES\DIA\
e eu tenho que localizar o PDF em questão dentro desta pasta PDFs mas não necessariamente informando CNPJ\ANOS\MES\DIA para localizar o arquivo em questão eu tenho o NOME DO ARQUIVO.PDF mas não tenho o caminho todo para localizar.

Pergunto?
Há alguma função que faria isto da seguinte forma por exemplo:
ofile:=FUNCAO("\\PASTADOSISTEMA\PDFs\" , "NOMEDOARQUIVO.PDF" ) e me retornar o caminho aonde esta o arquivo, exemplo:
ofile é igual "\\PASTADOSISTEMA\PDFs\CNPJ\2019\01\04\NOMEDOARQUIVO.PDF"

Grato a todos.
:{
Harbour 3.2 + GtWVW + QT + SQLite3 + DBF + SQL (Firebird)
leandrolinauer
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 373
Data de registro: 16 Out 2006 10:59
Cidade/Estado: Paranaíba-MS
Curtiu: 0 vez
Mens.Curtidas: 12 vezes

Arquivos em subpastas

Mensagempor marsonluis » 08 Jan 2019 12:38

Podes criar uma função recursiva que retorne o caminho, e seus arquivos, usando a função ADir.

http://www.fivetechsoft.com/harbour-docs/api.html#adir
marsonluis
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 1
Data de registro: 08 Jan 2019 11:31
Cidade/Estado: Cachoeirinha/RS
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Arquivos em subpastas

Mensagempor Itamar M. Lins Jr. » 08 Jan 2019 13:55

Ola!
Tá criando 365 diretórios por ano ? Só para esse CNPJ ?
Tem várias maneiras hb_DToC() retorna a data com a picture que vc quiser.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Arquivos em subpastas

Mensagempor JoséQuintas » 08 Jan 2019 21:56

Montei direto no post só pra dar uma idéia, mais ou menos isto

FindFile( "pathraiz\", "nome", @cPathFound )

FUNCTION FindFile( cPath, cFile, cPathFound )

   LOCAL aFiles, oELement

   IF File( cFile )
      cPathFound := cPath
     RETURN NIL
   ENDIF
   aFiles := Directory( cPath + "*.*", "D" )
   FOR EACH oElement IN aFiles
      IF "D" $ oElement[ F_ATTRIB ] .AND. oElement != "." .AND. oElement != ".."
         FindFile( cPath + oELement[ F_NAME ] + "\", cFile, @cPathFound )
         IF ! Empty( cPathFound )
            RETURN NIL
         ENDIF
      ENDIF
   NEXT         

   RETURN NIL
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Arquivos em subpastas

Mensagempor leandrolinauer » 09 Jan 2019 17:00

Grato a todos pelo retorno.
Então realmente terei que montar uma pesquisa para encontrar o que eu preciso, achei que houvesse alguma função que me passou desapercebida.
Blz, muito grato.
:)Pos
Harbour 3.2 + GtWVW + QT + SQLite3 + DBF + SQL (Firebird)
leandrolinauer
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 373
Data de registro: 16 Out 2006 10:59
Cidade/Estado: Paranaíba-MS
Curtiu: 0 vez
Mens.Curtidas: 12 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Google [Bot] e 4 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro