ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

[Resolvido] INI Files: Erro na leitura do campo Boolean

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
lucas_alves
Colaborador
Colaborador


Registrado: Domingo, 30 de Agosto de 2009
Mensagens: 1632
Localização: São Gonçalo - Rio de Janeiro

MensagemEnviada: Sáb Abr 03, 2010 12:04 pm    Assunto: [Resolvido] INI Files: Erro na leitura do campo Boolean Responder com Citação

Pessoal estou com o seguinte problema:

O problema esta na hora de eu Ler um arquivo INI com um campo tipo Boolean.

Se eu fizer assim, mesmo se o valor for False ele retorna True:
Código:
Seguranca.Desconto:=IniConfi.ReadBool('SEGURANCA','Desconto', True);


Mas se eu fizer assim funciona, retorna o valor correto:
Código:
Seguranca.Desconto:=StrToBool(IniConfi.ReadString('SEGURANCA','Desconto', 'True'));


Eu queria saber o porque disto, eu to fazendo algo de errado?

Abraços!!!

[Editado]
_________________
Agora eu também programo em PHP.


Editado pela última vez por lucas_alves em Sáb Abr 03, 2010 6:39 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Sáb Abr 03, 2010 2:49 pm    Assunto: Responder com Citação

Eis aih amigo, bem fácil:



Código:


var
  Form1: TForm1;
  SetCFG : TIniFile;
  DirIni: String;
Const
  CFGFILE : String = 'Set_CFG.cfg';

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
     DirIni := ExtractFilePath(ParamStr(0));
     try
        SetCFG := TIniFile.Create(DirIni+CFGFILE);
        CheckBox1.Checked := SetCFG.ReadBool('Settings', CheckBox1.Name, CheckBox1.Checked);
        CheckBox2.Checked := SetCFG.ReadBool('Settings', CheckBox2.Name, CheckBox2.Checked);
        CheckBox3.Checked := SetCFG.ReadBool('Settings', CheckBox3.Name, CheckBox3.Checked);
     finally
         SetCFG.Free;
     end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
     try
        SetCFG := TIniFile.Create(DirIni+CFGFILE);
        SetCFG.WriteBool('Settings', CheckBox1.Name, CheckBox1.Checked);
        SetCFG.WriteBool('Settings', CheckBox2.Name, CheckBox2.Checked);
        SetCFG.WriteBool('Settings', CheckBox3.Name, CheckBox3.Checked);
     finally
         SetCFG.Free;
     end;
end;




bye
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
lucas_alves
Colaborador
Colaborador


Registrado: Domingo, 30 de Agosto de 2009
Mensagens: 1632
Localização: São Gonçalo - Rio de Janeiro

MensagemEnviada: Sáb Abr 03, 2010 6:05 pm    Assunto: Responder com Citação

Então ele só le 1 ou 0, não sabia disto,

o erro é porque eu estava gravando no arquivo Ini True e False em vez de 1 e 0.

Abraços!!!
_________________
Agora eu também programo em PHP.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário
johnny-walker
Moderador
Moderador


Registrado: Sábado, 4 de Outubro de 2003
Mensagens: 10653
Localização: Contagem/MG - BRAZIL

MensagemEnviada: Sáb Abr 03, 2010 10:27 pm    Assunto: Responder com Citação

hehehe...

Amigo, vc estava fazendo errado e tentando ler como bool uma string...

Isto acontece amigo, apesar que nem utilizo mais arquivos inis, para configuraçoes utilizo xml...



byee
_________________
P.O.W.E.R B.Y D.E.L.P.H.I
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
lucas_alves
Colaborador
Colaborador


Registrado: Domingo, 30 de Agosto de 2009
Mensagens: 1632
Localização: São Gonçalo - Rio de Janeiro

MensagemEnviada: Dom Abr 04, 2010 3:35 pm    Assunto: Responder com Citação

johnny-walker escreveu:

Amigo, vc estava fazendo errado e tentando ler como bool uma string...


E agora vou ler uma Interger como Boolean... Very Happy hehe!

O importante é que ta resolvido, Vlw.

Abraços!!!
_________________
Agora eu também programo em PHP.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário
lucas_alves
Colaborador
Colaborador


Registrado: Domingo, 30 de Agosto de 2009
Mensagens: 1632
Localização: São Gonçalo - Rio de Janeiro

MensagemEnviada: Dom Abr 04, 2010 5:15 pm    Assunto: Responder com Citação

Aproveitando o topico, tenho duas perguntas,

Os arquivos INI estão fora de moda?
como é que voce armazena esses dados?

quem tiver lendo este topico e quiser responder eu fico grato.

Abraços!!!
_________________
Agora eu também programo em PHP.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB