Browse Source

+ basic operators (int, real and string) for variants implemented

florian 20 years ago
parent
commit
89da61f7a8
2 changed files with 16 additions and 3 deletions
  1. 10 1
      rtl/inc/variant.inc
  2. 6 2
      rtl/inc/varianth.inc

+ 10 - 1
rtl/inc/variant.inc

@@ -524,6 +524,12 @@ operator /(const op1,op2 : variant) dest : variant;
      dest:=op1;
      dest:=op1;
      variantmanager.varop(dest,op2,opdivide);
      variantmanager.varop(dest,op2,opdivide);
   end;
   end;
+  
+operator **(const op1,op2 : variant) dest : variant;
+  begin
+     dest:=op1;
+     variantmanager.varop(dest,op2,oppower);
+  end;
 
 
 operator div(const op1,op2 : variant) dest : variant;
 operator div(const op1,op2 : variant) dest : variant;
   begin
   begin
@@ -618,7 +624,10 @@ procedure initvariantmanager;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.28  2005-04-10 09:22:38  florian
+  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
     + varrarrayredim added and implemented
     + varrarrayredim added and implemented
 
 
   Revision 1.27  2005/03/28 13:38:05  florian
   Revision 1.27  2005/03/28 13:38:05  florian

+ 6 - 2
rtl/inc/varianth.inc

@@ -70,7 +70,7 @@ type
 
 
    tvarop = (opadd,opsubtract,opmultiply,opdivide,opintdivide,opmodulus,
    tvarop = (opadd,opsubtract,opmultiply,opdivide,opintdivide,opmodulus,
              opshiftleft,opshiftright,opand,opor,opxor,opcompare,opnegate,
              opshiftleft,opshiftright,opand,opor,opxor,opcompare,opnegate,
-             opnot,opcmpeq,opcmpne,opcmplt,opcmple,opcmpgt,opcmpge);
+             opnot,opcmpeq,opcmpne,opcmplt,opcmple,opcmpgt,opcmpge,oppower);
 
 
    tvardata = packed record
    tvardata = packed record
       vtype : tvartype;
       vtype : tvartype;
@@ -306,6 +306,7 @@ operator +(const op1,op2 : variant) dest : variant;
 operator -(const op1,op2 : variant) dest : variant;
 operator -(const op1,op2 : variant) dest : variant;
 operator *(const op1,op2 : variant) dest : variant;
 operator *(const op1,op2 : variant) dest : variant;
 operator /(const op1,op2 : variant) dest : variant;
 operator /(const op1,op2 : variant) dest : variant;
+operator **(const op1,op2 : variant) dest : variant;
 operator div(const op1,op2 : variant) dest : variant;
 operator div(const op1,op2 : variant) dest : variant;
 operator mod(const op1,op2 : variant) dest : variant;
 operator mod(const op1,op2 : variant) dest : variant;
 operator -(const op : variant) dest : variant;
 operator -(const op : variant) dest : variant;
@@ -320,7 +321,10 @@ procedure VarArrayRedim(var A: Variant; HighBound: SizeInt);
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.22  2005-04-10 09:22:38  florian
+  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
     + varrarrayredim added and implemented
     + varrarrayredim added and implemented
 
 
   Revision 1.21  2005/03/28 13:38:05  florian
   Revision 1.21  2005/03/28 13:38:05  florian