Olá pessoal!, neste artigo vou demonstrar como gravar a posição do formulário em um arquivo .ini para que o mesmo quando novamente aberto apareça na sua última posição.
Vamos lá:
Inicie um nova aplicação (Usei o Delphi 7), Na cláusula Uses declare a unit IniFiles,
como na Figura 1 :
Figura 1
Agora crie dois métodos, uma para Gravar seu arquivo .ini e outro para ler este
arquivo, faça a declaração conforme a Figura 2:
/
Figura 2
O método GuardaPosicao será implementado conforme a Figura 3:
Figura 3
Explicando o código acima :
Declara-se uma var do tipo TiniFile, cria o arquivo no disco, existem vários métodos
para gravar valores no arquivo .ini, neste caso estou guardando valores do
tipo Integer, portanto uso WriteInteger , gravo a seção no arquivo Position
este trecho no arquivo ini fica assim : [Position], ele marca realmente
uma seção no documento .ini, a seguir gravamos a identidade do proximo
valor que aqui denominei de TOP e logo após o seu valor, como estou
pegando a posição do formulário coloquei aForm.top , no documento
.ini isto fica assim: TOP = 365 (no caso do valor capturado ser 365), e por
fim libero a variavel da memória. Este código acima gera um .ini com o nome
de FormPosition.ini e com este texto:
[Position]
TOP = 365
LEFT = 244
(onde 365 e 244 são apenas números para figurar o exemplo).
O método LePosicao será implementado conforme a Figura 4:
Figura 4
Novamente declara-se a variável do tipo TiniFile, agora, declara-se também duas
variáveis do tipo Integer, se o arquivo .ini não existir ele é criado com os valores
default definidos aqui como 0 (zero), caso ele exista este código fará a leitura de
seus valores e os passará para as variáveis Top e Left que são do tipo Integer,
após isso o valor destas variáveis é passado para a posição do Form, após isso
libera-se a variável FormPosition da memória.
Agora utilize estes métodos nos eventos OnClose e OnCreate do Form,
como na Figura 5:
Figura 5
Com este artigo vimos como é facil utilizar arquivos .ini , bons estudos.
Leonardo C. Quartieri
Desenvolvedor Delphi/.Net
leoquartieri@hotmail.com