PEGAR VALOR DO INI

ADILSOO 18/04/2013 20:47:58
#422162
Boa noite gente, estou fazendo uma configuração no meu sistema que pega o valor de um INI e jogar no sistema, estou tentando pegar o valor pré estabelecido no INI para mudar a cor dos botões, mas da erro RUN TIME ERROR(13) TYPE MISMATCH


 CorBtn = ReadINI([Ô]CONFIGURACOES[Ô], [Ô]CORBOTAO[Ô], App.Path & [Ô]\NSCONFIG.ini[Ô])
cmdnovo.BackColor = vbRed
SAMUKA 18/04/2013 21:41:04
#422163
ADILSOO, blz?

Você tem que armazenar o campo em hexadecimal
E a variavel CorBtn deve ser do tipo Variant, ela irá receber o hexadecimal e aplica-lo ao cmdnovo.BackColor

Com isso o VB vai se responsabilizar pelos CAST. (Conversão de Tipo)
ADILSOO 19/04/2013 18:46:40
#422207
Samuka, não entendi o armazenar o campo em hexadecimal, teria como dar um exemplo?
SAMUKA 19/04/2013 22:39:08
#422216
Não como você está salvando a informação no arquivo INI, o correto deveria ser como o exemplo a seguir:


Dim CorBtn as Long
CorBtn = botao.BackColor
Call WriteINI([Ô]CONFIGURACOES[Ô], [Ô]CORBOTAO[Ô], CorBtn, App.Path & [Ô]\NSCONFIG.ini[Ô])

CorBtn = ReadINI([Ô]CONFIGURACOES[Ô], [Ô]CORBOTAO[Ô], App.Path & [Ô]\NSCONFIG.ini[Ô])
botao.BackColor = CorBtn


ADILSOO 19/04/2013 23:16:10
#422217
Nesse caso eu preciso gravar no INI depois pegar novamente? Nesse caso ele grava o numero 16711680, ta certo? Pois se for isso não deu...
SAMUKA 20/04/2013 09:11:30
#422220
Eu coloquei junto apenas pra exemplificar. A primeira parte é a parte da gravação do valor da cor no arquivo INI e a segunda parte é a leitura do valor, quando for necessário.

Pelo que entendi, você estava gravando no arquivo INI o valor literal [Ô]vbRed[Ô] mas isso não funciona. Vc precisa gravar o valor da constante vbRed.
EPISCOPAL 20/04/2013 19:25:44
#422233
Posta ai o conteudo da função de manipulaçao do arquivo INI
Tópico encerrado , respostas não são mais permitidas