Como operar arquivos INI?
Os arquivos INI desempenham um papel importante na configuração do sistema e na economia e na configuração de parâmetros de aplicativos; portanto, as famílias de programação visual, como VB, VC, VFP, Delphi, etc., fornecem métodos para ler e escrever arquivos INI, onde a INI é operada em Delphi. Os arquivos são os mais simples, porque o Delphi3 fornece uma classe Tinifile, que nos permite lidar com arquivos INI com muita flexibilidade.
1. É necessário entender a estrutura do arquivo ini:
;Comentário
[Nome da seção]
Palavra -chave = valor
...
O arquivo ini permite várias seções e cada seção permite várias palavras -chave, seguidas pelo valor da palavra -chave.
Existem três tipos de valores: string, valor inteiro e valor booleano. A sequência é armazenada no arquivo ini sem cotações, o verdadeiro valor booleano é representado por 1 e o valor booleano falso é representado por 0.
Os comentários começam com um semicolon ";".
2. Definição
1. Adicione inifiles à seção de usos da interface;
2. Adicione uma linha à parte da definição da variável var:
Myinifile: Tinifile;
Em seguida, você pode criar, abrir, ler, escrever e outras operações na variável Myinifile.
3. Abra o arquivo ini
myinifile: = tinifile.create ('program.ini');
A instrução LINE acima estabelecerá uma conexão entre a variável myinifile e o programa de arquivo específico.ini e, em seguida, você pode usar a variável myinifile para ler e escrever os valores das palavras -chave no arquivo program.ini.
Vale ressaltar que, se o nome do arquivo nos colchetes não especificar o 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 o caminho completo e o nome do arquivo. As duas declarações a seguir podem concluir esta função:
Nome do arquivo: = ExtractFilePath (paramstr (0))+'program.ini';
4. Leia o valor da palavra -chave
Para três tipos de dados suportados pelos arquivos INI: String, Inteiro Valor e Valor Booleano, a classe Tinifiles fornece três métodos de objeto diferentes para ler os valores das palavras -chave nos arquivos INI.
Suponha que as variáveis definidas vs, VI e VB sejam tipos de corda, número inteiro e booleano, respectivamente.
vs: = myinifile.readString ('Nome da seção', 'palavra -chave', valor padrão);
vi: = myinifile.readInteger ('Nome da subseçã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 no arquivo ini
Da mesma forma, a classe Tinifile também fornece três métodos de objetos diferentes, strings de gravação, números inteiros e palavras -chave booleanas para o arquivo ini.
myInifile.WritEstring ('Nome da subseção', 'palavra -chave', variável ou valor da string);
myInifile.WriteInteger ('Nome da subseção', 'palavra -chave', variável ou valor inteiro);
myinifile.WriteBool ('Nome da subseção', 'palavra -chave', variável ou verdadeiro ou false);
Quando esse arquivo ini não existir, a instrução acima também criará automaticamente o arquivo ini.
6. Exclua palavras -chave
Além de adicionar uma palavra -chave com o método de gravação, a classe Tinifile também fornece um método de objeto para excluir a palavra -chave:
myinifile.deleteKey ('Nome da subseção', 'palavra -chave');
7. Operação da seção
A adição de uma seção pode ser feita escrevendo o método e a exclusão de uma seção pode ser feita pelo seguinte método de objeto:
myInifile.ERASESECTION ('Nome da subseção');
Além disso, a classe Tinifile também fornece três métodos de objeto para operar em subseções:
MyInifile.readSection ('Nome da seção' TStrings Variable);
myinifile.readSection (variável TStrings);
MyInifile.readSectionValues ('Nome da seção', TStrings Variable);
8. Liberação
Libere o Myinifile no local apropriado com a seguinte declaração:
myinifile.distory;
Nove
O seguinte usa um exemplo simples (como mostrado na figura) para demonstrar o método de criação, leitura e armazenamento de arquivos INI. O arquivo myini.ini contém a subseção "parâmetros do programa" e três palavras -chave: nome do usuário (string), seja o usuário oficial (valor booleano) e o tempo de execução (valor integral). O programa lê esses dados no formulário Criação e grava o arquivo myini.ini quando o formulário for lançado.
Lista de programas de origem
unidade de unidade1;
interface
usos
Janelas, mensagens, sysutils, classes, gráficos, controles, formulários, diálogos, iniFiles, stdctrls, extctrls;
tipo
Tform1 = classe (tform)
Edit1: TEDIT;
Caixa de seleção1: tcheckbox;
Edit2: TEDIT;
Label1: Tlabel;
Label2: tlabel;
Timer1: ttimer;
Label3: Tlabel;
ProcedureFormCreate (remetente: Tobject);
ProcedureFormDestroy (remetente: Tobject);
ProcedureTimer1timer (remetente: tabjas);
Privado
{PrivateClarations}
público
{PublicDeclarations}
fim;
var
Form1: TForm1;
Implementação
var
Myinifile: Tinifile;
{$ R*.dfm}
ProcedureTForm1.FormCreate (remetente: Tobject);
var
nome do arquivo: string;
Começar
nome do arquivo: = extractFilePath (paramstr (0))+'myini.ini';
myinifile: = 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', 0));
Checkbox1.Checked: = myinifile.readbool ('parâmetros do programa', 'é o usuário oficial', false);
fim;
ProcedureTForm1.FormDestroy (remetente: TOBJECT);
Começar
myinifile.WritEstring ('Parâmetros do programa', 'Nome de usuário', edit1.text);
myinifile.writeInteger ('parâmetros do programa', 'tempo executado', strtoint (edit2.text));
myInifile.WriteBool ('Parâmetros do programa', 'é o usuário oficial', caixa de seleção.Checked);
myinifile.destroy;
fim;
ProcedureTform1.timer1timer (remetente: tabjas);
Começar
edit2.text: = inttostr (strtoint (edit2.text) +1);
fim;
fim.