Sign in Join
Wiki copytemporary

TXMLPropStorage/pt

Deutsch · English · Español · Français · Polski · Português · Русский

Introdução

TXMLPropStorage é um componente para salvar e restaurar propriedades selecionadas (de qualquer TForm ou quaisquer controle nele). Ele trabalha com a propriedade TFormTForm.SessionProperties. Ele está disponível na guia Misc da paleta de componentes.

Utilização

  1. Jogue um componente TXMLPropStorage em um formulário e ajuste a propriedade filename, por exemplo: session.xml
  2. Selecione o formulário, vá até o Object Inspector e abra a janela do editor para a propriedade SessionProperties de TForm.
  3. Adicione aqui propriedades do formulário e/ou controles a serem armazenadas dentro de session.xml (exemplo: width;height).
  4. Compile a aplicação.

Sua aplicação agora irá ler o valor das propriedades selecionadas do arquivo session.xml e aplicará elas em tempo de execução (como Width, Height, Left, Top para TForm).

O componente TINIPropStorage funciona da mesma forma que TXMLPropStorage, exceto pelo fato de armazenar as informações de sessão em um arquivo do tipo IniFile.

Propriedade StoredValues

TINIPropStorage e TXMLPropStorage têm uma propriedade StoredValues que armazena algum valor (isso é útil para não usar outros arquivos de configuração)...

Vamos escrever uma simples demonstração:

pascal
CheckGroup1.Checked[0] := StrToBool(XMLPropStorage1.StoredValue['item0_checked']);
pascal
XMLPropStorage1.StoredValue['item0_checked'] := BoolToStr(CheckGroup1.Checked[0]);

Você pode mudar a propriedade Key de StoredValues.Items[n] se você está salvando alguma informação confidencial (isso usa as funções da RTL XOREncode e XORDecode nas rotinas de salvamento e restauração).

Notas

TXMLPropStorage tem um manipulador padrão se você não ajustar um nome de arquivo. No Windows as configurações serão salvas no diretório da aplicação como PROGRAMNAME.xml.

Nos Unix likes (FreeBSD, Linux, macOS) ela será salva em um diretório home do usuário atual como .PROGRAMNAME

Por essa razão é uma boa idéia deixar o nome de arquivo em branco para programas unix que pretendem ser executados por usuários normais.


From the Free Pascal wiki, page "TXMLPropStorage/pt", as it stood on 2020-01-22 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.