1. É necessário entender a estrutura do arquivo INI:
;comentário
[nome da seção]
palavra-chave=valor
...
Os arquivos INI permitem múltiplas seções e cada seção permite múltiplas palavras-chave. "=" é seguido pelo valor da palavra-chave.
Existem três tipos de valores: strings, valores inteiros e valores booleanos. A string é armazenada no arquivo INI sem aspas, o valor booleano verdadeiro é representado por 1 e o valor booleano falso é representado por 0.
Os comentários começam com ponto e vírgula ";".
2. Definição
1. Adicione IniFiles na seção Usos da Interface;
2. Adicione uma linha à seção de definição de variável Var:
meuinifile:Tinifile;
Então, você pode criar, abrir, ler, escrever e outras operações na variável myinifile.
3. Abra o arquivo INI
meuinifile:=Tinifile.create('program.ini');
A linha de instrução acima estabelecerá uma conexão entre a variável myinifile e o arquivo específico program.ini. Então, o valor das palavras-chave no arquivo program.ini pode ser lido e escrito através da variável myinifile.
É importante notar que se o nome do arquivo entre colchetes não especificar um caminho, o arquivo Program.ini será armazenado no diretório do Windows. O método para armazenar o arquivo Program.ini no diretório atual do aplicativo é especificar. um caminho completo e nome de arquivo. As duas declarações a seguir podem realizar esta função
capaz:
Nome do arquivo:=ExtractFilePath(Paramstr(0))+'program.ini';
meuinifile:=Tinifile.Create(nome do arquivo);
4. Leia o valor da palavra-chave
Para os três tipos de dados de strings, valores inteiros e valores booleanos suportados por arquivos INI, a classe TINIfiles fornece três métodos de objeto diferentes para ler os valores de palavras-chave em arquivos INI.
Suponha que as variáveis definidas vs, vi e vb sejam do tipo string, inteiro e booleano, respectivamente.
vs:=myinifile.Readstring('nome da seção','palavra-chave',valor padrão);
vi:=myinifile.Readinteger('nome da seção','palavra-chave',valor padrão);
vb:=myinifile.Readbool('nome da seção','palavra-chave',valor padrão);
O valor padrão é o valor padrão retornado quando a palavra-chave não existe no arquivo INI.
5. Escreva o arquivo INI
Da mesma forma, a classe TInifile também fornece três métodos de objeto diferentes para gravar palavras-chave de tipo string, inteiro e booleano no arquivo INI.
myinifile.writestring('nome da seção', 'palavra-chave', variável ou valor da string);
myinifile.writeinteger('nome da seção', 'palavra-chave', variável ou valor inteiro);
myinifile.writebool('nome da seção', 'palavra-chave', variável ou True ou False);
Quando o arquivo INI não existir, a instrução acima criará automaticamente o arquivo INI.
6. Exclua palavras-chave
Além de adicionar uma palavra-chave usando o método write, a classe Tinifile também fornece um método de objeto para excluir palavras-chave:
myinifile.DeleteKey('nome da seção','palavra-chave');
7. Operação da seção
Adicionar uma seção pode ser feito com o método write, e excluir uma seção pode ser feito com o seguinte método de objeto:
myinifile.EraseSection('nome da seção');
Além disso, a classe Tinifile também fornece três métodos de objeto para operar em seções:
myinifile.readsection('nome da seção', variável TStrings); pode ler todos os nomes de palavras-chave na seção especificada em uma variável de lista de strings;
myinifile.readsections(variável TStrings); pode ler todos os nomes de seção no arquivo INI em uma variável de lista de strings.
myinifile.readsectionvalues('nome da seção', variável TStrings); pode ler todas as linhas (incluindo palavras-chave, =, valores) da seção especificada no arquivo INI em uma variável de lista de strings.
8. Liberação
Libere myinifile no local apropriado com a seguinte instrução:
meuinifile.distory;
9. Um exemplo
A seguir, é usado um exemplo simples (conforme mostrado na figura) para demonstrar o método de criação, leitura e armazenamento de arquivos INI. O arquivo myini.ini contém a seção "Parâmetros do programa" e três palavras-chave: nome de usuário (string), status oficial do usuário (valor booleano) e tempo decorrido (valor inteiro). O programa lê esses dados quando o formulário é criado e grava o arquivo myini.ini quando o formulário é liberado.
Lista de programas fonte anexada
unidadeUnidade1;
interface
usa
Windows, Mensagens, SysUtils, Variantes, Classes, Gráficos, Controles, Formulários,
Diálogos,IniFiles,StdCtrls,ExtCtrls;
tipo
TForm1=classe(TForm)
Editar1:TEditar;
Editar2:TEdit;
CheckBox1:TCcheckBox;
Temporizador1:Temporizador;
procedimentoFormCreate(Sender:TObject);
procedimentoFormDestroy(Sender:TObject);
procedimentoTimer1Timer(Remetente:TObject);
privado
{Declarações privadas}
público
{declarações públicas}
fim;
var
Formulário1:TForm1;
meuinifile:Tinifile;
implementação
{$R*.dfm}
procedimentoTForm1.FormCreate(Sender:TObject);
var
nome do arquivo:string;
começar
nome do arquivo:=ExtractFilePath(paramstr(0))+´myini.ini´;
meuinifile:=TInifile.Create(nome do arquivo);
edit1.Text:=myinifile.readstring(´parâmetros do programa´,´nome de usuário´,´nome de usuário padrão´);
edit2.text:=inttostr(myinifile.readinteger(´parâmetros do programa´,´tempo de execução decorrido´,0));
checkbox1.Checked:=myinifile.readbool(´parâmetros do programa´,´se é um usuário oficial´,False);
fim;
procedimentoTForm1.FormDestroy(Sender:TObject);
começar
myinifile.writestring(´parâmetros do programa´,´nome de usuário´,edit1.Text);
myinifile.writeinteger(´parâmetros do programa´,´tempo de execução decorrido´,strtoint(edit2.text));
myinifile.writebool(´Parâmetros do programa´, ´É um usuário oficial´, checkbox1.Checked);
meuinifile.Destroy;
fim;
procedimentoTForm1.Timer1Timer(Remetente:TObject);
começar
edit2.Text:=inttostr(strtoint(edit2.text)+1);
fim;
fim.
Este exemplo passou na depuração em Delphi6.0+WinXP.