configurar as var. de ambiente do WIN XP direto

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
rosalvo rosa
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 10 Jan 2006 19:21
Localização: Curitiba - PR

configurar as var. de ambiente do WIN XP direto

Mensagem por rosalvo rosa »

Amigos, olá.


Tenho um cliente, que tem uma empresa com varios representantes espalhados pelo Brasil. Ele quer que eu faça
um programa de remessa de pedidos via e-mail. Para isso, teria que instalar o programa nos computadores dos
representantes.

Pergunto:

Tem como fazer um file.bat e configurar o WINDOWS XP diretamente, ou seja, fazer as variaveis de ambiente
sem que precise ensinar o passo a passo para cada pessoa que irá usar o file.exe do CLIPPER ?

Desde já agradeço.

Rosalvo
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: configurar as var. de ambiente do WIN XP direto

Mensagem por sygecom »

Olá Rosalvo,
Tem sim o que vc quer, inclusive acho que o Toledo já postou aqui no forum uma função dele, que sempre usei no CLIPPER, para configuração de ambiente direto pelo CLIPPER, e no caso do Windows XP não é nescessario nem reiniciar o micro, apenas seu aplicativo.
De uma procurada no forum, se não achar posto a que eu usava no Clipper, outra opção seria vc compilar sua aplicação com xHarbour e esquece esse negocio de configurar FILES e etc...alem de Mil outras vantagens que pode vir a ter com xHarbour.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
SandroBelarmino
Usuário Nível 3
Usuário Nível 3
Mensagens: 464
Registrado em: 04 Set 2007 16:11
Localização: Pedreira-SP

Re: configurar as var. de ambiente do WIN XP direto

Mensagem por SandroBelarmino »

Se o seu problema for em relação à abertura dos arquivos no clipper, o que voce pode fazer sem ter que alterar o autoexec e o config e chamar o seu prog. através de um arquivo.bat e nesse bat incluir uma linha com o SET CLIPPER antes de chamar o exe do prog.

É pra resolver.

Abraço.
Alessandro R Belarmino
Clipper 5.2e - Blinker 7 - DBFNTX / DBFCDX
"Quem trabalha muito erra muito, quem trabalha pouco erra pouco, quem não trabalha não erra e quem não erra é promovido !!!!"
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

O SET CLIPPER é limitado ao valor que já foi configurado no CONFIG. Se nele o valor for configurado para 120, digamos, não adianta informar SET CLIPPER=F200. Tampouco adianta informar maior valor que 120 pelo script de linkedição, no caso de estar sendo usado o BLinker.

O ideal é utilizar algum programa que atualize o CONFIG (e AUTOEXEC, se necessário). Se alguém quiser, tenho uma função que altera o CONFIG. É só pedir.
[]'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!
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Re: configurar as var. de ambiente do WIN XP direto

Mensagem por Toledo »

O Leonardo lembrou de uma função que postei aqui já faz algum tempo, que modifica tanto o CONFIG.SYS com o AUTOEXEC.BAT...

https://pctoledo.org/download/cop ... t&deonde=2

Mas teria que fazer algumas modificações, pois no Windows XP os arquivos são CONFIG.NT e AUTOEXEC.NT e estão na pasta \WINDOWS\SYSTEM32.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

configurar as var. de ambiente do WIN XP direto

Mensagem por Pablo César »

Em tempo, vale mencionar que dependendo da instalação do Windows XP, "normalmente" o CONFIG.NT e AUTOEXEC.NT estão na pasta \WINDOWS\SYSTEM32. Por isso vale a pena implementar no procedimento mais uma função que retorne onde o WINDOWS e o SYSTEM estão instalados. A função GETSYSINFO() da biblioteca WAPI ou o switch -GETSYSTEMINFO do aplicativo WAPI.EXE do Maligno retorna o caminho de onde o Windows está instalado, o diretório System, Arquivos de Programas, Meus Documentos, Usuários, etc...

Então sabe-se que é necessário mudar o CONFIG.NT em WINXP (como mencionou o Maligno), caso o FILES esteja com o valor muito baixo. E para complementar, eu acostumo utilizar uma BATCH (como mencionou o Sandro) própria antes de chamar meu sistema e SETAR as variáveis de ambiente. Porque no AUTOEXEC.NT, não surtem efeito tais declarações, por tanto eu não modifico NUNCA o AUTOEXEC.NT.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
rosalvo rosa
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 10 Jan 2006 19:21
Localização: Curitiba - PR

Re: configurar as var. de ambiente do WIN XP direto

Mensagem por rosalvo rosa »

Agradeço a colaboraçao de todos.

A função do mestre Toledo é muito boa, vou usá-la também. Mas como citou o Pablo, o que
procuro é justamente uma função para SETAR as variáveis de ambiente. Para fazer com que
o Clipper funcione no WinXP, precisamos acrescentar as variáveis em :
- PAINEL DE CONTROLE
-SISTEMA
-AVANÇADO
-VARIÁVEIS DE AMBIENTE
e aqui colocar as variáveis c:\clipper5\pll...
Para colocar direto, sem ter que dar um passo a passo para quem vai usar o programa, eu gostaria
de receber, Pablo, se vc tem, uma funcao que faça isso. De resto, obrigado.

Rosalvo
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

configurar as var. de ambiente do WIN XP direto

Mensagem por Pablo César »

