Página 1 de 1

configurar as var. de ambiente do WIN XP direto

Enviado: 22 Set 2008 21:42
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

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

Enviado: 22 Set 2008 21:51
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.

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

Enviado: 23 Set 2008 10:40
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.

Enviado: 23 Set 2008 11:04
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.

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

Enviado: 23 Set 2008 12:03
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,

configurar as var. de ambiente do WIN XP direto

Enviado: 23 Set 2008 16:30
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.

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

Enviado: 23 Set 2008 18:28
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

configurar as var. de ambiente do WIN XP direto

Enviado: 23 Set 2008 18:54
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().

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

Enviado: 23 Set 2008 19:14
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

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

Enviado: 23 Set 2008 19:20
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.

configurar as var. de ambiente do WIN XP direto

Enviado: 23 Set 2008 19:22
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.