Permalink
Browse files

Pos исправлена для char

  • Loading branch information...
1 parent b3f6e00 commit f7c1efa7af3fb253ecd6202fb96d896857f15f0a @miks1965 miks1965 committed Dec 19, 2016
@@ -15,7 +15,7 @@ internal static class RevisionClass
public const string Major = "3";
public const string Minor = "2";
public const string Build = "0";
- public const string Revision = "1363";
+ public const string Revision = "1365";
public const string MainVersion = Major + "." + Minor;
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
@@ -1,4 +1,4 @@
%COREVERSION%=0
-%REVISION%=1363
+%REVISION%=1365
%MINOR%=2
%MAJOR%=3
Binary file not shown.
@@ -1 +1 @@
-!define VERSION '3.2.0.1363'
+!define VERSION '3.2.0.1365'
@@ -1273,13 +1273,24 @@ procedure Str(r: single; var s: string);
///--
procedure Str(s1: string; var s: string);
/// Возвращает позицию подстроки subs в строке s. Если не найдена, возвращает 0
+
function Pos(subs, s: string; from: integer := 1): integer;
/// Возвращает позицию подстроки subs в строке s начиная с позиции from. Если не найдена, возвращает 0
function PosEx(subs, s: string; from: integer := 1): integer;
/// Возвращает позицию последнего вхождения подстроки subs в строке s. Если не найдена, возвращает 0
function LastPos(subs, s: string): integer;
/// Возвращает позицию последнего вхождения подстроки subs в строке s начиная с позиции from. Если не найдена, возвращает 0
function LastPos(subs, s: string; from: integer): integer;
+
+/// Возвращает позицию символа c в строке s. Если не найдена, возвращает 0
+function Pos(c: char; s: string; from: integer := 1): integer;
+/// Возвращает позицию символа c в строке s начиная с позиции from. Если не найдена, возвращает 0
+function PosEx(c: char; s: string; from: integer := 1): integer;
+/// Возвращает позицию последнего вхождения символа c в строке s. Если не найдена, возвращает 0
+function LastPos(c: char; s: string): integer;
+/// Возвращает позицию последнего вхождения символа c в строке s начиная с позиции from. Если не найдена, возвращает 0
+function LastPos(c: char; s: string; from: integer): integer;
+
/// Возвращает длину строки
function Length(s: string): integer;
/// Устанавливает длину строки s равной n
@@ -6187,7 +6198,7 @@ function BinaryFileRead(var f: BinaryFile; ElementType: System.Type): object;
// -----------------------------------------------------
function PascalABCVersion: string;
begin
- Result := '3.2';
+ Result := '3.2.0.1364';
end;
function ParamCount: integer;
@@ -7216,6 +7227,25 @@ function LastPos(subs, s: string; from: integer): integer;
else Result := s.LastIndexOf(subs, from - 1) + 1;
end;
+function Pos(c: char; s: string; from: integer): integer;
+begin
+ Result := s.IndexOf(c, from - 1) + 1;
+end;
+
+function PosEx(c: char; s: string; from: integer): integer;
+begin
+ Result := s.IndexOf(c, from - 1) + 1;
+end;
+
+function LastPos(c: char; s: string): integer;
+begin
+ Result := s.LastIndexOf(c, s.Length - 1) + 1;
+end;
+
+function LastPos(c: char; s: string; from: integer): integer;
+begin
+ Result := s.LastIndexOf(c, from - 1) + 1;
+end;
function Length(s: string): integer;
begin
@@ -9658,6 +9688,43 @@ function operator+<T1, T2, T3, T4, T5, T6, T7> (Self: (T1,T2,T3,T4,T5,T6); v: T7
Result := (Self[0],Self[1],Self[2],Self[3],Self[4],Self[5],v);
end;
+///--
+function operator=<T1, T2> (Self: (T1,T2); v: (T1,T2)): boolean; extensionmethod;
+begin
+ Result := Self.Equals( v ) ;
+end;
+
+///--
+function operator<><T1, T2> (Self: (T1,T2); v: (T1,T2)): boolean; extensionmethod;
+begin
+ Result := not Self.Equals( v ) ;
+end;
+
+///--
+function operator<<T1, T2> (Self: (T1,T2); v: (T1,T2)): boolean; extensionmethod;
+begin
+ Result := (Self as System.IComparable).CompareTo( v ) < 0 ;
+end;
+
+///--
+function operator<=<T1, T2> (Self: (T1,T2); v: (T1,T2)): boolean; extensionmethod;
+begin
+ Result := (Self as System.IComparable).CompareTo( v ) <= 0 ;
+end;
+
+///--
+function operator><T1, T2> (Self: (T1,T2); v: (T1,T2)): boolean; extensionmethod;
+begin
+ Result := (Self as System.IComparable).CompareTo( v ) > 0 ;
+end;
+
+///--
+function operator>=<T1, T2> (Self: (T1,T2); v: (T1,T2)): boolean; extensionmethod;
+begin
+ Result := (Self as System.IComparable).CompareTo( v ) >= 0 ;
+end;
+
+
// --------------------------------------------
// Методы расширения типа Tuple # Extension methods for Tuple
// -------------------------------------------
View
Binary file not shown.
@@ -1273,13 +1273,24 @@ procedure Str(r: single; var s: string);
///--
procedure Str(s1: string; var s: string);
/// Возвращает позицию подстроки subs в строке s. Если не найдена, возвращает 0
+
function Pos(subs, s: string; from: integer := 1): integer;
/// Возвращает позицию подстроки subs в строке s начиная с позиции from. Если не найдена, возвращает 0
function PosEx(subs, s: string; from: integer := 1): integer;
/// Возвращает позицию последнего вхождения подстроки subs в строке s. Если не найдена, возвращает 0
function LastPos(subs, s: string): integer;
/// Возвращает позицию последнего вхождения подстроки subs в строке s начиная с позиции from. Если не найдена, возвращает 0
function LastPos(subs, s: string; from: integer): integer;
+
+/// Возвращает позицию символа c в строке s. Если не найдена, возвращает 0
+function Pos(c: char; s: string; from: integer := 1): integer;
+/// Возвращает позицию символа c в строке s начиная с позиции from. Если не найдена, возвращает 0
+function PosEx(c: char; s: string; from: integer := 1): integer;
+/// Возвращает позицию последнего вхождения символа c в строке s. Если не найдена, возвращает 0
+function LastPos(c: char; s: string): integer;
+/// Возвращает позицию последнего вхождения символа c в строке s начиная с позиции from. Если не найдена, возвращает 0
+function LastPos(c: char; s: string; from: integer): integer;
+
/// Возвращает длину строки
function Length(s: string): integer;
/// Устанавливает длину строки s равной n
@@ -6187,7 +6198,7 @@ function BinaryFileRead(var f: BinaryFile; ElementType: System.Type): object;
// -----------------------------------------------------
function PascalABCVersion: string;
begin
- Result := '3.2';
+ Result := '3.2.0.1364';
end;
function ParamCount: integer;
@@ -7216,6 +7227,25 @@ function LastPos(subs, s: string; from: integer): integer;
else Result := s.LastIndexOf(subs, from - 1) + 1;
end;
+function Pos(c: char; s: string; from: integer): integer;
+begin
+ Result := s.IndexOf(c, from - 1) + 1;
+end;
+
+function PosEx(c: char; s: string; from: integer): integer;
+begin
+ Result := s.IndexOf(c, from - 1) + 1;
+end;
+
+function LastPos(c: char; s: string): integer;
+begin
+ Result := s.LastIndexOf(c, s.Length - 1) + 1;
+end;
+
+function LastPos(c: char; s: string; from: integer): integer;
+begin
+ Result := s.LastIndexOf(c, from - 1) + 1;
+end;
function Length(s: string): integer;
begin
@@ -9658,6 +9688,43 @@ function operator+<T1, T2, T3, T4, T5, T6, T7> (Self: (T1,T2,T3,T4,T5,T6); v: T7
Result := (Self[0],Self[1],Self[2],Self[3],Self[4],Self[5],v);
end;
+///--
+function operator=<T1, T2> (Self: (T1,T2); v: (T1,T2)): boolean; extensionmethod;
+begin
+ Result := Self.Equals( v ) ;
+end;
+
+///--
+function operator<><T1, T2> (Self: (T1,T2); v: (T1,T2)): boolean; extensionmethod;
+begin
+ Result := not Self.Equals( v ) ;
+end;
+
+///--
+function operator<<T1, T2> (Self: (T1,T2); v: (T1,T2)): boolean; extensionmethod;
+begin
+ Result := (Self as System.IComparable).CompareTo( v ) < 0 ;
+end;
+
+///--
+function operator<=<T1, T2> (Self: (T1,T2); v: (T1,T2)): boolean; extensionmethod;
+begin
+ Result := (Self as System.IComparable).CompareTo( v ) <= 0 ;
+end;
+
+///--
+function operator><T1, T2> (Self: (T1,T2); v: (T1,T2)): boolean; extensionmethod;
+begin
+ Result := (Self as System.IComparable).CompareTo( v ) > 0 ;
+end;
+
+///--
+function operator>=<T1, T2> (Self: (T1,T2); v: (T1,T2)): boolean; extensionmethod;
+begin
+ Result := (Self as System.IComparable).CompareTo( v ) >= 0 ;
+end;
+
+
// --------------------------------------------
// Методы расширения типа Tuple # Extension methods for Tuple
// -------------------------------------------

0 comments on commit f7c1efa

Please sign in to comment.