Browse Source

* Optimization to ReadInteger from Alex Zolotov

git-svn-id: trunk@7163 -
michael 18 years ago
parent
commit
8c00103c8e
1 changed files with 2 additions and 13 deletions
  1. 2 13
      packages/fcl-base/src/inc/inifiles.pp

+ 2 - 13
packages/fcl-base/src/inc/inifiles.pp

@@ -335,20 +335,9 @@ begin
 end;
 end;
 
 
 function TCustomIniFile.ReadInteger(const Section, Ident: string; Default: Longint): Longint;
 function TCustomIniFile.ReadInteger(const Section, Ident: string; Default: Longint): Longint;
-var
-  s: string;
 begin
 begin
-  Result := Default;
-  s := ReadString(Section, Ident, '');
-  if s > '' then try
-    // convert hex string
-    if Pos('0X', UpperCase(s)) = 1 then
-      s := '$' + Copy(s, 3, Length(s) - 2);
-    Result := StrToInt(s);
-  except
-    on EConvertError do
-    else raise;
-  end;
+  // StrToInfDef() supports hex numbers prefixed with '0x' via val()
+  Result := StrToIntDef(ReadString(Section, Ident, ''), Default);
 end;
 end;
 
 
 procedure TCustomIniFile.WriteInteger(const Section, Ident: string; Value: Longint);
 procedure TCustomIniFile.WriteInteger(const Section, Ident: string; Value: Longint);