FORUM DARKERS

Tecnologia & Informática => Programação => Delphi => Topic started by: Hacker Xtreme on 28 de November , 2006, 09:56:24 PM

Title: [Tutorial] Arquivos ini: Criando e lendo
Post by: Hacker Xtreme on 28 de November , 2006, 09:56:24 PM
Olá pessoal venho neste tutorial ensinar a vocês o básico do básico, de como salvar e ler arquivos '.ini' no delphi, bem vamos lá! (O artigo é pequeno mais da para ter uma noção)

Abra o delphi e inicie uma nova aplicação...

Acrescente:
2 Edits
2 Buttons
2 Labels

Mude o caption dos labels para:
1° - Login
2° - Senha

Mude o caption dos buttons para:
1° - Salvar
2° - Limpar

Mude o text dos edits para nada deixe-os em branco.

Declare na uses:
IniFiles;

Nas variáveis globais declare:
Ini : TIniFile;

No botão Salvar, de dois cliques a unit aparecerá, digite o seguinte código:

Ini := TIniFile.Create(GetCurrentDir+'\'+'Configurações.ini');
Ini.WriteString('Configurações', 'String1', Form1.Edit1.Text);
Ini.WriteString('Configurações', 'String2', Form1.Edit2.Text);
Ini.Free;
ShowMessage('Configurações salvas com sucesso!');

Na primeira linha, ele cria o arquivo se o arquivo estiver criado ele só lê e escreve, por padrão todos os arquivos '.ini' são criados na pasta do windows, mas como você pode observar, tem um código a mais do que o necessário que eu acrescentei: "GetCurrentDir+'\'+". Isto significa que o arquivo ini, deve ser salvo na pasta do programa, se o programa encontra-se na pasta C:\Arquivos de programas\Save\ o arquivo ini também será salvo lá.
Na segunda ele escreve a Seção, o Nome e Valor, um exemplo:

[Configurações] // Seção

String1=Valor // A String é o nome e o valor é o nome ou campo salvo no nosso caso o Edit1!

Na terceira linha é a mesma coisa que a segunda...
Na quarta, o fala que é o final... e, na quinta ele da uma mensagem que foi salva... Mais pra frente você pode ir acrescentando códigos para falar se deu erro se salvou corretamente os campos e etc... depende de cada programador.

Agora vamos fazer o programa ler os valores quando for iniciado... de dois cliques em um local vazio do Form e aparecerá a unit com o procedimento FormCreate. Digite o seguinte código:

Ini := TIniFile.Create(GetCurrentDir+'\'+'Configurações.ini');
Edit1.Text := Ini.ReadString('Configurações', 'String1', '');
Edit2.Text := Ini.ReadString('Configurações', 'String2', '');
Ini.Free;

Bem, este código acima é a mesma coisa que o código de escrever o que muda é que, é necessário que você digite:

Edit1.Text := Ini.ReadString('Configurações', 'String1', '');
Edit2.Text := Ini.ReadString('Configurações', 'String2', '');

Ali em ReadString siginifica que ele vai ler a seção configurações e vai abrir o nome String1, e o valor fica assim '', isso quer dizer que o texto do Edit será o que for aberto entre aquelas aspas... É uma coisa fácil de se entender mais na prática não é nada, é uma coisa simples de se fazer e muito útil para guardar configurações do seu programa. Existe outro métodos de se escrever em um arquivo ini, este foi um método fácil de se aprender... Agora é só abrir o delphi e praticar... ;)! Desejo boa sorte a todos, em casos de dúvida meu msn: junior_antonio5@hotmail.com

by Xtreme ( O Texto fui eu que fiz ^^ )
Title: Re: [Tutorial] Arquivos ini: Criando e lendo
Post by: rodweb on 29 de November , 2006, 01:27:02 PM
Ótimo tutorial cara....

----------------------------------------------------------------------------------------------------------------

Complementando seu tópico....

Os arquivos Ini servem para armazenar informações e opções de
configurações de programas em arquivos de texto. Um exemplo de
uso desse tipo de arquivo é o Win.ini, no diretório do Windows. Ele
armazena muitas informações sobre o Windows, como por
exemplo o caminho do papel de parede, informações sobre
associação de arquivos e muito mais. É muito simples se trabalhar
com esse tipo de arquivo. Existem apenas algumas funções que
possibilitam escrever, ler e exluir informações nos arquivos de
extensão Ini.

Esses arquivos são estruturados da seguinte maneira:

[Secão]
Chave = Valor

Um exemplo para demonstrar a estrutura acima pode ser visto no
arquivo Win.ini, no diretório do
Windows, em que é armazenado o caminho do papel de parede
que está sendo usado:

[Desktop]
Wallpaper=c:\windows\nuvens.bmp

Existem 12 métodos para serem usados para editar dados nesses
arquivos. A seguir vamos ver a descrição de cada um deles:


CREATE - Usado para criar um objeto Ini na aplicação.

Exemplo:

Var Ini : Tinifile;
Begin
Ini := Tinifile.Create(nome do arquivo);
Ini.free;

Por padrão, se você não especificar nenhum caminho para o
arquivo, apenas seu nome, será usado o diretório do Windows para
criá-lo.


MÉTODOS PARA ENTRADA DE INFORMAÇÕES

Todos os métodos para se escrever em um arquivo Ini iniciam seu
nome com Write. São 3 esses métodos:

WriteBool - escreve valores como booleanos
WriteInteger - escreve valores como inteiros
WriteString - escreve valores como string


Veja abaixo a estrutura da cada método de Entrada de Dados

WRITEBOOL

procedure WriteBool(const Seção, Chave: string; Valor: Boolean);

Exemplo: WriteBool('Desktop', 'TileWallpaper', 1);


WRITEINTEGER

procedure WriteInteger(const Seção, Chave: string; Valor: Longint);

Exemplo: WriteInteger('Aluno', 'Faltas', 4);


WRITESTRING

procedure WriteString(const Seção, Chave, Valor: string);

Exemplo:
WriteString('Desktop', Wallpaper', 'c:\windows\nuvens.bmp');


MÉTODOS PARA LEITURA DE INFORMAÇÕES

Todos os métodos de leitura de um arquivo Ini iniciam seu nome
com Read. São 6 esses métodos:

ReadBool - lê informações com valores booleanos
ReadInteger - lê informações com valores inteiros
ReadSection - lê uma apenas o nome seção determinada seção
ReadSections - lê todos os nome das seções do arquivo
ReadSectionValues - lê os valores da seção
ReadString - lê informações com valores strings


Veja abaixo a estrutura da cada método de Leitura de Dados


READBOOL

function ReadBool (const Seção, Chave: string; Default: Boolean):
Boolean;

Exemplo: ReadBool('Desktop', 'TileWallpaper', '');

READINTEGER

function ReadInteger(const Seção, Chave: string; Default: Longint):
Longint;

Exemplo: ReadInteger('Aluno', 'Faltas', 4);

READSECTON

procedure ReadSection (const Seção: string; Strings: TStrings);

Exemplo: ReadSection('Desktop', Listbox1.items);


READSECTIONS

procedure ReadSections(Strings: TStrings);

Exemplo: ReadSections(listbox1.items);


READSECTIONSVALUES

procedure ReadSectionValues(const Seção: string; Strings:
TStrings);

Exemplo: ReadSectionsValues('Desktop', listbox1.items);

READSTRING

function ReadString(const Seção, Chave, Default: string): string;

Exemplo: ReadString('Desktop', 'WallPaper', '');


MÉTODOS PARA EXCLUIR INFORMAÇÕES

São 2 os métodos para exluir dados de arquivos Ini:

DeleteKey - deleta o valor de uma determinada chave
EraseSection - apaga uma determinada seção


Veja abaixo a estrutura da cada método de Excluir Dados:

DELETEKEY

procedure DeleteKey(const Seção, Ident: string);

Exemplo: DeleteKey('Desktop', 'Wallpaper');


ERASESECTION

procedure EraseSection(const Seção: string);

Exemplo: EraseSection('Desktop');

Créditos: Não sei....
Title: Re: [Tutorial] Arquivos ini: Criando e lendo
Post by: Hacker Xtreme on 29 de November , 2006, 09:17:12 PM
xD~ vlw mano, é isso msm, é legal até salvar lá, mais alguns tipos de configurações acho que devem ser salvas no registro do windows...