Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
22. Apr 2009
Du brauchst es doch nur da einzusetzen, wo du 'ne StringList als Result zurückgibst?
also
Function GetStrings(Index: Integer): IInterfacedStringList;
Das Ganze würde ich auch nicht für die Basisklasse umsetzen.
Witzig wäre es, wenn du deine Slicing-Erweiterung als Class-Helper für TStrings erstellst,
dann hätte man diese Funktion gleich automatisch in allen TStrings-Nachfahren (wie...
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
22. Apr 2009
einfach eine StringList mit 'nem Interface versehen
und dann nur noch dem Interface die nötigen Funktionen mitgeben...
hier fehlen jetzt nur noch einige Funktionen im Interface, also welche man noch unbedingt aus den Public-Abschnitten benötigt.
Type
IInterfacedStringList = Interface
//Private
Function Get(Index: Integer): String;
Function GetCount: Integer;
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
25. Mär 2009
const MinInt = Low(Integer)
im Grunde muß da einfach nur irgendein Wert hin, welcher (vermutlich) nie als Parameter übergeben wird.
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
24. Mär 2009
bei Arrays kann man auch Copy nutzen ... ok, ohne das "von rechts"
var a: Array of Double;
a := Copy(a, 5, 9);
ansonsten gibt's 2 Möglichkeiten für die Parameter:
public
property Slices: TStrings read GetSlice;
// if To = MinInt then {to=from}