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: 20415
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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: 765
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: 8028
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 2 vezes
Curtiram: 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: 8028
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 2 vezes
Curtiram: 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: 3107
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