Browse Source

* Add optional start index for Pos()

michael 7 years ago
parent
commit
edd010c1bc
1 changed files with 9 additions and 0 deletions
  1. 9 0
      packages/rtl/system.pas

+ 9 - 0
packages/rtl/system.pas

@@ -243,6 +243,7 @@ function Copy(const S: string; Index, Size: Integer): String; assembler; overloa
 function Copy(const S: string; Index: Integer): String; assembler; overload;
 function Copy(const S: string; Index: Integer): String; assembler; overload;
 procedure Delete(var S: String; Index, Size: Integer); assembler; overload;
 procedure Delete(var S: String; Index, Size: Integer); assembler; overload;
 function Pos(const Search, InString: String): Integer; assembler; overload;
 function Pos(const Search, InString: String): Integer; assembler; overload;
+function Pos(const Search, InString: String; StartAt : Integer): Integer; assembler; overload;
 procedure Insert(const Insertion: String; var Target: String; Index: Integer); overload;
 procedure Insert(const Insertion: String; var Target: String; Index: Integer); overload;
 function upcase(c : char) : char; assembler;
 function upcase(c : char) : char; assembler;
 
 
@@ -364,6 +365,14 @@ asm
   return InString.indexOf(Search)+1;
   return InString.indexOf(Search)+1;
 end;
 end;
 
 
+function Pos(const Search, InString: String; StartAt : Integer): Integer; assembler; overload;
+
+asm
+  return InString.indexOf(Search,StartAt-1)+1;
+end;
+
+
+
 procedure Insert(const Insertion: String; var Target: String; Index: Integer);
 procedure Insert(const Insertion: String; var Target: String; Index: Integer);
 var
 var
   t: String;
   t: String;