mapeamento

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
Amparo
Usuário Nível 3
Usuário Nível 3
Mensagens: 342
Registrado em: 20 Ago 2010 10:38
Localização: caieiras / sao paulo

mapeamento

Mensagem 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
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

mapeamento

Mensagem por JoséQuintas »

Ao invés de configurar no atalho, use o PATH do EXE como referência.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
Nascimento
Usuário Nível 4
Usuário Nível 4
Mensagens: 763
Registrado em: 19 Jul 2008 12:11
Localização: OLINDA-PE

mapeamento

Mensagem por Nascimento »

amigo leia aqui no forum sobre letodbf, é praticamente o que vc precisa, parece ser complicado mais não é
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
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

mapeamento

Mensagem 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.
Saudações,
Itamar M. Lins Jr.
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

mapeamento

Mensagem 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.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Amparo
Usuário Nível 3
Usuário Nível 3
Mensagens: 342
Registrado em: 20 Ago 2010 10:38
Localização: caieiras / sao paulo

mapeamento

Mensagem por Amparo »

ola amigos

bom dia

Itamar era isso mesmo que estava precisando!


obrigado amigos!!!!
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

mapeamento

Mensagem 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.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Amparo
Usuário Nível 3
Usuário Nível 3
Mensagens: 342
Registrado em: 20 Ago 2010 10:38
Localização: caieiras / sao paulo

mapeamento

Mensagem 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
Responder