Olha... vendo por esse ponto de vista que você indicou. Podemos dizer que tem forma de automatizar a configuração de ambiente diretamento no REGISTRO do Windows. Fiz um teste e coloquei uma variável e chamei o REGEDIT. E adivinha... estava lá em:

Meu computador\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment

Isto quer dizer que você poderá usar o switch -WRITEREGISTRY do WAPI.EXE do Maligno, isso se for utilizar um arquivo BATCH para instalação. Se caso preferir fazer um executável, utilize a função WriteWReg() da WAPI.LIB

Também tem outra solução. É colocando um arquivo BATCH na pasta inicialização do Windows. Você pode escolher um geral o apenas no usuário que utiliza seu sistema. Primeiramente você precisa saber onde a pasta "C:\Documents and Settings\All Users\Menu Iniciar\Programas\Inicializar" está, para isso eu utilizo outra função GETSYSTEMINFO do WAPI que me devolve o décimo segundo elemento e que utilizo como SUB-TRING (pois este é do Desktop, de modo que o excluo e adiciono "Menu Iniciar\Programas\Inicializar"). Dá certo também.

Obs.: Uma das grandes vantagens da utilização do WAPI, é que você pode executar apenas uma vez dois switches ao mesmo tempo de execução. Leia a documentação que acompanha o pacote WAPI que fala sobre a função RunWAPICmd().
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
rosalvo rosa
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 10 Jan 2006 19:21
Localização: Curitiba - PR

Re: configurar as var. de ambiente do WIN XP direto

Mensagem por rosalvo rosa »

Legal Pablo, agora prá ficar mais fácil, será que o Maligno não abriria o código da WriteWReg() , pelo menos
a parte que faz esta configuração no WinXP, aí ficaria melhor, porque de acordo com a versão do Windows, sempre
tem algumas modificações.

Rosalvo
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: configurar as var. de ambiente do WIN XP direto

Mensagem por Maligno »

agora prá ficar mais fácil, será que o Maligno não abriria o código da WriteWReg()
Não preciso abrir o código. A WAPI é distribuída com todo o código fonte.
E a parte C da gravação no Registry está na função WriteRegistry() do fonte WAPI.C.
[]'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!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

configurar as var. de ambiente do WIN XP direto

Mensagem por Pablo César »

Rosalvo escreveu:será que o Maligno não abriria o código da WriteWReg()
Naligno escreveu:Não preciso abrir o código. A WAPI é distribuída com todo o código fonte.
Pois é... não entendí essa.

Rosalvo, olhe a sintaxe no próprio arquivo fonte WAPI.C:

Código: Selecionar todos

-WRITEREGISTRY:<fullKeyPath>;<entryName>;<valueType>;<value>;<resultFile>
 *           Armazena na chave <fullKeyPath> do Registry do Windows o conteúdo de <value> na entrada
 *           <entryName>. O resultado da operação será informado no arquivo <resultFile>.
 *           OBS1: Se a chave <fullKeyPath> não existir no todo ou em parte, será criada.
 *           OBS2: <valueType> é o tipo do dado a gravar, sendo quatro tipos: binário (B), caractere
 *                 (C), numérico (N) ou texto de múltiplas linhas (T).
 *           OBS3: Caso o tipo seja binário (B), a lista de números (limitados entre 0 e 255) deverá
 *                 ser passada como uma lista com os valores separados por vírgulas.
 *           OBS4: Se o tipo for texto (T) (múltiplas linhas), há duas formas de informar: uma lista
 *                 de strings separadas por um par de arrobas (@@) ou através de um arquivo externo,
 *                 cujo nome deverá ser prefixado pelo símbolo "%F:" (case insensitive).
 *           OBS5: O nome do caminho da chave deverá estar completo, começando pela raiz, e deve ser
 *                 informado como se fosse o nome de um diretório do disco. Exemplo:
 *                 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run.
 *           OBS6: Ao invés de utilizar o nome completo da chave primária (raiz), que é extenso, seu
 *                 nome poderá ser trocado por um acrônimo, conforme a tabela abaixo.
 *                       HKEY_CLASSES_ROOT   = HKCR
 *                       HKEY_CURRENT_USER   = HKCU
 *                       HKEY_LOCAL_MACHINE  = HKLM
 *                       HKEY_USERS          = HKU
 *                       HKEY_CURRENT_CONFIG = HKCC
 *           OBS7: O uso deste comando pode requerer direitos de administrador em versões do Windows
 *                 que exercem controle sobre os privilégios de acesso de usuários.
Viu a sétima observação ? Tem que observar isso também (os direitos de acesso do usuário corrente). Por outro lado tente fazer a segunda indicação que dei, sobre colocar o arquivo BATCH na inicialiazação. Pois este dependendo onde e quem irá instalar o aplicativo, pegará o caminho do menu iniciar.

Em resumo: Eu acho que você está se complicando a toa. Se a sua intenção é apenas setar as variavéis de ambiente. Faça um arquivo BATCH que será o chamador da sua aplicação, claro que antes disso, você poderá fazer maiorers implementações como por exemplo:

Código: Selecionar todos

@ECHO OFF
SET CLIPPER=F150
SET TERMINAL=PC1
MODE CON LINES=25 COLS=80
WAPI -GETDEFPRINTER:PRINTER.TXT
CD\SCP
SCP
Veja que com este exemplo você seria uma forma mais flexível de configurar seu ambiente. O PRINTER.TXT guadará o nome da impressora padrão instalada, podendo até fazer referência na hora de impressão.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Responder