🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.delphi
2 messages
2 total messages Started by mihoo Mon, 22 May 2017 06:16
OLTypes - Typy zastępujące Integer, String, TDate... z możliwością przypisania Null
#345810
Author: mihoo
Date: Mon, 22 May 2017 06:16
37 lines
2649 bytes
Przygotowałem bibliotekę typów zastępujących standardowe typy proste w Delphi.
Jest dostępna pod adresem 

https://bitbucket.org/mihoor/oltypes/wiki/Home

Oprócz możliwości przypisywania Null-a, zmienne tych typów mają dodane zestawy metod, które uznałem za najczęściej wykorzystywane.

Przykład:

procedure OLDateTest();
var
  d: TDate;
  i: integer;
  b: Boolean;
  SuperD: OLDate;
begin
  d := Date();

  if SuperD.IsNull() then             // Default value is Null
    SuperD := d;                      // Assign regular TDate value
  SuperD.Year := 2018;                // Change the year
  SuperD := SuperD.IncMonth(5);       // Add 5 months
  SuperD := '2017-05-12';             // You can use current format or ISO 8601;

  b := SuperD.InRange('2018-01-01', '2019-01-01');
  i := SuperD.EndOfAMonth(2018, 2).DaysInMonth();

  SuperD := 'epm';                    // The 'epm' is a SmartString interpreted as end of the prior month
  ShowMessage(SuperD.ToString());     // like DateToStr

  SuperD := Now();                    // assigning TDateTime will cut off the time part UNLIKE in TDate
  b := (SuperD = Date());             // so b is true

  d := SuperD;                        // Assign OLDate to regular TDate variable
end;

Wiki zawiera kolejne przykłady. W repozytorium jest też projekt testowy, który jest świetnym źródłem wiedzy, jak używać biblioteki.
Re: OLTypes - Typy zastępujące Integer, String, TDate... z możliwością przypisania Null
#345811
Author: Roman Tyczka
Date: Mon, 22 May 2017 17:01
23 lines
1871 bytes
On Sun, 21 May 2017 23:16:47 -0700 (PDT), mihoo wrote:

> Przygotowałem bibliotekę typów zastępujących standardowe typy proste w Delphi.
> Jest dostępna pod adresem 
> 
> https://bitbucket.org/mihoor/oltypes/wiki/Home
> 
> Oprócz możliwości przypisywania Null-a, zmienne tych typów mają dodane zestawy metod, które uznałem za najczęściej wykorzystywane.

Pomyśl czy nie warto byłoby tego zrobić jako helperów to typów
podstawowych, wtedy nie trzeba byłoby używać dedykowanego typu OL i nawet
do starego/istniejącego kodu łatwo byłoby podłączyć tę bibliotekę. Co
prawda takie rozwiązanie pozbawiłoby Twojej biblioteki wsparcia dla Null-a,
ale on i tak wymaga w logice kodu specjalnego traktowania i jeśli ktoś tego
potrzebuje to już ma jakieś rozwiązanie własne lub choćby typ Nullable<T>
ze Springa.

Tym niemniej gratuluję fajnego projektu i życzę konsekwencji w jego
rozwijaniu.

-- 
pozdrawiam
Roman Tyczka
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads