retornar o nome inteiro do diretório...

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

Moderador: Moderadores

carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

retornar o nome inteiro do diretório...

Mensagem 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
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

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

Mensagem por Itamar M. Lins Jr. »

DirAtual := hb_argv(0)

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

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

Mensagem 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
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

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

Mensagem 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
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

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

Mensagem 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
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

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

Mensagem 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
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

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

Mensagem por janio »

ja testou a função hb_cmdargargv() ??
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

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

Mensagem 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).
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder