Einzelnen Beitrag anzeigen

Willie1

Registriert seit: 28. Mai 2008
618 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

Vererben von Records ?

  Alt 14. Feb 2019, 18:21
Hallo Freunde/Innen,
ich habe ein kleines Luxusproblem. Ich will zu den String.Helpern gerne die Funktion RPos hinzu fügen. Ich habe mir Folgendes gedacht:
Delphi-Quellcode:
unit RPos_2_h;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type

  TMyString= record
  private
    s: string;
  public
    function RPos(const SubStr: string): Integer;
    property STRI: string read s write s;
  end;

  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

 function TMyString.RPos(const SubStr: string): Integer;
 var
   po: Integer;
 begin
   Result:=-1;
   po:=s.IndexOf(SubStr,0);
   while po >= 0 do begin
      Result:=po;
      po:=s.IndexOf(SubStr,po+(Length(SubStr)));
   end;
   Inc(Result); //falls nicht gefunden 0!
 end;
Das klappt auch, nur hat TMyStzring nicht die anderen Helper-Eigenschaften vom Original-String (z.B. ToInteger u.a.m.) Records lassen sich ja nicht ableiten - war hier im Forum schon mal Thema. Gibt es trotzdem eine Möglichkeit?

Gruß Willie.
Gut hören kann ich schlecht, schlecht sehen kann ich gut - Ersteres stimmt nicht, das zweite schon.
  Mit Zitat antworten Zitat