Es gibt mehrere Gründe den Sourcecode "so" zu schreiben.
Beispiel
SQL:
Delphi-Quellcode:
TCRUDSearch.&For(fPerson).Where('NAME').LIKE(LastName.Trim)
{} .begin_Optional(FirstName.Trim <> '')
{} ._AND.Where('VORNAME').LIKE(FirstName.Trim)
{} .end_Optional.OrderBy('NAME')
{} .OrderBy('VORNAME ASC')
{} .Limit(100)
{} .Start(SearchResult);
Wie üblich die
{}
, damit der Formatter das nicht zerstört.
Nicht nur das ich mit diesem Interface keine Tippfehler mehr im "
SQL-Source-Text" habe, ich kann auch mit dem "begin Optional(Statement)" je nach Kondition des Statements einen anderen
SQL Code erzeugen.
oder halt sowas:
Delphi-Quellcode:
TFMXFluentCreator<TDayLBL>.CreateDefault(FDayLBL[i-1],LConfig)
{} .FontSize(FFontSize)
{} .Skip(LConfig.Trim <> '',2).FontColor(LDisplayDay.Color).FontBold(LDisplayDay.Bold)
{} .Text(FDays[i-1])
{} {$IFNDEF NOHints}
{} .Skip((LDisplayDay.Hint = '')).Hint(LDisplayDay.Hint)
{} {$ENDIF}
{} ;
Ich empfehle hierzu mein
CodeRage Video. Auch wenn hier leider noch von Fluid und nicht Fluent gesprochen wird.
// Danke Stefan hab es in ALLEN Sourcen renamed...
Hier gibe es wie bei meine
SQL Creator (begin/end) ein Skip Command mit dem man 1-N der nächsten Fluent-Aufrufe überspringen kann je nach Kondition.
Per LConfig kann ich Aufruf die ich beliebig vordefinieren kann, zusätzlich abrufen.
Wenn man ListBoxItems im Source erzeugen möchte ist das eine fürchterliche Tipperei, besonders durch die TWhateverbezeichner.Value {$SCOPEDENUMS ON}.
Da sieht es doch schon deutlich einfacher aus, wenn man
Delphi-Quellcode:
TFMXFluentCreator<TListBoxItem>.RegisterDefault(Procedure (LBI : TFMXFluentCreator<TListBoxItem>)
begin
LBI.Style('listboxitembottomdetail')
.Height(49)
.Parent(ListBox1)
.ItemMore.OnClick(Procedure (Sender : TObject)
begin
AViewModel.Edit((Sender as TListBoxItem).TagString);
Translate.SetFocus;
end,false);
end);
schreiben kann..
Grüsse Mavarik