DataStorage foi projetado para ser uma biblioteca simples e com possibilidades de salvar quase todo o tipo de registro.
Support: developer.dlio@gmail.com
Para instalar em seu projeto usando boss:
$ boss install github.com/dliocode/datastorage
Adicione as seguintes pastas ao seu projeto, em Project > Options > Delphi Compiler > Search path
../datastorage/src
uses DataStorage;
- DataBase
- Table
- Item
TDataStorage.New
.DataBase('configurations')
.Table('users')
.SetItem('id', '1')
.SetItem('name', 'DLIO Code')
.SetItem('login', 'developer.dlio@gmail.com')
.SetItem('password', 'my_passowrd')
TDataStorage.New
.Item('my_string').SetValue('value_string')
.Item('my_integer').SetValue(1000)
.Item('my_float').SetValue(18.50)
.Item('my_boolean').SetValue(True)
.Item('my_date').SetValue(Date)
.Item('my_time').SetValue(Time)
.Item('my_datetime').SetValue(Now)
.Item('my_array_string').SetValue(TValue.From < TArray < string >> (['value_string 1', 'value_string 2', 'value_string 3']))
.Item('my_array_integer').SetValue(TValue.From < TArray < Integer >> ([1000, 1001, 1002]))
.Item('my_array_float').SetValue(TValue.From < TArray < Double >> ([18.50, 25.90, 48.92]))
.Item('my_array_boolean').SetValue(TValue.From < TArray < Boolean >> ([False, True, False]))
.Item('my_array_date').SetValue(TValue.From < TArray < TDateTime >> ([Date, Date + 5, Date + 20]))
.Item('my_array_time').SetValue(TValue.From < TArray < TDateTime >> ([Time, Time + 5, Time + 20]))
.Item('my_array_datetime').SetValue(TValue.From < TArray < TDateTime >> ([Now, Now + 5, Now + 20]));
type
TUser = record
Id: string;
Name: string;
Login: string;
Password: string;
end;
var
LUser: TUser;
begin
LUser.Id := '1';
LUser.Name := 'DLIO CODE';
LUser.Login := 'dlio.developer@gmail.com';
LUser.Password := 'password';
TDataStorage.New
.DataBase('configurations')
.Table('users')
.SetItem('1', TValue.From<TUser>(LUser));
Readln;
end.
type
TUser = class
private
FId: string;
FName: string;
FLogin: string;
FPassword: string;
public
property Id: string read FId write FId;
property Name: string read FName write FName;
property Login: string read FLogin write FLogin;
property Password: string read FPassword write FPassword;
end;
var
LUser: TUser;
begin
LUser := TUser.Create;
try
LUser.Id := '1';
LUser.Name := 'DLIO CODE';
LUser.Login := 'dlio.developer@gmail.com';
LUser.Password := 'password';
TDataStorage.New
.DataBase('configurations')
.Table('users')
.SetItem('1', LUser);
Readln;
finally
LUser.DisposeOf;
end;
end.
var
LName: TValue;
begin
TDataStorage.New
.DataBase('configurations')
.Table('users')
.GetItem('name', LName);
// or
//
// LName :=
// TDataStorage.New
// .DataBase('configurations')
// .Table('users')
// .Item('name').GetValue;
Writeln(LName.AsString);
Readln;
end.
with TDataStorage.New do
begin
writeln;
writeln('>> Simple');
writeln;
Writeln( Item('my_string').GetValue.AsVariant );
Writeln( Item('my_integer').GetValue.AsVariant );
Writeln( Item('my_float').GetValue.AsVariant );
Writeln( Item('my_boolean').GetValue.AsVariant );
Writeln( DateToStr(Item('my_date').GetValue.AsVariant) );
Writeln( TimeToStr(Item('my_time').GetValue.AsVariant) );
Writeln( DateTimeToStr(Item('my_datetime').GetValue.AsVariant) );
// Array
writeln;
writeln('>> Array');
writeln;
Writeln( Item('my_array_string').GetValue.AsType<TArray < string >>[0]) ;
Writeln( Item('my_array_integer').GetValue.AsType<TArray < Integer >>[1] );
Writeln( Item('my_array_float').GetValue.AsType<TArray < Double >>[2] );
Writeln( Item('my_array_boolean').GetValue.AsType<TArray < Boolean >>[0] );
Writeln( DateToStr(Item('my_array_date').GetValue.AsType<TArray < TDateTime >>[1]) );
Writeln( TimeToStr(Item('my_array_time').GetValue.AsType<TArray < TDateTime >>[2]) );
Writeln( DateTimeToStr(Item('my_array_datetime').GetValue.AsType<TArray < TDateTime >>[0]) );
end;
type
TUser = record
Id: string;
Name: string;
Login: string;
Password: string;
end;
var
LUser: TUser;
begin
LUser :=
TDataStorage.New
.DataBase('configurations')
.Table('users').Item('1').GetValue.AsType<TUser>;
Writeln('Name: '+LUser.Name);
Writeln('Login: '+LUser.Name);
Readln;
end.
type
TUser = class
private
FId: string;
FName: string;
FLogin: string;
FPassword: string;
public
property Id: string read FId write FId;
property Name: string read FName write FName;
property Login: string read FLogin write FLogin;
property Password: string read FPassword write FPassword;
end;
var
LUser: TUser;
LUser2: TUser;
begin
LUser := TUser.Create;
try
LUser.Id := '1';
LUser.Name := 'DLIO CODE';
LUser.Login := 'dlio.developer@gmail.com';
LUser.Password := 'password';
TDataStorage.New
.DataBase('configurations')
.Table('users')
.SetItem('1', LUser);
LUser2 :=
TDataStorage.New
.DataBase('configurations')
.Table('users')
.Item('1').GetValue.AsType<TUser>;
Writeln('Name: '+LUser2.Name);
Writeln('Login: '+LUser2.Name);
finally
LUser.DisposeOf;
end;
end.
-
Como contar todos os DataBases
TDataStorage.New.DataBase.Count;
-
Como verificar se um DataBase existe
TDataStorage.New.DataBase.IsExist('NAME');
-
Como remover um DataBase específico
TDataStorage.New.DataBase.Remove('Name');
-
Como remover todos os DataBase
TDataStorage.New.DataBase.Clear;
-
Como contar todas as tabelas de um DataBase específico
TDataStorage.New.DataBase('NAME').Table.Count;
-
Como verificar se uma tabela existe de um DataBase específico
TDataStorage.New.DataBase('NAME').Table.IsExist('TABLE NAME');
-
Como remove uma tabela de um DataBase específico
TDataStorage.New.DataBase('NAME').Table.Remove('TABLE NAME');
-
Como remover todas as tabelas de um DataBase específico
TDataStorage.New.DataBase('NAME').Table.Clear;
-
Como contar todos os itens de uma tabela específica e um DataBase específico
TDataStorage.New.DataBase('NAME').Table('TABLE NAME').Item.Count;
-
Como verificar se um item existe de uma tabela específica e um DataBase específico
TDataStorage.New.DataBase('NAME').Table('TABLE NAME').Item.IsExist('ITEM NAME');
-
Como remove um item de uma tabela específica e um DataBase específico
TDataStorage.New.DataBase('NAME').Table('TABLE NAME').Item.Remove('ITEM NAME');
-
Como remover todas os itens de uma tabela específica e um DataBase específico
TDataStorage.New.DataBase('NAME').Table('TABLE NAME').Item.Clear;
-
Como salvar os dados
TDataStorage.New.Data.SaveToFile('NAME_FILE.txt', True); // True = Salva Criptografado!
-
Como carregar de um arquivo
TDataStorage.New.Data.LoadFromFile('NAME_FILE.txt', True); // True = Ler o dados Criptografados!
-
Como obter os dados sem salvar
TDataStorage.New.Data.ToJSON;
-
Como setar os dados
TDataStorage.New.Data.SetJSON('');