Einzelnen Beitrag anzeigen

Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.321 Beiträge
 
Delphi 12 Athens
 
#20

AW: record helper für Enum -> implicit funktioniert nicht.

  Alt Heute, 18:30
class helper = für Klassen
record helper = für Records, einfache Typen (Integer, String, ...) und Enums
und leider nichts für Arrays

Record Helper nicht für Arrays? Habe ich da wieder etwas, was mir um die Ohren fliegen könnte?

Delphi-Quellcode:

type
  TFilterArray = TArray<String>;

  TFilterArrayHelper = record helper for TFilterArray
    Function FilterStartsWithText(const aValue: String): TFilterArray;
  end;

  { TFilterArrayHelper }

function TFilterArrayHelper.FilterStartsWithText(const aValue: String): TFilterArray;
begin
  Result := [];
  for var a := low(Self) to high(Self) do
    if StartsText(aValue, Self[a]) then
      Result := Result + [Self[a]];
end;

var
  lFilterArray: TFilterArray;
  lStringArray: TArray<String>;

begin
  lFilterArray := ['a1', 'a2', 'a3', 'b1', 'b2', 'b3'];

  lStringArray := lFilterArray.FilterStartsWithText('b');

  for var a := low(lStringArray) to high(lStringArray) do
    WriteLn(lStringArray[a]);

  Readln;

end.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat