Página 1 de 1

mapeamento

Enviado: 30 Jul 2021 09:38
por Amparo
ola amigos

bom dia a todos

utilizo o
Harbour MiniGUI Extended Edition

sempre usei meus EXE sendo executado com MAPEAMENTO de unidade F: H: T: e por ai vai

tendo em vista que muitas vezes a perda de mapeamento, perda do atalho causa transtornos chamados para recriar mapeamento ou o atalho gostaria de mudar e começar a utilizar o compartilhamento ou seja \\ip ou nome servidor\pasta\executavel.exe

bem acontece que no inicio do meu sistema faço a seguinte checagem: IF !FILE( "SIGECOM.INI" ), para carregar por exemplo Host_Mysql= LOCALHOST, User_Mysql=amparo, Pass_Mysql=n„Z\g“©G[ e outros dados, como o mapeamento esta: S:\TDSQL\EXECUTAVEL.EXE o sistema procura o arquivo SIGECOM.INI na pasta onde esta sendo executado.

se eu compartilhar e dar os devidos direitos de compartilhamento e criar um atalho na área de trabalho \\ip ou nome servidor\pasta\executavel.exe ao executar o programa, passara a procurar o arquivo SIGECOM.INI em Users\amparo\Desktop e não vai encontra-lo a não ser que eu copie o arquivo para area de trabalho o que não seria interessante.

para que funcione eu teria que mudar o programa em IF !FILE( "SIGECOM.INI" ) colocar IF !FILE( "\\nome_compartilhamento\PASTA\SIGECOM.INI" ) mas ai temos varios clientes com varios IPs varias pastas não da para padronizar.

PERGUNTA: tem como eu pegar a propriedade do atalho onde diz o DESTINO: \\nome_compartilhamento\pasta\executavel.exe logo no inicio da aplicação? ou tem outra forma de faze-lo?

abraços

mapeamento

Enviado: 30 Jul 2021 10:38
por JoséQuintas
Ao invés de configurar no atalho, use o PATH do EXE como referência.

mapeamento

Enviado: 30 Jul 2021 20:00
por Nascimento
amigo leia aqui no forum sobre letodbf, é praticamente o que vc precisa, parece ser complicado mais não é

mapeamento

Enviado: 30 Jul 2021 22:48
por Itamar M. Lins Jr.
Olá!
perda do atalho causa transtornos chamados para recriar mapeamento ou o atalho gostaria de mudar e começar a utilizar o compartilhamento ou seja \\ip ou nome servidor\pasta\executavel.exe
Não resolve 100% mas já tem um ganho.
Passe a usar as novas funções do Harbour com o prefixo hb_Vf* tem equivalente para todas as antigas e muitas novas.
Por exemplo troque file() por hb_VfileExists() e por ai vai.

Código: Selecionar todos

C:\Windows\System32>hbmk2 -find hb_vf
hbpipeio.hbc (instalado):
   hb_vfFromPipes()
   hb_vfOpenProcess()
hbtcpio.hbc (instalado):
   hb_vfFromSocket()
Núcleo Harbour (instalado):
   hb_vfAttrGet()
   hb_vfAttrSet()
   hb_vfClose()
   hb_vfCommit()
   hb_vfConfig()
   hb_vfCopyFile()
   hb_vfDirectory()
   hb_vfDirBuild()
   hb_vfDirExists()
   hb_vfDirMake()
   hb_vfDirRemove()
   hb_vfDirSpace()
   hb_vfDirUnbuild()
   hb_vfEof()
   hb_vfErase()
   hb_vfExists()
   hb_vfFlush()
   hb_vfHandle()
   hb_vfLink()
   hb_vfLinkRead()
   hb_vfLinkSym()
   hb_vfLoad()
   hb_vfLock()
   hb_vfLockTest()
   hb_vfMoveFile()
   hb_vfNameExists()
   hb_vfOpen()
   hb_vfRead()
   hb_vfReadAt()
   hb_vfReadLen()
   hb_vfRename()
   hb_vfSeek()
   hb_vfSize()
   hb_vfTempFile()
   hb_vfTimeGet()
   hb_vfTimeSet()
   hb_vfTrunc()
   hb_vfUnlock()
   hb_vfWrite()
   hb_vfWriteAt()
por exemplo :

Código: Selecionar todos

if ! hb_vFileExists( "\\meu\path\com\exe\SIGECOM.INI") 
//ou 
if ! hb_vFileExists( "\\192.168.0.1\cDirSistema\SIGECOM.INI") 
Agora a forma que resolver 100% é usar LetoDBf pq não precisa mais de compartilhamento.
A velocidade, concorre em pé de igualdade até com TS(Terminal service)

Saudações,
Itamar M. Lins Jr.

mapeamento

Enviado: 30 Jul 2021 23:12
por Itamar M. Lins Jr.
Olá!
Depois que respondi vi que já usa MySQL.
Então não precisa do LetoDBf.
mas ai temos varios clientes com varios IPs varias pastas não da para padronizar.
E pode padronizar sim.
Basta mesmo o uso da novas funções com uma ENVAR.
PERGUNTA: tem como eu pegar a propriedade do atalho onde diz o DESTINO: \\nome_compartilhamento\pasta\executavel.exe logo no inicio da aplicação?
Vc pode criar alguma ENVAR no Windows do Cliente e pegar ela com GETENV() ou hb_getenv()
Por exemplo pegar a variável de ambiente "USERPROFILE" através de hb_getenv("USERPROFILE") vai retornar algo como "C:\Users\Itamar"

Saudações,
Itamar M. Lins Jr.

mapeamento

Enviado: 31 Jul 2021 10:23
por Amparo
ola amigos

bom dia

Itamar era isso mesmo que estava precisando!


obrigado amigos!!!!

mapeamento

Enviado: 31 Jul 2021 17:05
por alxsts
Olá!
Itamar M. Lins Jr. escreveu:Passe a usar as novas funções do Harbour com o prefixo hb_Vf* tem equivalente para todas as antigas e muitas novas.
Existe uma lista destas funções no Github do Petewg.

mapeamento

Enviado: 04 Ago 2021 08:04
por Amparo
OLA AMIGOS

boa dia

Itamar, descobri uma forma que não precisa criar a variável no Windows, basta você COMPARTILHAR a pasta dar DIREITO de acesso a ela e criar o atalho como:
\\nome_do_compartilhamento\pasta\executavel.exe

e nas propriedades do atalho em: iniciar em: colocar \\nome_do_compartilhamento_pasta e pronto esta feito.

abraços