| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
lucas_alves Colaborador


Registrado: Domingo, 30 de Agosto de 2009 Mensagens: 1632 Localização: São Gonçalo - Rio de Janeiro
|
Enviada: Sáb Abr 03, 2010 12:04 pm Assunto: [Resolvido] INI Files: Erro na leitura do campo Boolean |
|
|
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 |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Sáb Abr 03, 2010 2:49 pm Assunto: |
|
|
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 |
|
 |
lucas_alves Colaborador


Registrado: Domingo, 30 de Agosto de 2009 Mensagens: 1632 Localização: São Gonçalo - Rio de Janeiro
|
Enviada: Sáb Abr 03, 2010 6:05 pm Assunto: |
|
|
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 |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Sáb Abr 03, 2010 10:27 pm Assunto: |
|
|
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 |
|
 |
lucas_alves Colaborador


Registrado: Domingo, 30 de Agosto de 2009 Mensagens: 1632 Localização: São Gonçalo - Rio de Janeiro
|
Enviada: Dom Abr 04, 2010 3:35 pm Assunto: |
|
|
| johnny-walker escreveu: |
Amigo, vc estava fazendo errado e tentando ler como bool uma string... |
E agora vou ler uma Interger como Boolean... hehe!
O importante é que ta resolvido, Vlw.
Abraços!!! _________________ Agora eu também programo em PHP. |
|
| Voltar ao Topo |
|
 |
lucas_alves Colaborador


Registrado: Domingo, 30 de Agosto de 2009 Mensagens: 1632 Localização: São Gonçalo - Rio de Janeiro
|
Enviada: Dom Abr 04, 2010 5:15 pm Assunto: |
|
|
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 |
|
 |
|