Ir para conteúdo
Faça parte da equipe! (2024) ×

Ler/Escrever em Arquivos de Configuração (.ini) + Source


NoSlake
 Compartilhar

Posts Recomendados

Mexendo com Arquivos de Configuração (.ini) + Source (conteúdo interativo)

 

* este tópico faz parte do conteúdo de uma pequena apostila que estou escrevendo. Logo virão mais tópicos assim, desde que vocês gostem :p

 

Requisitos:

Conhecimento básico de Delphi;

Entendimento com inglês;

Vontade de aprender;

 

Índice

1 - Inserindo os Objetos no Form;

2 - Adicionando biblioteca nas Uses;

3 - Escrevendo no .ini;

4 - Lendo configurações do .ini;

5 - Função para seus apps;

6 - Demais Codes;

7 - Exercícios;

8 - Código complementar;

9 - Download da Source;

 

Este é um tutorial bem simples, vamos aprender a criar aqueles arquivos de Parâmetros de Configurações (.ini).

* Deixa o programa mais organizado, e quando veem a pasta principal, fica com um tom mais "profissional".

* Além disso, podemos salvar informações da sessão atual para um próximo uso, tal como configurações do usuário para seu app.

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

Abram o Delphi, eu criei uma aplicação base, para ensinar vocês, é bem simples vou explicar:

4p9Xi3F.png

 

1 = Um Botão para salvar no .ini que queremos marcar o RadioButton.

2 = Um Botão para salvar no .ini que queremos desmarcar o RadioButton.

3 = Um Edite, para digitarmos um valor para lê-lo mais tarde.

4 = Um Botão, para salvar no .ini o valor do Edite.

5 = O RadioButton que irá interagir com os botões 1 e 2.

6 = Um Label para exibirmos o valor que salvamos com o edite (nomeei ele de EdtValuelb).

7 = Um botão para Carregar as informações que salvamos no RadioButton e no Label (eles não atualizam sozinhos).

8 = Um botão para salvarmos algumas informações do nosso form (Altura, Largura, e Posição X e Y na tela).

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

Começando a programar, adicione IniFiles nas uses, essa biblioteca de informações é a que iremos usar para editar os arquivos .ini (pode ser usada para outros arquivos de texto escreveu pelo delphi ou não)

 

~~~

meQH0qU.png

~~~

 

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

Adicione isso no botão 1:

 

~~~

Zy0XTS3.png

~~~

 

Acontece o seguinte, quando clicamos no botão a nossa função vai abrir/criar o arquivo "config.ini", depois vamos usar a própria função para escrever a variável booleana "true", isto é, vamos na Chave "RadioBox", na subchave "Ativar" e vamos escrever o valor "1" (que significa true). Vejam como vai ficar o config.ini :

~~~

EVBBQsK.png

~~~

 

Pronto, com isso você já conseguiu escrever os valores desejados no config.ini !

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

Agora, vamos colocar esses valores onde queremos (vamos ler o config.ini), no caso vamos marcar ou desmarcar o RadioButton e colocar o Valor que havíamos escrito no Edite no Label.

 

Clique no quarto botão e adicione

~~~

Hd3C8c1.png

~~~

 

No caso, usei duas variáveis (separei elas para mostrar como funciona, mas poderíamos ter usado apenas uma (no caso AtvBox) e carregar o config.ini apenas uma vez, o que é mais rápido e leve), a primeira AtvBox é responsável por carregar o config.ini e pegar o valor das chaves RadioBox, Ativar, e colocar na propriedade checked do RadioButton, e ainda adicionamos que caso não tiver nada escrito nas chaves, é para adicionar o valor "false".

Já a segunda variável, EdtValue é responsável por carregar o config.ini e pegar o valor das chaves EditValue, Valor, caso não tiver nada, ele carrega como padrão o valor "000000".

 

~~~ Se você quer aprender a função parte por parte clique neste spoiler:

 

Vamos ler coisa por coisa, veja a imagem:

~~~

A1btdxc.png

~~~

Com isso basta anexar cada cor com sua função e você irá entender para que cada coisa serve.

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

Vamos criar mais duas funções, essas eu considero muito importante e tenho ela em todos os meus apps, ela carrega informações do Form e inicia ele onde ele havia sido fechado, no caso apenas mude o código do botão 5, para o evento OnClose do Form.

 

HJSBIpg.png

 

Com tudo que já ensinei vocês já conseguem entender este código. É simples, ele pega os valores do Height, Width, Top, Left do Form e salva no nosso config.ini, isto é, quando lermos podemos colocar o form onde ele foi fechado, basta adicionar essa code no OnClose.

Como podem ver eu mudei a variável, usei uma para cada coisa, desta vez usei Pos para representar o FormPosition.

 

Agora para ler essas informações vocês já devem saber o código de cabeça ^^, mas vamos lá !

 

lPVe1fO.png

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

Outras codes, para completar os demais botões:

 

~~~

nGIb33j.png

~~~

FmoNz6s.png

~~~

Como devem imaginar nosso configs.ini ficou assim:

Fqo7nHL.png

~~~

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

Pequenos exercícios (desafios). Com isso você realmente aprenderá a code.

 

1-) Copie os códigos de ler/escrever em ".ini", em um caderno (escreva com letra de forma e com calma).

2-) Faça um projeto que Feche e inicie de onde foi Fechado, usando apenas o que você escreveu no caderno.

3-) Crie um sistema que serviria para "login". Ele deverá salvar o Nick, a ID e a senha do usuário, em um ".ini". Quando o usuário logar-se, deverão aparecer no mínimo 3 Boxes com configurações que ele já tinha salvo.

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Código complementar:

 

Você pode usar uma outra variável extra, para armazenar o conteúdo das chaves enquanto o programa estiver aberto (no caso GuardarValor), com isso poderemos usar o valor armazenado em GuardarValor futuramente, mas para outros fins:

tFVzc0A.png

 

~~~~~~~~~~~~~~

Outras Variáveis

8xWLMd7.png

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

Download da Source:

[DOWN]https://www.mediafire.com/?5d3c9p273djc0ar[/DOWN]

 

[sCAN]https://www.virustotal.com/pt/file/9fadedba0e9a1932a67a30d9ecaa277a6b3d5e6ac292736a02183289e14e9cf2/analysis/1395978009/[/sCAN]

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

Qualquer dúvida ou reclamação não hesite em me contatar, ou mesmo comentar aqui no tópico !

Agradeça :)

Fim

Membro - Bronze - Geek - Bronze - Tech - Mod - Coord - Co-Admin - Platinum

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois...
  • 2 semanas atrás...

Leu Arquivos do Hack Shield? Hheauheauu

@Tópico Man, namoral vou ti beijei

parece que caiu do céu, quando eu to procurando

algo, oque encontro é o Victor, me chama de Fanboy

O Man, +1 ~Abraços

A Jedi uses the Force for knowledge and defense, never for attack.

-Yoda, Master.

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.