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
Author: mihoo
Date: Mon, 22 May 2017 06:16
Date: Mon, 22 May 2017 06:16
37 lines
2649 bytes
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
Author: Roman Tyczka
Date: Mon, 22 May 2017 17:01
Date: Mon, 22 May 2017 17:01
23 lines
1871 bytes
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