Esta vídeo aula tem como objetivo ensinar como se trabalhar como arquivos de inicialização (.ini) utilizando como ferramenta de desenvolvimento o Delphi.
Segue os código do evento OnShow do form:
procedure TForm1.FormShow(Sender: TObject); var meuini: TIniFile; begin if FileExists('C:\Users\AnderJoy\Desktop\Ini\conf.ini') then begin meuini := TIniFile.Create('C:\Users\AnderJoy\Desktop\Ini\conf.ini'); edtNome.Text := meuini.ReadString('dados_pessoais', 'nome', ''); edtEmail.Text := meuini.ReadString('dados_pessoais', 'email', ''); rgItens.ItemIndex := meuini.ReadInteger('itens', 'item', -1); chkPermite.Checked := meuini.ReadBool('nova', 'permite', False); meuini.Free; end; end;Segue o código do evento OnClose do form:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); var meuini: TIniFile; begin if not DirectoryExists('C:\Users\AnderJoy\Desktop\Ini\') then begin if not CreateDir('C:\Users\AnderJoy\Desktop\Ini\') then begin Application.MessageBox('Não foi possivel criar o diretorio.', 'DCG', MB_OK + MB_ICONSTOP); Exit; end; end; meuini := TIniFile.Create('C:\Users\AnderJoy\Desktop\Ini\conf.ini'); meuini.WriteString('dados_pessoais', 'nome', edtNome.Text); meuini.WriteString('dados_pessoais', 'email', edtEmail.Text); meuini.WriteInteger('itens', 'item', rgItens.ItemIndex); meuini.WriteBool('nova', 'permite', chkPermite.Checked); meuini.Free; end;Importante: Não se esqueçam de adicionar a biblioteca IniFiles no uses do form. Qualquer dúvida é só postar.
Anderson, SOCORRO
ResponderExcluirsabe como eu leio um arquivo ini quando inicio uma aplicacao no android ? da mesma forma que esta aplicacao feita em delphi, só que no android
Obrigado.
Exatamente da mesma forma... Muda apenas a onde vc vai gravar o arquivo.
ExcluirEste comentário foi removido pelo autor.
Excluirexatamente, só que eu ja tentei de varios caminhos para tentar ler e gravar ele e nao consigo :(
Excluir//ler
Ini := TPath.Combine(TPath.GetDocumentsPath, 'meuarquivoini.ini');
//gravar
Ini := TIniFile.Create(GetHomePath + PathDelim + 'meuarquivoini.ini');
essas duas sao as forma que estou no momento e nao estao dando certo, mais ja tentei varias agora que nao lembro de cabeca :(
Este comentário foi removido pelo autor.
ResponderExcluirSegue abaixo o código para Android. Testei e funcionou. Só não testei este código para iOS. Fica aí para quem quiser testar para iOS também.
ResponderExcluiruses
IniFiles;
procedure TForm1.FormCreate(Sender: TObject);
Var
loIniFIle : TInifile;
begin
loIniFIle := TInifile.Create(GetHomePath + PathDelim + 'ex.ini');
ListBoxItem4.Text := loIniFile.ReadString('ex','teste1','Teste2');
label1.Text := loIniFile.ReadString('ex','teste2','Teste');
loIniFile.Free;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
Var
loIniFIle : TInifile;
begin
if ComboBox1.ItemIndex = 0 then
Begin
label1.Text := 'Alfabeto';
ListBoxItem4.Text := 'Almanaque';
loIniFIle := TInifile.Create(GetHomePath + PathDelim + 'ex.ini');
loIniFile.WriteString('ex','teste1',ListBoxItem4.Text);
loIniFile.WriteString('ex','teste2',label1.Text);
loIniFile.Free;
end;
if ComboBox1.ItemIndex = 1 then
Begin
label1.Text := 'Coracao';
ListBoxItem4.Text := 'Cobertor';
loIniFIle := TInifile.Create(GetHomePath + PathDelim + 'ex.ini');
loIniFile.WriteString('ex','teste1',ListBoxItem4.Text);
loIniFile.WriteString('ex','teste2',label1.Text);
loIniFile.Free;
End;
end;