mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 01:29:29 +02:00
+ variant<->currency/tdatetime operators
This commit is contained in:
parent
5e038a1b53
commit
db865d1e51
@ -60,8 +60,8 @@ procedure variant_addref(var v : tvardata);[Public,Alias:'FPC_VARIANT_ADDREF'];
|
||||
if assigned(VarAddRefProc) then
|
||||
VarAddRefProc(v);
|
||||
end;
|
||||
|
||||
{ using pointers as argument here makes life for the compiler easier }
|
||||
|
||||
{ using pointers as argument here makes life for the compiler easier }
|
||||
procedure fpc_variant_copy(d,s : pointer);compilerproc;
|
||||
begin
|
||||
if assigned(VarCopyProc) then
|
||||
@ -91,8 +91,8 @@ procedure fpc_vararray_get(var d : variant;const s : variant;indices : psizeint;
|
||||
begin
|
||||
d:=variantmanager.vararrayget(s,len,indices);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure fpc_vararray_put(var d : variant;const s : variant;indices : psizeint;len : sizeint);compilerproc;
|
||||
begin
|
||||
variantmanager.vararrayput(d,s,len,indices);
|
||||
@ -274,15 +274,17 @@ end;
|
||||
|
||||
|
||||
{ Misc. }
|
||||
{ Fixme!!!
|
||||
operator :=(const source : currency) dest : variant;
|
||||
begin
|
||||
VariantManager.VarFromCurr(Dest,Source);
|
||||
end;
|
||||
|
||||
|
||||
operator :=(const source : tdatetime) dest : variant;
|
||||
begin
|
||||
VariantManager.VarFromTDateTime(Dest,Source);
|
||||
end;
|
||||
}
|
||||
|
||||
{**********************************************************************
|
||||
from Variant assignments
|
||||
**********************************************************************}
|
||||
@ -447,20 +449,21 @@ begin
|
||||
end;
|
||||
{$endif SUPPORT_COMP}
|
||||
|
||||
|
||||
{ Misc. }
|
||||
operator :=(const source : variant) dest : currency;
|
||||
|
||||
begin
|
||||
dest:=variantmanager.vartocurr(source);
|
||||
end;
|
||||
|
||||
(* FIXME !!!
|
||||
operator :=(const source : variant) dest : tdatetime;
|
||||
|
||||
{$ifdef HASOVERLOADASSIGNBYUNIQUERESULT}
|
||||
operator :=(const source : variant) dest : tdatetime;
|
||||
begin
|
||||
dest:=variantmanager.currtovar(source);
|
||||
dest:=variantmanager.vartotdatetime(source);
|
||||
end;
|
||||
*)
|
||||
{$endif HASOVERLOADASSIGNBYUNIQUERESULT}
|
||||
|
||||
{**********************************************************************
|
||||
Operators
|
||||
**********************************************************************}
|
||||
@ -524,7 +527,7 @@ operator /(const op1,op2 : variant) dest : variant;
|
||||
dest:=op1;
|
||||
variantmanager.varop(dest,op2,opdivide);
|
||||
end;
|
||||
|
||||
|
||||
operator **(const op1,op2 : variant) dest : variant;
|
||||
begin
|
||||
dest:=op1;
|
||||
@ -578,7 +581,7 @@ procedure VarArrayRedim(var A: Variant; HighBound: SizeInt);
|
||||
begin
|
||||
variantmanager.vararrayredim(a,highbound);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
{**********************************************************************
|
||||
Variant manager functions
|
||||
@ -624,7 +627,10 @@ procedure initvariantmanager;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.29 2005-04-10 20:24:31 florian
|
||||
Revision 1.30 2005-04-28 19:34:19 florian
|
||||
+ variant<->currency/tdatetime operators
|
||||
|
||||
Revision 1.29 2005/04/10 20:24:31 florian
|
||||
+ basic operators (int, real and string) for variants implemented
|
||||
|
||||
Revision 1.28 2005/04/10 09:22:38 florian
|
||||
|
@ -35,7 +35,7 @@ const
|
||||
varword = 18;
|
||||
varlongword = 19;
|
||||
varint64 = 20;
|
||||
varqword = 21;
|
||||
varqword = 21;
|
||||
|
||||
varstrarg = $48;
|
||||
varstring = $100;
|
||||
@ -131,6 +131,7 @@ type
|
||||
vartoword64 : function(const v : variant) : qword;
|
||||
vartobool : function(const v : variant) : boolean;
|
||||
vartoreal : function(const v : variant) : extended;
|
||||
vartotdatetime : function(const v : variant) : tdatetime;
|
||||
vartocurr : function(const v : variant) : currency;
|
||||
vartopstr : procedure(var s ;const v : variant);
|
||||
vartolstr : procedure(var s : ansistring;const v : variant);
|
||||
@ -145,6 +146,8 @@ type
|
||||
varfromint64 : procedure(var dest : variant;const source : int64);
|
||||
varfromword64 : procedure(var dest : variant;const source : qword);
|
||||
varfromreal : procedure(var dest : variant;const source : extended);
|
||||
varfromtdatetime : procedure(var dest : Variant;const source : TDateTime);
|
||||
varfromcurr : procedure(var dest : Variant;const source : Currency);
|
||||
varfrompstr: procedure(var dest : variant; const source : ShortString);
|
||||
varfromlstr: procedure(var dest : variant; const source : ansistring);
|
||||
varfromwstr: procedure(var dest : variant; const source : WideString);
|
||||
@ -241,10 +244,9 @@ operator :=(const source : comp) dest : variant;
|
||||
{$endif SUPPORT_COMP}
|
||||
|
||||
{ Misc. }
|
||||
{ Fixme!!!!
|
||||
operator :=(const source : currency) dest : variant;
|
||||
operator :=(const source : tdatetime) dest : variant;
|
||||
}
|
||||
|
||||
{**********************************************************************
|
||||
from Variant assignments
|
||||
**********************************************************************}
|
||||
@ -289,9 +291,10 @@ operator :=(const source : variant) dest : comp;
|
||||
|
||||
{ Misc. }
|
||||
operator :=(const source : variant) dest : currency;
|
||||
{ Fixme!!!!
|
||||
{$ifdef HASOVERLOADASSIGNBYUNIQUERESULT}
|
||||
operator :=(const source : variant) dest : tdatetime;
|
||||
}
|
||||
{$endif HASOVERLOADASSIGNBYUNIQUERESULT}
|
||||
|
||||
{**********************************************************************
|
||||
Operators
|
||||
**********************************************************************}
|
||||
@ -321,7 +324,10 @@ procedure VarArrayRedim(var A: Variant; HighBound: SizeInt);
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.23 2005-04-10 20:24:31 florian
|
||||
Revision 1.24 2005-04-28 19:34:19 florian
|
||||
+ variant<->currency/tdatetime operators
|
||||
|
||||
Revision 1.23 2005/04/10 20:24:31 florian
|
||||
+ basic operators (int, real and string) for variants implemented
|
||||
|
||||
Revision 1.22 2005/04/10 09:22:38 florian
|
||||
|
Loading…
Reference in New Issue
Block a user