Setar Variável de Ambiente

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Setar Variável de Ambiente

Mensagem por asimoes »

Senhores,

Tem como setar uma variável de ambiente de dentro de uma aplicação?
Temos o getenv que lê uma variável de ambiente, existe alguma setenv ou equivalente?
►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)
rossine
Usuário Nível 3
Usuário Nível 3
Mensagens: 325
Registrado em: 06 Ago 2007 09:57
Localização: Divinópolis-MG

Setar Variável de Ambiente

Mensagem por rossine »

Olá ASimoes,

Se você está usando o harbour, você pode usar a função hb_setEnv()

Exemplo:

hb_setEnv( "TMP", "c:\tmp" )

T+

Rossine.
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
marcosgambeta
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 16 Jun 2005 22:53

Setar Variável de Ambiente

Mensagem por marcosgambeta »

rossine escreveu:Se você está usando o harbour, você pode usar a função hb_setEnv()
Apenas para complementar a resposta:

1) a função retorna .t. ou .f., indicando sucesso ou falha na definição da variável

2) se o segundo parâmetro for omitido, a variável é excluída
Atenciosamente,
Marcos Antonio Gambeta
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Setar Variável de Ambiente

Mensagem por asimoes »

Rossine,

No meu caso preciso para xharbour.
►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)
marcosgambeta
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 16 Jun 2005 22:53

Setar Variável de Ambiente

Mensagem por marcosgambeta »

asimoes escreveu:No meu caso preciso para xharbour.
Pesquisei por 'setenv' e achei esta função na what32, arquivo _winmisc.c:

Código: Selecionar todos

// WINBASEAPI BOOL WINAPI SetEnvironmentVariableA( IN LPCSTR lpName, IN LPCSTR lpValue );
HB_FUNC( SETENVIRONMENTVARIABLE )
{
   hb_retl( SetEnvironmentVariableA( (LPCSTR) hb_parcx(1), (LPCSTR) hb_parcx(2) ) ) ;
}
Atenciosamente,
Marcos Antonio Gambeta
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Setar Variável de Ambiente

Mensagem por asimoes »

Valeu Marcos,

Amanhã vou testar no trabalho, informarei o resultado.

[]
►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)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Setar Variável de Ambiente

Mensagem por asimoes »

Olá Marcos,

Funcionou belezinha.

Obrigado.
►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)
Responder