|
@@ -225,24 +225,29 @@ end;
|
|
{ Strings }
|
|
{ Strings }
|
|
|
|
|
|
operator :=(const source : shortstring) dest : variant;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
operator :=(const source : shortstring) dest : variant;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
-
|
|
|
|
begin
|
|
begin
|
|
VariantManager.VarFromPStr(Dest,Source);
|
|
VariantManager.VarFromPStr(Dest,Source);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
operator :=(const source : ansistring) dest : variant;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
operator :=(const source : ansistring) dest : variant;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
-
|
|
|
|
begin
|
|
begin
|
|
VariantManager.VarFromLStr(Dest,Source);
|
|
VariantManager.VarFromLStr(Dest,Source);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
operator :=(const source : widestring) dest : variant;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
operator :=(const source : widestring) dest : variant;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
|
|
+begin
|
|
|
|
+ VariantManager.VarFromWStr(Dest,Source);
|
|
|
|
+end;
|
|
|
|
|
|
|
|
+
|
|
|
|
+{$ifndef FPC_WIDESTRING_EQUAL_UNICODESTRING}
|
|
|
|
+operator :=(const source : UnicodeString) dest : variant;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
begin
|
|
begin
|
|
VariantManager.VarFromWStr(Dest,Source);
|
|
VariantManager.VarFromWStr(Dest,Source);
|
|
end;
|
|
end;
|
|
|
|
+{$endif FPC_WIDESTRING_EQUAL_UNICODESTRING}
|
|
|
|
|
|
{ Floats }
|
|
{ Floats }
|
|
|
|
|
|
@@ -412,23 +417,34 @@ end;
|
|
{ Strings }
|
|
{ Strings }
|
|
|
|
|
|
operator :=(const source : variant) dest : shortstring;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
operator :=(const source : variant) dest : shortstring;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
-
|
|
|
|
begin
|
|
begin
|
|
VariantManager.VarToPStr(Dest,Source);
|
|
VariantManager.VarToPStr(Dest,Source);
|
|
end;
|
|
end;
|
|
|
|
|
|
-operator :=(const source : variant) dest : ansistring;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
|
|
|
|
|
|
|
|
+operator :=(const source : variant) dest : ansistring;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
begin
|
|
begin
|
|
VariantManager.vartolstr(dest,source);
|
|
VariantManager.vartolstr(dest,source);
|
|
end;
|
|
end;
|
|
|
|
|
|
-operator :=(const source : variant) dest : widestring;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
|
|
|
|
|
|
|
|
+operator :=(const source : variant) dest : widestring;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
begin
|
|
begin
|
|
variantmanager.vartowstr(dest,source);
|
|
variantmanager.vartowstr(dest,source);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+
|
|
|
|
+{$ifndef FPC_WIDESTRING_EQUAL_UNICODESTRING}
|
|
|
|
+operator :=(const source : variant) dest : UnicodeString;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
|
|
+var
|
|
|
|
+ res : WideString;
|
|
|
|
+begin
|
|
|
|
+ variantmanager.vartowstr(res,source);
|
|
|
|
+ dest:=res;
|
|
|
|
+end;
|
|
|
|
+{$endif FPC_WIDESTRING_EQUAL_UNICODESTRING}
|
|
|
|
+
|
|
|
|
+
|
|
{ Floats }
|
|
{ Floats }
|
|
|
|
|
|
{$ifdef SUPPORT_SINGLE}
|
|
{$ifdef SUPPORT_SINGLE}
|
|
@@ -623,7 +639,7 @@ procedure VarArrayRedim(var A: Variant; HighBound: SizeInt);
|
|
|
|
|
|
procedure VarArrayPut(var A: Variant; const Value: Variant; const Indices: array of SizeInt);
|
|
procedure VarArrayPut(var A: Variant; const Value: Variant; const Indices: array of SizeInt);
|
|
begin
|
|
begin
|
|
- if Length(Indices)>0 then
|
|
|
|
|
|
+ if Length(Indices)>0 then
|
|
variantmanager.vararrayput(A, Value, Length(Indices), @Indices[0])
|
|
variantmanager.vararrayput(A, Value, Length(Indices), @Indices[0])
|
|
else
|
|
else
|
|
variantmanager.vararrayput(A, Value, 0, nil);
|
|
variantmanager.vararrayput(A, Value, 0, nil);
|
|
@@ -632,13 +648,13 @@ procedure VarArrayPut(var A: Variant; const Value: Variant; const Indices: array
|
|
|
|
|
|
function VarArrayGet(const A: Variant; const Indices: array of SizeInt): Variant;
|
|
function VarArrayGet(const A: Variant; const Indices: array of SizeInt): Variant;
|
|
begin
|
|
begin
|
|
- if Length(Indices)>0 then
|
|
|
|
|
|
+ if Length(Indices)>0 then
|
|
Result:=variantmanager.vararrayget(A, Length(Indices), @Indices[0])
|
|
Result:=variantmanager.vararrayget(A, Length(Indices), @Indices[0])
|
|
- else
|
|
|
|
|
|
+ else
|
|
Result:=variantmanager.vararrayget(A, 0, nil);
|
|
Result:=variantmanager.vararrayget(A, 0, nil);
|
|
end;
|
|
end;
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+
|
|
|
|
+
|
|
procedure VarCast(var dest : variant;const source : variant;vartype : longint);
|
|
procedure VarCast(var dest : variant;const source : variant;vartype : longint);
|
|
|
|
|
|
begin
|
|
begin
|
|
@@ -763,6 +779,16 @@ operator :=(const source : olevariant) dest : widestring;{$ifdef SYSTEMINLINE}in
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
+{$ifndef FPC_WIDESTRING_EQUAL_UNICODESTRING}
|
|
|
|
+operator :=(const source : olevariant) dest : UnicodeString;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
|
|
+ var
|
|
|
|
+ res : WideString;
|
|
|
|
+ begin
|
|
|
|
+ variantmanager.vartowstr(res,variant(tvardata(source)));
|
|
|
|
+ dest:=res;
|
|
|
|
+ end;
|
|
|
|
+{$endif FPC_WIDESTRING_EQUAL_UNICODESTRING}
|
|
|
|
+
|
|
{ Floats }
|
|
{ Floats }
|
|
{$ifdef SUPPORT_SINGLE}
|
|
{$ifdef SUPPORT_SINGLE}
|
|
operator :=(const source : olevariant) dest : single;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
operator :=(const source : olevariant) dest : single;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
@@ -931,6 +957,14 @@ operator :=(const source : widestring) dest : olevariant;{$ifdef SYSTEMINLINE}in
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
+{$ifndef FPC_WIDESTRING_EQUAL_UNICODESTRING}
|
|
|
|
+operator :=(const source : UnicodeString) dest : olevariant;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
|
|
+ begin
|
|
|
|
+ variantmanager.varfromwstr(variant(tvardata(dest)),source);
|
|
|
|
+ end;
|
|
|
|
+{$endif FPC_WIDESTRING_EQUAL_UNICODESTRING}
|
|
|
|
+
|
|
|
|
+
|
|
{ Floats }
|
|
{ Floats }
|
|
{$ifdef SUPPORT_SINGLE}
|
|
{$ifdef SUPPORT_SINGLE}
|
|
operator :=(const source : single) dest : olevariant;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
operator :=(const source : single) dest : olevariant;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
@@ -1050,6 +1084,14 @@ Function Pos (w : WideString; Const v : Variant) : SizeInt;{$ifdef SYSTEMINLINE}
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
+{$ifndef FPC_WIDESTRING_EQUAL_UNICODESTRING}
|
|
|
|
+Function Pos (w : UnicodeString; Const v : Variant) : SizeInt;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
|
|
+ begin
|
|
|
|
+ Result:=Pos(w,UnicodeString(v));
|
|
|
|
+ end;
|
|
|
|
+{$endif FPC_WIDESTRING_EQUAL_UNICODESTRING}
|
|
|
|
+
|
|
|
|
+
|
|
Function Pos (v : Variant; Const c : Char) : SizeInt;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
Function Pos (v : Variant; Const c : Char) : SizeInt;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
begin
|
|
begin
|
|
Result:=Pos(ShortString(v),c);
|
|
Result:=Pos(ShortString(v),c);
|
|
@@ -1074,6 +1116,14 @@ Function Pos (v : Variant; Const w : WideString) : SizeInt;{$ifdef SYSTEMINLINE}
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
+{$ifndef FPC_WIDESTRING_EQUAL_UNICODESTRING}
|
|
|
|
+Function Pos (v : Variant; Const w : UnicodeString) : SizeInt;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
|
|
+ begin
|
|
|
|
+ Result:=Pos(UnicodeString(v),w);
|
|
|
|
+ end;
|
|
|
|
+{$endif FPC_WIDESTRING_EQUAL_UNICODESTRING}
|
|
|
|
+
|
|
|
|
+
|
|
Function Pos (v1 : Variant; Const v2 : Variant) : SizeInt;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
Function Pos (v1 : Variant; Const v2 : Variant) : SizeInt;{$ifdef SYSTEMINLINE}inline;{$endif}
|
|
begin
|
|
begin
|
|
Result:=Pos(WideString(v1),WideString(v2));
|
|
Result:=Pos(WideString(v1),WideString(v2));
|