|
@@ -644,15 +644,33 @@ function CheckPeg(const AStr: string): Boolean;
|
|
|
Result := Pos(AStrSpare, AName);
|
|
|
end;
|
|
|
|
|
|
-var
|
|
|
- iPosK, iPosPlus: Integer;
|
|
|
- fNum: Double;
|
|
|
+ function CheckPlusPeg(const AStr: string): Boolean;
|
|
|
+ var
|
|
|
+ iPosK, iPosPlus: Integer;
|
|
|
+ fNum: Double;
|
|
|
+ begin
|
|
|
+ Result := False;
|
|
|
+ iPosK := GetPosition(AStr, 'K', 'k');
|
|
|
+ iPosPlus := GetPosition(AStr, '+', '£«');
|
|
|
+ if (iPosK = 0) or (iPosPlus = 0) or (iPosPlus < iPosK) then Exit;
|
|
|
+ Result := TryStrToFloat(Copy(AStr, iPosK + 1, iPosPlus - iPosK - 1), fNum) and (fNum > 0);
|
|
|
+ end;
|
|
|
+
|
|
|
+ // K0-134.5 pass; k-2-134.5 fail;
|
|
|
+ function CheckMinusPeg(const AStr: string): Boolean;
|
|
|
+ var
|
|
|
+ iPosK, iPosMinus: Integer;
|
|
|
+ fNum: Double;
|
|
|
+ begin
|
|
|
+ Result := False;
|
|
|
+ iPosK := GetPosition(AStr, 'K', 'k');
|
|
|
+ iPosMinus := GetPosition(AStr, '-', '£');
|
|
|
+ if (iPosK = 0) or (iPosMinus = 0) or (iPosMinus < iPosK) then Exit;
|
|
|
+ Result := TryStrToFloat(Copy(AStr, iPosK + 1, iPosMinus - iPosK - 1), fNum) and (fNum < 0);
|
|
|
+ end;
|
|
|
+
|
|
|
begin
|
|
|
- Result := False;
|
|
|
- iPosK := GetPosition(AStr, 'K', 'k');
|
|
|
- iPosPlus := GetPosition(AStr, '+', '£«');
|
|
|
- if (iPosK = 0) or (iPosPlus = 0) or (iPosPlus < iPosK) then Exit;
|
|
|
- Result := TryStrToFloat(Copy(AStr, iPosK + 1, iPosPlus - iPosK - 1), fNum);
|
|
|
+ Result := CheckPlusPeg(AStr) or CheckMinusPeg(AStr);
|
|
|
end;
|
|
|
|
|
|
function CheckValidPassword(APassword: string): Boolean;
|