-
-
Notifications
You must be signed in to change notification settings - Fork 10
Config
Mobius One edited this page Jun 30, 2023
·
17 revisions
Home > Config
Compatibilidade | Classe | Delphi | Lazarus |
---|---|---|---|
FireDAC | Config.SQLite.FireDAC | XE3+ | N/A |
Zeos | Config.SQLite.Zeos | XE3+ | 2.0+ |
Função | Descrição |
---|---|
getValue (pKey: string): string | Retorna um valor baseado na chave pKey informada. |
UpdateConfig (aJSON: TJSONObject) | Atualiza os dados ou grava novos baseados no JSONObject informado. |
UpdateConfig (aKey, aValue: string) | Atualiza ou grava o par informado por parâmetro. |
LoadConfig : TJSONObject | Instancia um objeto TJSONObject e devolve nele os dados. |
SaveForm(aForm: TForm) | Varre o form indicado por parâmetro e salva no banco os dados onde a chave é o nome do controle e valor é a propriedade valorada dele. |
LoadForm(aForm: TForm) | Varre o form indicado por parâmetro e altera a propriedade valorada do controle de acordo com o seu nome. |
Exemplo antigo de uso para leitura:
procedure </td>
</tr>
</table>
### Exemplo antigo de uso para leitura:
<details>
<summary>código</summary>
```Delphi
procedure TfConfig.CarregaConfig;
var
cfg: TSQLiteConfig;
JSONObj: TJSONObject;
I, J: Integer;
begiTfConfig.CarregaConfig;
var
cfg: TSQLiteConfig;
JSONObj: TJSONObject;
I, J: Integer;
begin
cfg := TSQLiteConfig.Create;
JSONObj := cfg.LoadConfig;
try
if JSONObj.Count > 0 then
with Self do
for I := 0 to pred(ComponentCount) do
begin
if (Components[I] is TLabeledEdit) then
(Components[I] as TLabeledEdit).Text :=
JSONObj.GetValue((Components[I] as TLabeledEdit).Name)
.ToString.Replace('"', '');
if (Components[I] is TValueListEditor) then
for J := 1 to pred((Components[I] as TValueListEditor).RowCount) do
(Components[I] as TValueListEditor).Cells[1, J] :=
JSONObj.GetValue((Components[I] as TValueListEditor).Keys[J])
.ToString.Replace('"', '');
end;
finally
JSONObj.Free;
cfg.Free;
end;
end;
Exemplo de uso para leitura:
procedure TfConfig.CarregaConfig;
var
cfg: TSQLiteConfig;
begin
cfg := TSQLiteConfig.Create;
try
cfg.LoadForm(Self);
Finally
cfg.Free;
end;
end;
Exemplo antigo de uso para gravação:
procedure TfConfig.SalvaConfig;
var
cfg: TSQLiteConfig;
JSONObj: TJSONObject;
I, J: Integer;
begin
cfg := TSQLiteConfig.Create;
JSONObj := TJSONObject.Create;
try
with Self do
for I := 0 to pred(ComponentCount) do
begin
if Components[I] is TLabeledEdit then
JSONObj.AddPair((Components[I] as TLabeledEdit).Name,
(Components[I] as TLabeledEdit).Text);
if (Components[I] is TValueListEditor) then
for J := 1 to pred((Components[I] as TValueListEditor).RowCount) do
JSONObj.AddPair((Components[I] as TValueListEditor).Keys[J],
(Components[I] as TValueListEditor).Cells[1, J]);
end;
cfg.UpdateConfig(JSONObj);
finally
JSONObj.Free;
cfg.Free;
end;
end;
Exemplo de uso para gravação:
procedure TfConfig.SalvaConfig;
var
cfg: TSQLiteConfig;
begin
cfg := TSQLiteConfig.Create;
try
cfg.SaveForm(Self);
Finally
cfg.Free;
end;
end;