DeHL Library

vložil Radek Červinka 3. května 2010 23:21

Nejsem velkým zastáncem velkých knihoven (snad kromě JCL), ale často se v takových knihovnách inspiruji, popř. je "kuchám", protože jsem přesvědčen, že nejlépe se člověk naučí programovat když se rýpe v cizím kódu. Ideálně v kvalitním kódu. A tím určitě DeHL je.

DeHL je knihovna užitečných tříd pro Delphi 2010+. Kromě některých zajímavých tříd jako BIGInteger implementace, generická serializace za pomocí RTTI jak do XML, tak do INI nebo binárních souborů, cca 20 generických kolekcí projekt především ukazuje jak takové věci psát (tím myslím serializaci atd.) za pomoci nového RTTI z Delphi 2010, popř. generických typů.

Mezi další zajímavosti patří např. typ Nullable (z příkladů DeHL - všimněte si, že Nullable je record):


type
  Nullable<T> = record 
…..
  public
    { Constuctors }
    constructor Create(const AValue: T);

    { Nulling }
    property IsNull: Boolean read GetIsNull;
    property Value: T read GetValue write SetValue;
    property ValueOrDefault: T read GetValueOrDefault;

    procedure MakeNull(); inline;

    { Value }
    class operator Implicit(const AValue: Nullable<T>): T; inline;
    class operator Implicit(const AValue: T): Nullable<T>; inline;
  end;

procedure SumAnArray(const AArray: array of Integer): Nullable<Integer>;
var
  Sum, X: Integer;
begin
  { Není žádný element, vrať NULL }
  if Length(AArray) = 0 then
    Result.MakeNull()
  else
  begin
    Sum := 0;

    for X in Array do
      Sum := Sum + X;

    { vrat hodnotu! }
    Result := Sum;
  end;
end;

var
  Sum: Nullable<Integer>;

begin
  Sum := SumAnArray([1, 2, 3]);

  if Sum.IsNull then
    WriteLn('Pole má nula prvků!');
  else
    WriteLn('Součet je: ', Sum.Value);
end;

Takováto třída vám může pomoci např. konvertovat kód z .NET, kde string může být "" nebo null.

A takových zajímavých tříd je tam hodně.

Tagy: ,

Komponenty

Komentování ukončeno

Naše nabídka

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy).

love Delphi

O Delphi.cz

Delphi je moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64, Mac OSX, Linux a na iPhone a Android.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Poslední komentáře

Comment RSS

Dle měsíců