Página 1 de 1

retornar o nome inteiro do diretório...

Enviado: 09 Mar 2009 12:38
por carlos_dornelas
Pessoal, bom dia!

Qual comando posso utilizar para retornar o nome inteiro do diretório corrente? Já tentei o curdir(), dirname(), mas se o nome do diretório for maior que oito o retorno acaba sendo, por exemplo: C:\TESTE2~3\TESTE.

Alguém tem uma dica!

Antonio Carlos

Re: retornar o nome inteiro do diretório...

Enviado: 09 Mar 2009 13:47
por Itamar M. Lins Jr.
DirAtual := hb_argv(0)

Saudações,
Itamar M. Lins Jr.

Re: retornar o nome inteiro do diretório...

Enviado: 09 Mar 2009 14:19
por carlos_dornelas
Itamar, testei esse comando, mas também retorna o nome limitado a 8 caracteres. Retornou
C:\DOCUME~1\TESTE.EXE. Eu gostaria que o retorno fosse: C:\Documents and Settings\teste.exe!

Alguma dica?

Antonio Carlos

Re: retornar o nome inteiro do diretório...

Enviado: 09 Mar 2009 14:26
por sygecom
Segue abaixo:
NomeExecutavel(.t.)

Código: Selecionar todos

Function NomeExecutavel(lPath)
LOCAL nPos, cRet
If Empty(lpath)
   nPos:= RAT("\", hb_argv(0))
   cRet:= substr(hb_argv(0), nPos+1)
else
   cRet:= hb_argv(0)
endif
Return cRet

Re: retornar o nome inteiro do diretório...

Enviado: 09 Mar 2009 17:51
por carlos_dornelas
Pessoal, descobri o que é! Se o EXE está em um NTFS as funções trazem sempre o nome longo completo, mas se for em FAT32, aí o nome vem na forma curta. E agora?

Antonio Carlos

Re: retornar o nome inteiro do diretório...

Enviado: 10 Mar 2009 11:06
por sygecom
Olá Antonio,
É nesse caso, só posso lhe desejar boa sorte, desconheço alguma função especifica para FAT32.
Tente dar uma procurada no Help do xHarbour, quem sabe tem alguma coisa relacionada a FAT32 e NTFS

Re: retornar o nome inteiro do diretório...

Enviado: 20 Mar 2009 20:37
por janio
ja testou a função hb_cmdargargv() ??

Re: retornar o nome inteiro do diretório...

Enviado: 23 Mar 2009 09:14
por sygecom
No caso do colega Carlos, talvez ele encontre alguma função de verificação entre FAT32 e NTFS nas nanfor(libnf.lib da contrib).