Página 1 de 1

Diretório do Sistema no Servidor

Enviado: 25 Abr 2011 18:52
por Laudelino Scarmagnani
Pessoal, boa noite!
Existem uma função que retorna o diretório do sistema no Servidor? a partir da estação? O comando aDir() retorna o diretorio do sistema na estação. Por exemplo: o sistema está no servidor, disco D:\Sistema. Numa estação da rede, preciso recuperar este diretório.
Laudelino

Re: Diretório do Sistema no Servidor

Enviado: 25 Abr 2011 19:02
por sygecom
EX:
ALERT(CAMINHO_EXE())

Código: Selecionar todos

********************************************************************************
***********VEREFICA O NOME DO EXECUTAVEL E O CAMINHO DO MESMO*******************
*NomeExecutavel()    // verefica o nome
*NomeExecutavel(.t.) // verefica o caminho
********************************************************************************
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
********************
*Retorna o caminho do EXE
FUNCTION CAMINHO_EXE
Return(Substr(Nomeexecutavel(.t.),1,(len(Nomeexecutavel(.t.))- len(Nomeexecutavel()))-1 ))

Re: Diretório do Sistema no Servidor

Enviado: 25 Abr 2011 19:17
por Laudelino Scarmagnani
Boa noite, Leonardo.
Preciso que a renção retorne o diretorio no servidor. Por exemplo: Na estação de rede, mapeei o sistema do servidor, que está em C:\sistema, em M:\sistema. A função retorna M:\sistema. Preciso que retorne C:\sistema.
Laudelino

Re: Diretório do Sistema no Servidor

Enviado: 25 Abr 2011 19:20
por sygecom
Entendi.
Veja as opções do exemplo mostrado pelo Vailton, que está no link abaixo:
filebase.php?d=1&id=149&c_old=0&what=c&page=1

Re: Diretório do Sistema no Servidor

Enviado: 26 Abr 2011 10:44
por Jairo Maia
Olá Laudelino,

Tente desta forma:

Notas:
1- coloque no inicio de sua aplicação, para que seja executado todo vez que iniciar;
2- se for servidor dedicado, execute sua aplicação pelo menos uma vez;
3- IMPORTANTE: Funciona somente em aplicações que trabalhem com unidades de rede MAPEADAS.

Código: Selecionar todos

  cPastaExeServ:=HB_ARGV( 0 )
  cUnid:=Left( cPastaExeServ , 1 )

  // tira o nome do aplicativo
  cPastaExeServ := Uppe( Subst( cPastaExeServ , 1 , Rat( "\" , cPastaExeServ) ) )

  If DriveType( cUnid ) = 3

   // se for disco fixo, então é o servidor, e grava pasta do servidor
   HB_MVSave( "PastaExe" , "cPastaExe*" )

  ElseIf DriveType( cUnid ) = 5 .And. File( cPastaExeServ+"PastaExe.hbv" )

   // se unidade de rede le o caminho do servidor
   HB_MVRestore( cPastaExeServ + "PastaExe.hbv" , .t. )

  Else
   alert( "Pasta do Servidor nÆo identificada!" )
  Endi