mapeamento
Moderador: Moderadores
- Amparo
- Usuário Nível 3

- Mensagens: 342
- Registrado em: 20 Ago 2010 10:38
- Localização: caieiras / sao paulo
mapeamento
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
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
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
mapeamento
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/
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/
- Nascimento
- Usuário Nível 4

- Mensagens: 763
- Registrado em: 19 Jul 2008 12:11
- Localização: OLINDA-PE
mapeamento
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
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
mapeamento
Olá!
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.
por exemplo :
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.
Não resolve 100% mas já tem um ganho.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
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()
Código: Selecionar todos
if ! hb_vFileExists( "\\meu\path\com\exe\SIGECOM.INI")
//ou
if ! hb_vFileExists( "\\192.168.0.1\cDirSistema\SIGECOM.INI") A velocidade, concorre em pé de igualdade até com TS(Terminal service)
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
mapeamento
Olá!
Depois que respondi vi que já usa MySQL.
Então não precisa do LetoDBf.
Basta mesmo o uso da novas funções com uma ENVAR.
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.
Depois que respondi vi que já usa MySQL.
Então não precisa do LetoDBf.
E pode padronizar sim.mas ai temos varios clientes com varios IPs varias pastas não da para padronizar.
Basta mesmo o uso da novas funções com uma ENVAR.
Vc pode criar alguma ENVAR no Windows do Cliente e pegar ela com GETENV() ou hb_getenv()PERGUNTA: tem como eu pegar a propriedade do atalho onde diz o DESTINO: \\nome_compartilhamento\pasta\executavel.exe logo no inicio da aplicação?
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.
Itamar M. Lins Jr.
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
mapeamento
Olá!
Existe uma lista destas funções no Github do Petewg.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.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- Amparo
- Usuário Nível 3

- Mensagens: 342
- Registrado em: 20 Ago 2010 10:38
- Localização: caieiras / sao paulo
mapeamento
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
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