Delphi XE2 compatibility
This commit is contained in:
parent
195c3e6dde
commit
0d07b45cd4
@ -58,6 +58,7 @@ contains
|
||||
X2UtElevation in '..\..\X2UtElevation.pas',
|
||||
X2UtPersistXML in '..\..\X2UtPersistXML.pas',
|
||||
X2UtPersistXMLBinding in '..\..\X2UtPersistXMLBinding.pas',
|
||||
XMLDataBindingUtils in '..\..\XMLDataBindingUtils.pas';
|
||||
XMLDataBindingUtils in '..\..\XMLDataBindingUtils.pas',
|
||||
X2UtDelphiCompatibility in '..\..\X2UtDelphiCompatibility.pas';
|
||||
|
||||
end.
|
||||
|
@ -173,6 +173,7 @@
|
||||
<DCCReference Include="..\..\X2UtPersistXML.pas"/>
|
||||
<DCCReference Include="..\..\X2UtPersistXMLBinding.pas"/>
|
||||
<DCCReference Include="..\..\XMLDataBindingUtils.pas"/>
|
||||
<DCCReference Include="..\..\X2UtDelphiCompatibility.pas"/>
|
||||
<BuildConfiguration Include="Debug">
|
||||
<Key>Cfg_2</Key>
|
||||
<CfgParent>Base</CfgParent>
|
||||
|
@ -1,6 +1,11 @@
|
||||
// This makes it easier to check which compiler version is
|
||||
// being used...
|
||||
{$DEFINE DUNKNOWN}
|
||||
{$UNDEF DXE2}
|
||||
{$UNDEF DXE}
|
||||
{$UNDEF D2010}
|
||||
{$UNDEF D2009}
|
||||
{$UNDEF D2007}
|
||||
{$UNDEF D2006}
|
||||
{$UNDEF D2005}
|
||||
{$UNDEF D8}
|
||||
@ -12,7 +17,83 @@
|
||||
{$UNDEF D2}
|
||||
{$UNDEF D1}
|
||||
|
||||
{$IFDEF VER230}
|
||||
{$DEFINE DXE2}
|
||||
{$DEFINE DXE2PLUS}
|
||||
{$DEFINE DXEPLUS}
|
||||
{$DEFINE D2010PLUS}
|
||||
{$DEFINE D2009PLUS}
|
||||
{$DEFINE D2007PLUS}
|
||||
{$DEFINE D2006PLUS}
|
||||
{$DEFINE D2005PLUS}
|
||||
{$DEFINE D8PLUS}
|
||||
{$DEFINE D7PLUS}
|
||||
{$DEFINE D6PLUS}
|
||||
{$DEFINE D5PLUS}
|
||||
{$DEFINE D4PLUS}
|
||||
{$DEFINE D3PLUS}
|
||||
{$DEFINE D2PLUS}
|
||||
{$DEFINE D1PLUS}
|
||||
{$UNDEF DUNKNOWN}
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF VER220}
|
||||
{$DEFINE DXE}
|
||||
{$DEFINE DXEPLUS}
|
||||
{$DEFINE D2010PLUS}
|
||||
{$DEFINE D2009PLUS}
|
||||
{$DEFINE D2007PLUS}
|
||||
{$DEFINE D2006PLUS}
|
||||
{$DEFINE D2005PLUS}
|
||||
{$DEFINE D8PLUS}
|
||||
{$DEFINE D7PLUS}
|
||||
{$DEFINE D6PLUS}
|
||||
{$DEFINE D5PLUS}
|
||||
{$DEFINE D4PLUS}
|
||||
{$DEFINE D3PLUS}
|
||||
{$DEFINE D2PLUS}
|
||||
{$DEFINE D1PLUS}
|
||||
{$UNDEF DUNKNOWN}
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF VER210}
|
||||
{$DEFINE D2010}
|
||||
{$DEFINE D2010PLUS}
|
||||
{$DEFINE D2009PLUS}
|
||||
{$DEFINE D2007PLUS}
|
||||
{$DEFINE D2006PLUS}
|
||||
{$DEFINE D2005PLUS}
|
||||
{$DEFINE D8PLUS}
|
||||
{$DEFINE D7PLUS}
|
||||
{$DEFINE D6PLUS}
|
||||
{$DEFINE D5PLUS}
|
||||
{$DEFINE D4PLUS}
|
||||
{$DEFINE D3PLUS}
|
||||
{$DEFINE D2PLUS}
|
||||
{$DEFINE D1PLUS}
|
||||
{$UNDEF DUNKNOWN}
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF VER200}
|
||||
{$DEFINE D2009}
|
||||
{$DEFINE D2009PLUS}
|
||||
{$DEFINE D2007PLUS}
|
||||
{$DEFINE D2006PLUS}
|
||||
{$DEFINE D2005PLUS}
|
||||
{$DEFINE D8PLUS}
|
||||
{$DEFINE D7PLUS}
|
||||
{$DEFINE D6PLUS}
|
||||
{$DEFINE D5PLUS}
|
||||
{$DEFINE D4PLUS}
|
||||
{$DEFINE D3PLUS}
|
||||
{$DEFINE D2PLUS}
|
||||
{$DEFINE D1PLUS}
|
||||
{$UNDEF DUNKNOWN}
|
||||
{$ENDIF}
|
||||
|
||||
{$IFDEF VER180}
|
||||
{$DEFINE D2007}
|
||||
{$DEFINE D2007PLUS}
|
||||
{$DEFINE D2006}
|
||||
{$DEFINE D2006PLUS}
|
||||
{$DEFINE D2005PLUS}
|
||||
|
34
X2UtDelphiCompatibility.pas
Normal file
34
X2UtDelphiCompatibility.pas
Normal file
@ -0,0 +1,34 @@
|
||||
unit X2UtDelphiCompatibility;
|
||||
|
||||
interface
|
||||
uses
|
||||
SysUtils;
|
||||
|
||||
|
||||
function CharInSet(C: Char; const CharSet: TSysCharSet): Boolean;
|
||||
function GetDefaultFormatSettings: TFormatSettings;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
|
||||
function CharInSet(C: Char; const CharSet: TSysCharSet): Boolean;
|
||||
begin
|
||||
{$IF CompilerVersion < 20}
|
||||
Result := C in CharSet;
|
||||
{$ELSE}
|
||||
Result := SysUtils.CharInSet(C, CharSet);
|
||||
{$IFEND}
|
||||
end;
|
||||
|
||||
|
||||
function GetDefaultFormatSettings: TFormatSettings;
|
||||
begin
|
||||
{$IF CompilerVersion < 20}
|
||||
GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, Result);
|
||||
{$ELSE}
|
||||
Result := TFormatSettings.Create;
|
||||
{$IFEND}
|
||||
end;
|
||||
|
||||
end.
|
@ -89,7 +89,7 @@ begin
|
||||
break;
|
||||
end;
|
||||
|
||||
if not (position^ in ValidNameChars) then
|
||||
if not CharInSet(position^, ValidNameChars) then
|
||||
break;
|
||||
|
||||
Inc(position);
|
||||
|
@ -198,7 +198,9 @@ type
|
||||
|
||||
implementation
|
||||
uses
|
||||
Windows;
|
||||
Windows,
|
||||
|
||||
X2UtDelphiCompatibility;
|
||||
|
||||
|
||||
const
|
||||
@ -628,7 +630,7 @@ begin
|
||||
for iParam := 1 to ParamCountEx(ACmdLine) do begin
|
||||
sParam := ParamStrEx(ACmdLine, iParam);
|
||||
|
||||
if (AChars = []) or (sParam[1] in AChars) then
|
||||
if (AChars = []) or CharInSet(sParam[1], AChars) then
|
||||
if AIgnoreCase then begin
|
||||
if (AnsiCompareText(Copy(sParam, 2, Maxint), ASwitch) = 0) then begin
|
||||
Result := True;
|
||||
|
@ -91,7 +91,9 @@ uses
|
||||
DateUtils,
|
||||
Math,
|
||||
Types,
|
||||
Windows;
|
||||
Windows,
|
||||
|
||||
X2UtDelphiCompatibility;
|
||||
|
||||
|
||||
type
|
||||
@ -110,7 +112,7 @@ var
|
||||
timeOffset: Integer;
|
||||
|
||||
begin
|
||||
GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, formatSettings);
|
||||
formatSettings := GetDefaultFormatSettings;
|
||||
Result := FormatDateTime(XMLDateTimeFormats[AFormat], ADate, formatSettings);
|
||||
|
||||
if AFormat in [xdtDateTime, xdtTime] then
|
||||
@ -237,7 +239,7 @@ begin
|
||||
begin
|
||||
{ Zulu time }
|
||||
hasTimezone := True;
|
||||
end else if time[1] in [XMLTimezoneSigns[False], XMLTimezoneSigns[True]] then
|
||||
end else if CharInSet(time[1], [XMLTimezoneSigns[False], XMLTimezoneSigns[True]]) then
|
||||
begin
|
||||
{ Parse timezone ([+|-]xx:xx) }
|
||||
if TryStrToInt(Copy(time, 2, 2), hour) and
|
||||
|
Loading…
Reference in New Issue
Block a user