Nome maquina /ou IP
Moderador: Moderadores
Nome maquina /ou IP
Bom dia !
Amigos , teria alguma função do Xh que retorne o NOME da maquina que voce atribui na instalação da mesma
winxp / nome da maquina = servidor
winxp / nome da maquina =terminal01
se tiver uma função que retorno o IP , pode ser tbm
...Intenção ..
Algumas tarefas tais como , criar DB e indexar na primeira inicialização do .EXE na maquina , são funções que só devem serem executadas , no servidos , por este motivo gostaria de saber o nome da maquina/IP , para
realizar este tipo de controle
té ++ :)Pos
Amigos , teria alguma função do Xh que retorne o NOME da maquina que voce atribui na instalação da mesma
winxp / nome da maquina = servidor
winxp / nome da maquina =terminal01
se tiver uma função que retorno o IP , pode ser tbm
...Intenção ..
Algumas tarefas tais como , criar DB e indexar na primeira inicialização do .EXE na maquina , são funções que só devem serem executadas , no servidos , por este motivo gostaria de saber o nome da maquina/IP , para
realizar este tipo de controle
té ++ :)Pos
C:\Xharbour\Xdev\Fw\VSX
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Buenas Eder, uma boa semana de trabalho pra vc, segue abaixo os dois exemplos:
Ip do Micro:
Nome do Micro:
Abraços
Leonardo Machado
Ip do Micro:
Código: Selecionar todos
PROCEDURE GetIp()
LOCAL aHosts
LOCAL cName
Local cEstacao:=netname(.f.)
InetInit()
aHosts := InetGetHosts( cEstacao )
IF aHosts == NIL
aHosts := InetGetAlias( cEstacao )
ENDIF
IF Empty(aHosts)
aHosts := InetGetAlias( cEstacao )
ENDIF
InetCleanup()
RETURN ahosts[1 ]
Código: Selecionar todos
NETNAME()Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Coincidentemente uso uma rotina que faz isso, sem precisar de nomes. Não sei se é bem isso que está precisando, mas la vai:
Espero ter ventilado um pouco.
Código: Selecionar todos
Function Chek
Private local2:= savenv(00,00,maxrow(),maxcol())
do while .t.
use cdctr000 excl new // guarda a ultima em que foi feita reindexação
// aberto em excl outros usuarios não conseguirão abrir, deduzindo que já existe algum terminal realizando a manutenção.
if neterr()
wvt_messagebox("AGUARDE, REORGANIZACAO EM ANDAMENTO","ATENCAO",48)
loop
else
exit
endif
enddo
if (ctrdat >= Date()-7) // se foi feita a menos 7 dias, sist inicia normal
rstenv(local2)
return
else
reindexa ou então faz manutenção nos arquivos, etc ... e ao final libera o arquivo cdctr000, para que outros terminais possam lerCompilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
Leo , como sempre matando a pau , valeu !sygecom escreveu:Buenas Eder, uma boa semana de trabalho pra vc, segue abaixo os dois exemplos:
Ip do Micro:Nome do Micro:Código: Selecionar todos
PROCEDURE GetIp() LOCAL aHosts LOCAL cName Local cEstacao:=netname(.f.) InetInit() aHosts := InetGetHosts( cEstacao ) IF aHosts == NIL aHosts := InetGetAlias( cEstacao ) ENDIF IF Empty(aHosts) aHosts := InetGetAlias( cEstacao ) ENDIF InetCleanup() RETURN ahosts[1 ]AbraçosCódigo: Selecionar todos
NETNAME()
Leonardo Machado
Alaminojunior , Eu estava fazendo dessa forma , porem creio que seja mais conveniente deixar para o servidor fazer as rotinas de criação e manutenção ...
Grato pela atenção ,e uma boa semana de trabalho a todos , 2008 , agora vai ....
C:\Xharbour\Xdev\Fw\VSX
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Está coberto de razão.creio que seja mais conveniente deixar para o servidor fazer as rotinas de criação e manutenção ...
Mas explica melhor, sempre que o sistema for iniciado, ele verifica se a maquina é o servidor e então executa a rotina de manutenção ? É isso ?
Se for, vou pegar carona nessa idéia, incluindo esta etapa dentro da que já tenho.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
alaminojunior escreveu:Está coberto de razão.creio que seja mais conveniente deixar para o servidor fazer as rotinas de criação e manutenção ...
Mas explica melhor, sempre que o sistema for iniciado, ele verifica se a maquina é o servidor e então executa a rotina de manutenção ? É isso ?
Se for, vou pegar carona nessa idéia, incluindo esta etapa dentro da que já tenho.
Não , somente quando manda indexar ...
Mas veja bem ja vou voltando atraz no que falei rsrs , analizando tecnicamente ficaria muito bom , porêm , caso seu cliente queira formatar o servidor e chamar algum tecnico pra fazer o serviço e esse tecnico , mudar o nome da maquina , ae ja vai dar problema em seu sistema , mas isso é apenas uma ipótese ! como disse anteriormente , TECNICAMENTE vai funcionar legau ....
PS: Ja fiz os testes e ficou maneiro.
C:\Xharbour\Xdev\Fw\VSX
Por que "só no servidor"? Não seria melhor "só por alguém com poderes para", alguém que deveria poder fazer qualquer coisa a partir de qualquer PC da rede, não só no servidor?Algumas tarefas tais como , criar DB e indexar na primeira inicialização do .EXE na maquina , são funções que só devem serem executadas , no servidos ,
Eu, faço por usuário. Se, na inicialização do sistema, faltar algum DBF ou algum CDX, o ADM tem que entrar em qualquer um dos PCs e botar a casa em ordem.
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Eu faço que nem o Eolo, mas Eder se assim mesmo vc quiser usar esse tipo de metodo nd o impede de ve ter uma opção de parametros do seu sistema que o usuario defina qual o nome ou IP da maquina que serve como SERVIDOR, eu uso isso para acesso a banco de dados MYSQL.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Pessoal,
Eu fiz um sistema que só faz indexação, e é agendado para um determinado horário no servidor como um serviço do windows (usando o srvany), quando o sistema inicia é enviado uma mensagem para o usuário sair do sistema, se estiver usando, mas pelo horário é pouco provável que alguém esteja usando (02:00 am). e também durante a indexação eu verifico se alguém entrou no sistema e ai eu mando o cara pro espaço (PELO SISTEMA), é radical, mas todo mundo já foi avisado e é por ai mesmo. (rs) E funciona que é uma maravilha. Executando a rotina no servidor não há colisão de rede e a indexação é super rápida, pelo motivo de ser local. Os indices de todo o sistema estão definidos em um dbf onde contém o nome do dbf, rdd, chave, condições, se unique key, data da indexação, hora e um campo controle se o indice foi criado com sucesso.
Asimoes
[]´s
Eu fiz um sistema que só faz indexação, e é agendado para um determinado horário no servidor como um serviço do windows (usando o srvany), quando o sistema inicia é enviado uma mensagem para o usuário sair do sistema, se estiver usando, mas pelo horário é pouco provável que alguém esteja usando (02:00 am). e também durante a indexação eu verifico se alguém entrou no sistema e ai eu mando o cara pro espaço (PELO SISTEMA), é radical, mas todo mundo já foi avisado e é por ai mesmo. (rs) E funciona que é uma maravilha. Executando a rotina no servidor não há colisão de rede e a indexação é super rápida, pelo motivo de ser local. Os indices de todo o sistema estão definidos em um dbf onde contém o nome do dbf, rdd, chave, condições, se unique key, data da indexação, hora e um campo controle se o indice foi criado com sucesso.
Asimoes
[]´s
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Amigos , grato pela contribuição de idéias ...Porêm como disse acima , vai de cada um avaliar de cliente para cliente como esse código deve ser escrito
Lucimauro , no seu caso fica bom se o .EXE estiver no servidor , em uma rede muito extenção com muitos acessos ao servidor creio que seja mais "coerente" deixar um .EXE para cada maquina e passar uma String como parametro para os DBF´s
Asimoes ,Sua indicação creio que seja a mais "chiq"pois voce não vai mais precisar por a mão , mas pra isso tem que ter uma rede bem estruturada e usuarios bem "domesticados no chicote" , tem cliente que desliga servidor !
RESUMÃO
Ta todo mundo correto ao meu ponto de vista ,vale de cada um avaliar como proceder ;E cheio de dicas assim consegui ter uma idéia de como criar a minha rotina para suprir as necessidades deste sistema que estou desenvolvendo ...
té++ :)Pos
Lucimauro , no seu caso fica bom se o .EXE estiver no servidor , em uma rede muito extenção com muitos acessos ao servidor creio que seja mais "coerente" deixar um .EXE para cada maquina e passar uma String como parametro para os DBF´s
Asimoes ,Sua indicação creio que seja a mais "chiq"pois voce não vai mais precisar por a mão , mas pra isso tem que ter uma rede bem estruturada e usuarios bem "domesticados no chicote" , tem cliente que desliga servidor !
RESUMÃO
Ta todo mundo correto ao meu ponto de vista ,vale de cada um avaliar como proceder ;E cheio de dicas assim consegui ter uma idéia de como criar a minha rotina para suprir as necessidades deste sistema que estou desenvolvendo ...
té++ :)Pos
C:\Xharbour\Xdev\Fw\VSX
Se bem que esse procedimento, numa rede grande, adiciona muita dificuldade na hora de atualizar os vários .EXEs espalhados pelas extensões.ederxc escreveu:Lucimauro , no seu caso fica bom se o .EXE estiver no servidor , em uma rede muito extenção com muitos acessos ao servidor creio que seja mais "coerente" deixar um .EXE para cada maquina e passar uma String como parametro para os DBF´s
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Concordo !Maligno escreveu:Se bem que esse procedimento, numa rede grande, adiciona muita dificuldade na hora de atualizar os vários .EXEs espalhados pelas extensões.ederxc escreveu:Lucimauro , no seu caso fica bom se o .EXE estiver no servidor , em uma rede muito extenção com muitos acessos ao servidor creio que seja mais "coerente" deixar um .EXE para cada maquina e passar uma String como parametro para os DBF´s
C:\Xharbour\Xdev\Fw\VSX


