IniFile

16/02/2013

12

Olá, pessoal

gostaria de trabalhar

com IniFile. Para armazenar

cores do formulário, edit, fontes. Assim

o usuário poderá personalizar a tela.

Como faço ?
Responder

Post mais votado

16/02/2013

Primeiro você terá que declarar no IniFiles USES.

uses inifiles;
 ...
//Crie uma variável do tipo TIniFile
 var
   Arquivo : TIniFile;
 begin
// Vamos instanciar nossa variável. O arquivo INI terá o mesmo nome do EXE.
Arquivo := TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini'));

//Vamos escrever o nosso arquivo INI
try
  Arquivo.WriteString('CONFIG', 'FORM', 'Principal');
  Arquivo.WriteDate('CONFIG', 'CRIACAO', Date);
 
     with Arquivo, frmPrincipal do
     begin
       WriteInteger('FORMULARIO', 'Top', Top) ;
       WriteInteger('FORMULARIO', 'Left', Left) ;
       WriteInteger('FORMULARIO', 'Width', Width) ;
       WriteInteger('FORMULARIO', 'Height', Height) ;
     end;
   finally
     Arquivo.Free;
   end;
end;


Agora que o arquivo foi criando, vc precisará ler essas informações certo? Então vamos lá.

//Novamente criaremos uma variável do tipo TIniFile
var
   Arquivo : TIniFile;
   nmForm : string; //Variável que receberá o nome do form
   Data : TDateTime; //Variável que receberá a data
 begin
   If Not FileExists(ChangeFileExt(Application.ExeName,'.ini')) then  
      ShowMessage('O arquivo de configuração não foi localizado ou não existe!')
   else
   begin
     Arquivo := TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) ;
     try
     //Se não encontrar o usuário, retornará uma string vazia
     nmForm := Arquivo.ReadString('CONFIG','FORM','') ;
     //Se não encontrar a data, retornará a data atual.
     LData := appINI.ReadDate('CONFIG', 'CRIACAO', Date) ;
 
   with frmPrincipal do
   begin
     Top := Arquivo.ReadInteger('FORMULARIO','Top', Top) ;
     Left := Arquivo.ReadInteger('FORMULARIO','Left', Left);
     Width := Arquivo.ReadInteger('FORMULARIO','Width', Width);
     Height := Arquivo.ReadInteger('FORMULARIO','Height', Height);
   end; 
   finally
     Arquivo.Free;
   end;
 end;
end;


Mais ou menos assim, pode ser que ocorra algum erro ao compilar, não fiz no Delphi, fui digitando aqui, pode ser que tenha esquecido de algo, mas o caminho é esse. Retorne por gentileza informando se funcionou, se ainda houver alguma dúvida ou ocorrer algum erro, estaremos aqui para tentar ajudar.

Boa sorte e bons códigos!
Responder

Mais Posts

Só uma correção, onde tem:
Primeiro você terá que declarar no IniFiles USES.


Entenda-se

Primeiro você terá que declarar IniFiles no USES.


Boa sorte e bons códigos!
Responder
Martins,

o código esta muito bom

consegui faze aqui.

Me diga uma coisa.

Posso usar o INI para criar logs também ?
Responder
Martins,

o código esta muito bom

consegui faze aqui.

Me diga uma coisa.

Posso usar o INI para criar logs também ?


Você gostaria de cria LOG's de que? De ações em seu Banco de Dados ou só do sistema?

Do Banco de Dados você poderia criar uma tabela dentro do banco para armazenar esses LOG's ou criar um arquivo Texto com a extensão .LOG, claro q vai depender do que vc deseja armazenar nesses arquivo LOG.

Boa sorte e bons códigos!
Responder
Só log,

de ação de sistema mesmo.

Martins
Responder
Só log,

de ação de sistema mesmo.

Martins


Armazena em arquivo texto então, já com a extensão .LOG


Boa sorte e bons códigos!
Responder
Ok! Martins, já estou desenvolvendo.

Obrigado pela ajuda.

abraço.
Responder
Ok! Martins, já estou desenvolvendo.

Obrigado pela ajuda.

abraço.


Tranquilo, se precisar de alguma ajuda, estaremos a disposição.

Boa sorte e bons códigos!
Responder
Martins,

seguinte se eu não definir um local,

para armazenar meu arquivo "INI", por padrão

onde este arquivo estaria armazenado ?
Responder

21/02/2013

Douglas

Olá Gustavo,

se você não especificar um diretório

de armazenamento para seu arquivo.

Por padrão ele armazena no c:\windows\mais nome do seu arquivo.ini

Espero ter ajudado abraço !
Responder