• 类型转换出现在赋值运算符左边的情况



    下面是 Delphi 2009 VCL 源码的用到的:

    {ADODB.pas 第 4345 行:}
    Currency(Buffer^) := C;
    
    {ADODB.pas 第 4362 行:}
    SmallInt(Buffer^) := Byte(cVal) else
    
    {ADODB.pas 第 4363 行:}
    SmallInt(Buffer^) := iVal;
    
    {ADODB.pas 第 4366 行:}
    Word(Buffer^) := bVal else
    
    {ADODB.pas 第 4367 行:}
    Word(Buffer^) := uiVal;
    
    {ADODB.pas 第 4369 行:}
    Integer(Buffer^) := Data;
    
    {ADODB.pas 第 4372 行:}
    Double(Buffer^) := dblVal else
    
    {ADODB.pas 第 4373 行:}
    Double(Buffer^) := Data;
    
    {ADODB.pas 第 4375 行:}
    TBcd(Buffer^) := VarToBcd(Data);
    
    {ADODB.pas 第 4381 行:}
    WordBool(Buffer^) := vbool;
    
    {ADODB.pas 第 4385 行:}
    TOleDate(Buffer^) := date;
    
    {ADODB.pas 第 4389 行:}
    OleVariant(Buffer^) := Data;
    
    {ADODB.pas 第 4390 行:}
    ftInterface: IUnknown(Buffer^) := Data;
    
    {ADODB.pas 第 4391 行:}
    ftIDispatch: IDispatch(Buffer^) := Data;
    
    {ADODB.pas 第 4394 行:}
    LargeInt(Buffer^):=-1*Decimal(Data).Lo64
    
    {ADODB.pas 第 4396 行:}
    LargeInt(Buffer^):=Decimal(Data).Lo64;
    
    {ADODB.pas 第 4397 行:}
    ftBlob..ftTypedBinary, ftVariant, ftWideMemo: OleVariant(Buffer^) := Data;
    
    {ADODB.pas 第 5881 行:}
    TDataSet(ResultSet^) := TADODataSet.Create(nil);
    
    {AxCtrls.pas 第 1103 行:}
    Pointer(TConnectDatas(elt)[I].pUnk) := nil;
    
    {AxCtrls.pas 第 1712 行:}
    Pointer(Obj) := nil;
    
    {AxCtrls.pas 第 1713 行:}
    IOleLink(Obj) := TOleLinkStub.Create(Self);
    
    {Classes.pas 第 3829 行:}
    IInterface(List[I]) := nil;
    
    {Classes.pas 第 3916 行:}
    IInterface(List[Result]) := Item;
    
    {Classes.pas 第 3927 行:}
    IInterface(List[Index]) := Item;
    
    {Classes.pas 第 3948 行:}
    IInterface(List[Index]) := Item;
    
    {Classes.pas 第 3961 行:}
    IInterface(List[Result]) := nil;
    
    {Classes.pas 第 5490 行:}
    Integer(Item1^.FString) := Integer(Item2^.FString);
    
    {Classes.pas 第 5491 行:}
    Integer(Item2^.FString) := Temp;
    
    {Classes.pas 第 5493 行:}
    Integer(Item1^.FObject) := Integer(Item2^.FObject);
    
    {Classes.pas 第 5494 行:}
    Integer(Item2^.FObject) := Temp;
    
    {Classes.pas 第 5581 行:}
    Pointer(FString) := nil;
    
    {Classes.pas 第 5913 行:}
    Word((@Header[1])^) := 10;
    
    {Classes.pas 第 5921 行:}
    Word((@Header[HeaderSize - 6])^) := $1030;
    
    {Classes.pas 第 5922 行:}
    Longint((@Header[HeaderSize - 4])^) := 0;
    
    {Classes.pas 第 7407 行:}
    Byte(Flags) := Prefix and $0F;
    
    {Classes.pas 第 8017 行:}
    TPersistentClass(Result) := GetFieldClass(Root, ClassName);
    
    {Classes.pas 第 8019 行:}
    TPersistentClass(Result) := GetFieldClass(FLookupRoot, ClassName);
    
    {Classes.pas 第 10854 行:}
    Integer(LocalSyncList) := InterlockedExchange(Integer(SyncList), Integer(LocalSyncList));
    
    {ComCtrls.pas 第 13344 行:}
    Word((@Text)^) := Length(Text);
    
    {CommCtrl.pas 第 11151 行:}
    HTreeItem(Pointer(@prc)^) := hitem;
    
    {ComObj.pas 第 495 行:}
    IDispatch(Obj) := Self;
    
    {ComObj.pas 第 928 行:}
    Pointer(vObject) := nil;
    
    {ComObj.pas 第 1081 行:}
    Pointer(TypeInfo) := nil;
    
    {ComObj.pas 第 1087 行:}
    ITypeInfo(TypeInfo) := TAutoObjectFactory(Factory).DispTypeInfo;
    
    {ComObj.pas 第 1166 行:}
    Pointer(TypeInfo) := nil;
    
    {ComObj.pas 第 1172 行:}
    ITypeInfo(TypeInfo) := FDispTypeInfo;
    
    {ComServ.pas 第 219 行:}
    Pointer(Obj) := nil;
    
    {ComServ.pas 第 420 行:}
    Integer(Temp) := InterlockedExchange(Integer(FTypeLib), Integer(Temp));
    
    {CtlPanel.pas 第 149 行:}
    TComponent(Reference) := Instance;
    
    {CtlPanel.pas 第 155 行:}
    TComponent(Reference) := nil;
    
    {DB.pas 第 2780 行:}
    Pointer(Buffer) := nil;
    
    {DB.pas 第 6141 行:}
    if Value then Word(B) := 1 else Word(B) := 0;
    
    {DB.pas 第 6200 行:}
    TDateTime(Dest^) := TDateTime(Source^);
    
    {DB.pas 第 6309 行:}
    TSQLTimeStamp(Dest^) := TSQLTimeStamp(Source^);
    
    {DB.pas 第 6852 行:}
    System.Currency(Dest^) := System.Currency(Source^);
    
    {DB.pas 第 7074 行:}
    TBcd(Dest^) := TBcd(Source^);
    
    {DB.pas 第 9650 行:}
    ftSmallint: SmallInt(Buffer^) := GetAsInteger;
    
    {DB.pas 第 9651 行:}
    ftShortint: ShortInt(Buffer^) := GetAsInteger;
    
    {DB.pas 第 9652 行:}
    ftWord: Word(Buffer^) := GetAsInteger;
    
    {DB.pas 第 9653 行:}
    ftLongWord: LongWord(Buffer^) := GetAsLongWord;
    
    {DB.pas 第 9654 行:}
    ftByte: Byte(Buffer^) := GetAsInteger;
    
    {DB.pas 第 9655 行:}
    ftLargeint: LargeInt(Buffer^) := GetAsLargeInt;
    
    {DB.pas 第 9657 行:}
    ftInteger: Integer(Buffer^) := GetAsInteger;
    
    {DB.pas 第 9658 行:}
    ftTime: Integer(Buffer^) := DateTimeToTimeStamp(AsDateTime).Time;
    
    {DB.pas 第 9659 行:}
    ftDate: Integer(Buffer^) := DateTimeToTimeStamp(AsDateTime).Date;
    
    {DB.pas 第 9660 行:}
    ftDateTime:  Double(Buffer^) := TimeStampToMSecs(DateTimeToTimeStamp(AsDateTime));
    
    {DB.pas 第 9662 行:}
    ftFMTBCD: TBcd(Buffer^) := AsFMTBcd;
    
    {DB.pas 第 9664 行:}
    ftFloat: Double(Buffer^) := GetAsFloat;
    
    {DB.pas 第 9665 行:}
    ftTimeStamp:  TSQLTimeStamp(Buffer^) := AsSQLTimeStamp;
    
    {DB.pas 第 9666 行:}
    ftBoolean: Word(Buffer^) := Ord(GetAsBoolean);
    
    {DB.pas 第 11230 行:}
    TDateTimeRec(Dest^) := DateTimeToNative(Field.DataType, TDateTime(Source^)) else
    
    {DB.pas 第 11231 行:}
    TDateTime(Dest^) := NativeToDateTime(Field.DataType, TDateTimeRec(Source^));
    
    {DB.pas 第 11233 行:}
    TSQLTimeStamp(Dest^) := TSQLTimeStamp(Source^);
    
    {DB.pas 第 11242 行:}
    TBcd(Dest^) := TBcd(Source^);
    
    {DBClient.pas 第 2777 行:}
    Boolean(RecBuf[0]) := LongBool(Buffer);
    
    {DBClient.pas 第 2830 行:}
    Word(Dest^) := WStrLen(PWideChar(Source))*2;
    
    {DBPlatform.pas 第 86 行:}
    //  TBcd(Buffer^) := AsFMTBcd
    
    {DBPlatform.pas 第 138 行:}
    TBcd(Pointer(Buffer)^) := value;
    
    {DBPlatform.pas 第 172 行:}
    TObject(PSResult^) := Value;
    
    {DBTables.pas 第 1509 行:}
    Smallint(Pointer(NullPtr)^) := -1;
    
    {DBTables.pas 第 4737 行:}
    Boolean(RecBuf[0]) := LongBool(Buffer);
    
    {DBTables.pas 第 6453 行:}
    TDataSet(ResultSet^) := TDBDataSet.Create(nil);
    
    {DBTables.pas 第 7044 行:}
    Word(bCaseInsensitive) := Word(ixCaseInsensitive in Options);
    
    {DesignEditors.pas 第 1573 行:}
    Integer(S) := GetOrdValue;
    
    {DesignEditors.pas 第 1577 行:}
    Integer(S) := GetOrdValueAt(I);
    
    {DesignEditors.pas 第 1600 行:}
    Integer(S) := GetOrdValue;
    
    {DesignEditors.pas 第 1614 行:}
    Integer(S) := GetOrdValue;
    
    {DesignEditors.pas 第 1641 行:}
    Integer(S) := PPropInfo(GetPropInfo)^.Default;
    
    {DesignEditors.pas 第 1643 行:}
    Integer(S) := GetOrdValue;
    
    {DesignEditors.pas 第 1682 行:}
    Integer(S) := GetOrdValue;
    
    {FileCtrl.pas 第 797 行:}
    Integer(DriveBits) := GetLogicalDrives;
    
    {Forms.pas 第 9730 行:}
    TComponent(Reference) := Instance;
    
    {Forms.pas 第 9734 行:}
    TComponent(Reference) := nil;
    
    {Graphics.pas 第 7151 行:}
    Integer(Colors[I]) := NewColor;
    
    {Graphics.pas 第 7230 行:}
    Integer(Colors[I]) := NewColor;
    
    {Graphics.pas 第 7425 行:}
    Integer(BI^.bmiColors[0]) := 0;
    
    {Graphics.pas 第 8139 行:}
    Integer(Result) := Integer(bmBits) +
    
    {IBCustomDataSet.pas 第 3458 行:}
    Boolean(TmpBuff[0]) := LongBool(Buffer);
    
    {IBCustomDataSet.pas 第 3654 行:}
    TDataSet(ResultSet^) := TIBDataSet.Create(nil);
    
    {IdBlockCipherIntercept.pas 第 207 行:}
    TIdBlockCipherInterceptDataEvent(FOnReceive):= Value;
    
    {IdBlockCipherIntercept.pas 第 212 行:}
    TIdBlockCipherInterceptDataEvent(FOnSend):= Value;
    
    {IdStackBSDBase.pas 第 368 行:}
    TIdIPv6Address(TIdIn6Addr(AInAddr).s6_addr16) := HostToNetwork(LAddress);
    
    {InvokeRegistry.pas 第 3316 行:}
    Variant( PVarData(VarToClear[I])^) := NULL;
    
    {InvokeRegistry.pas 第 3460 行:}
    Variant(PVarData(P)^) := NULL;
    
    {InvokeRegistry.pas 第 3510 行:}
    Variant( PVarData(P)^ ) := NULL;
    
    {ISAPIApp.pas 第 84 行:}
    Integer(Result) := 1; // This is so that the Apache web server will know what "True" really is
    
    {ISAPIApp.pas 第 127 行:}
    Integer(Result) := 1; // This is so that the Apache web server will know what "True" really is
    
    {jpeg.pas 第 1251 行:}
    DWORD(last_time) := Ticks;
    
    {jpeg.pas 第 1517 行:}
    Byte(cinfo.colormap^[2]^[I]) := Pal.palPalEntry[I].peRed;
    
    {jpeg.pas 第 1518 行:}
    Byte(cinfo.colormap^[1]^[I]) := Pal.palPalEntry[I].peGreen;
    
    {jpeg.pas 第 1519 行:}
    Byte(cinfo.colormap^[0]^[I]) := Pal.palPalEntry[I].peBlue;
    
    {Math.pas 第 968 行:}
    FMUL   // ST(1) := ST * ST(1); Pop ST
    
    {Math.pas 第 1046 行:}
    { Log.10(X) := Log.2(X) * Log.10(2) }
    
    {Math.pas 第 1063 行:}
    { Log.N(X) := Log.2(X) / Log.2(N) }
    
    {Math.pas 第 1998 行:}
    FADDP  ST(3),ST  // ST(3) := ST + ST(3); Pop ST
    
    {Math.pas 第 1999 行:}
    FADD   // ST(1) := ST + ST(1); Pop ST
    
    {Math.pas 第 2000 行:}
    FADD   // ST(1) := ST + ST(1); Pop ST
    
    {Math.pas 第 2545 行:}
    Byte(Result) := Get8087CW and $3F;
    
    {Math.pas 第 2554 行:}
    Byte(Result) := CtlWord and $3F;
    
    {Mxarrays.pas 第 1564 行:}
    Integer(Item1^.FString) := Integer(Item2^.FString);
    
    {Mxarrays.pas 第 1565 行:}
    Integer(Item2^.FString) := Temp;
    
    {Mxarrays.pas 第 1567 行:}
    Integer(Item1^.FObject) := Integer(Item2^.FObject);
    
    {Mxarrays.pas 第 1568 行:}
    Integer(Item2^.FObject) := Temp;
    
    {Mxarrays.pas 第 1666 行:}
    Pointer(PStringItemList(FMemory)^[Index].FString) := nil;
    
    {OleAuto.pas 第 835 行:}
    Pointer(Obj) := nil;
    
    {OleAuto.pas 第 1148 行:}
    for K := 0 to StrCount - 1 do string(Strings[K].PStr) := '';
    
    {OleAuto.pas 第 1319 行:}
    Pointer(obj) := FAutoDispatch;
    
    {OleAuto.pas 第 1324 行:}
    Pointer(obj) := nil;
    
    {OleAuto.pas 第 1354 行:}
    Pointer(obj) := Self;
    
    {OleAuto.pas 第 1359 行:}
    Pointer(obj) := nil;
    
    {OleAuto.pas 第 1382 行:}
    Pointer(obj) := nil;
    
    {OleCtnrs.pas 第 2023 行:}
    Pointer(obj) := nil;
    
    {OleCtrls.pas 第 452 行:}
    Pointer(TypeInfo) := nil;
    
    {OleCtrls.pas 第 1397 行:}
    Pointer(Result) := Temp.VOleStr;
    
    {OleCtrls.pas 第 1555 行:}
    string(Strings[K].PStr) := '';
    
    {OleCtrls.pas 第 2210 行:}
    Word(Args^[1].VPointer^) := Key;
    
    {OleCtrls.pas 第 2218 行:}
    Char(Args^[0].VPointer^) := Ch;
    
    {OleCtrls.pas 第 2730 行:}
    Pointer(TypeInfo) := nil;
    
    {OleServer.pas 第 162 行:}
    Pointer(TypeInfo) := nil;
    
    {OPToSOAPDomConv.pas 第 2185 行:}
    Variant(PVarData(InvData)^) := NULL;
    
    {OPToSOAPDomConv.pas 第 2189 行:}
    Variant(PVarData(InvData)^) := ReadVarArrayDim(Node, IsVarray, VT)
    
    {OPToSOAPDomConv.pas 第 2200 行:}
    Variant(PVarData(InvData)^) := XMLTimeToDateTime(Node.Text);
    
    {OPToSOAPDomConv.pas 第 2570 行:}
    Variant(PVarData(P)^) := NULL;
    
    {OPToSOAPDomConv.pas 第 2572 行:}
    Variant(PVarData(P)^) := ReadVarArrayDim(Node)
    
    {OPToSOAPDomConv.pas 第 2585 行:}
    Variant(PVarData(P)^) := XMLTimeToDateTime(Node.Text);
    
    {OPToSOAPDomConv.pas 第 2587 行:}
    Variant(PVarData(P)^) :=  TypeTranslator.CastSoapToVariant(SoapTypeInfo, GetNodeAsText(Node));
    
    {OPToSOAPDomConv.pas 第 4811 行:}
    Variant(PVarData(DataP)^) := NULL;
    
    {Outline.pas 第 499 行:}
    Word(Pointer(BufPtr)^) := $0A0D;
    
    {pngimage.pas 第 3169 行:}
    Longint(Data) := Longint(Header.ImageData) +
    
    {pngimage.pas 第 3173 行:}
    Longint(Extra) := Longint(Header.ExtraImageData) +
    
    {pngimage.pas 第 3625 行:}
    Longint(Data) := Longint(Header.ImageData) +
    
    {pngimage.pas 第 4615 行:}
    Longint(ImageSource) := Longint(Header.ImageData) +
    
    {pngimage.pas 第 4651 行:}
    Longint(ImageSource) := Longint(ImageSourceOrg) - BytesPerRowSrc * j2;
    
    {pngimage.pas 第 4652 行:}
    Longint(AlphaSource) := Longint(Header.ImageAlpha) +
    
    {pngimage.pas 第 4672 行:}
    Longint(ImageData) := Longint(ImageData) + BytesPerRowDest;
    
    {pngimage.pas 第 4674 行:}
    Longint(ImageSource) := Longint(ImageSourceOrg) - BytesPerRowSrc * j2;
    
    {pngimage.pas 第 4675 行:}
    Longint(AlphaSource) := Longint(Header.ImageAlpha) +
    
    {pngimage.pas 第 4721 行:}
    Longint(ImageData) := Longint(ImageData) + BytesPerRowDest;
    
    {pngimage.pas 第 4723 行:}
    Longint(ImageSource) := Longint(ImageSourceOrg) - BytesPerRowSrc * j2;
    
    {pngimage.pas 第 5169 行:}
    Longint(Result) := Longint(ImageAlpha) + (LineIndex * Longint(Width))
    
    {pngimage.pas 第 5178 行:}
    Longint(Result) := (Longint(ExtraImageData) + ((Longint(Height) - 1) *
    
    {pngimage.pas 第 5187 行:}
    Longint(Result) := (Longint(ImageData) + ((Longint(Height) - 1) *
    
    {PrivateHeap.pas 第 107 行:}
    Pointer(P) := Windows.HeapAlloc(Handle, FAllocationFlags, Size);
    
    {Provider.pas 第 859 行:}
    TInfoArray(Info[i].FieldInfos) := nil;
    
    {Provider.pas 第 1721 行:}
    TInfoArray(FieldInfos) := InitPutProcs(DataSet, GlobalIdx);
    
    {Rio.pas 第 597 行:}
    Pointer(Obj) := IntfTableP;
    
    {Rio.pas 第 607 行:}
    Pointer(Obj) := IntfTableP;
    
    {SConnect.pas 第 800 行:}
    OleVariant(Dest) := OleVariant(Source)
    
    {StdCtrls.pas 第 2650 行:}
    Word((@Text)^) := Length(Text);
    
    {StFilSys.pas 第 417 行:}
    TObject(Result) := FActiveTStringsProperties.Objects[Index]
    
    {StFilSys.pas 第 460 行:}
    TObject(ActiveTStringsProperty) := FActiveTStringsProperties.Objects[Index];
    
    {SvcMgr.pas 第 1082 行:}
    TComponent(Reference) := InstanceClass.Create(Self);
    
    {SvcMgr.pas 第 1084 行:}
    TComponent(Reference) := nil;
    
    {System.pas 第 4723 行:}
    Byte(s^[0]) := newLength;   // should also fill new space
    
    {System.pas 第 4728 行:}
    Byte(s^[0]) := len;
    
    {System.pas 第 5845 行:}
    Byte(Dest^[0]) := MaxLen;
    
    {System.pas 第 8239 行:}
    Byte(Dest^[0]) := I;
    
    {System.pas 第 8284 行:}
    Byte(Dest^[0]) := Len;
    
    {System.pas 第 9706 行:}
    Pointer(Result) := PPointer(Self)^;
    
    {System.pas 第 9765 行:}
    Pointer(Result) := PPointer(Integer(Self) + vmtParent)^;
    
    {System.pas 第 9767 行:}
    Pointer(Result) := PPointer(Result)^;
    
    {System.pas 第 9983 行:}
    Pointer(Obj) := nil;
    
    {System.pas 第 9989 行:}
    Pointer(Obj) := Pointer(Integer(Self) + InterfaceEntry^.IOffset);
    
    {System.pas 第 9993 行:}
    IInterface(Obj) := InvokeImplGetter(Self, InterfaceEntry^.ImplGetter);
    
    {System.pas 第 13854 行:}
    Pointer(S) := nil;
    
    {System.pas 第 13957 行:}
    Pointer(dest) := S;
    
    {System.pas 第 14023 行:}
    Pointer(dest) := Pointer(source);
    
    {System.pas 第 14738 行:}
    @@theHardWay: // s(*EAX,ECX) := source1(EDX) + s(ECX)
    
    {System.pas 第 16164 行:}
    Pointer(Dest) := _NewWideString(CharLength);
    
    {System.pas 第 16169 行:}
    Pointer(Dest) := nil;
    
    {System.pas 第 16856 行:}
    Pointer(dest) := S;
    
    {System.pas 第 17035 行:}
    Pointer(Dest) := _NewUnicodeString(CharLength);
    
    {System.pas 第 17040 行:}
    Pointer(Dest) := nil;
    
    {System.pas 第 17489 行:}
    @@theHardWay: // s(*EAX,ECX) := source1(EDX) + s(ECX)
    
    {System.pas 第 21398 行:}
    Pointer(Dest) := nil;
    
    {System.pas 第 21425 行:}
    Pointer(Dest) := Pointer(Source);
    
    {SysUtils.pas 第 8489 行:}
    Cardinal(Pointer(Result)^) := Size;
    
    {SysUtils.pas 第 8499 行:}
    Cardinal(Pointer(Result)^) := Size;
    
    {SysUtils.pas 第 16910 行:}
    Integer(ConvertedAddress) := Integer(ExceptAddr) - Integer(Info.AllocationBase);
    
    {SysUtils.pas 第 20628 行:}
    Pointer(Obj) := nil;
    
    {TreeIntf.pas 第 3949 行:}
    IInterface(LStgMedium.stm) := LDragSprigs;
    
    {TypeTrans.pas 第 125 行:}
    Variant(PVarData(NatData)^) := SoapData;
    
    {TypeTrans.pas 第 127 行:}
    Variant(PVarData(NatData)^) := StrToInt64(Trim(SoapData));
    
    {TypeTrans.pas 第 129 行:}
    Variant(PVarData(NatData)^) := StrToInt(Trim(SoapData));
    
    {TypeTrans.pas 第 131 行:}
    Variant(PVarData(NatData)^) := StrToFloatEx(Trim(SoapData));
    
    {TypeTrans.pas 第 134 行:}
    Variant(PVarData(NatData)^) := WideString(SoapData);
    
    {TypeTrans.pas 第 137 行:}
    Variant(PVarData(NatData)^) := UnicodeString(SoapData);
    
    {TypeTrans.pas 第 317 行:}
    Variant(PVarData(NatData)^) := NULL;
    
    {TypInfo.pas 第 815 行:}
    Variant(Dest) := GetPropValue(GetInstance(V), Name);
    
    {TypInfo.pas 第 1586 行:}
    Integer(S) := Value;
    
    {VarCmplx.pas 第 1054 行:}
    Variant(Left) := Variant(Left) + TComplexVarData(Right).VComplex.AsString;
    
    {VarConv.pas 第 154 行:}
    Variant(Left) := Variant(Left) + VarConvertCreate(LValue, LType)
    
    {VarConv.pas 第 162 行:}
    Variant(Left) := Variant(Left) - VarConvertCreate(LValue, LType)
    
    {VarConv.pas 第 178 行:}
    Variant(Left) := Variant(Left) / VarConvertCreate(LValue, LType)
    
    {VarConv.pas 第 186 行:}
    Variant(Left) := Variant(Left) div VarConvertCreate(LValue, LType)
    
    {VarConv.pas 第 226 行:}
    Variant(Left) := TConvertVarData(Left).VValue /
    
    {VarConv.pas 第 231 行:}
    Variant(Left) := Int(TConvertVarData(Left).VValue /
    
    {VarConv.pas 第 358 行:}
    Variant(Dest) := TConvertVarData(V).VValue
    
    {VarConv.pas 第 360 行:}
    Variant(Dest) := TConvertVarData(V).VConvType
    
    {VarConv.pas 第 362 行:}
    Variant(Dest) := ConvTypeToDescription(TConvertVarData(V).VConvType)
    
    {VarConv.pas 第 364 行:}
    Variant(Dest) := ConvTypeToFamily(TConvertVarData(V).VConvType)
    
    {VarConv.pas 第 366 行:}
    Variant(Dest) := ConvFamilyToDescription(ConvTypeToFamily(TConvertVarData(V).VConvType))
    
    {Variants.pas 第 733 行:}
    AnsiString(V.VString) := '';
    
    {Variants.pas 第 740 行:}
    UnicodeString(V.VUString) := '';
    
    {Variants.pas 第 949 行:}
    AnsiString(Dest.VString) := AnsiString(Source.VString);
    
    {Variants.pas 第 957 行:}
    UnicodeString(Dest.VUString) := UnicodeString(Source.VUString);
    
    {Variants.pas 第 1038 行:}
    varSmallint: Variant(Dest) := PSmallint(Source.VPointer)^;
    
    {Variants.pas 第 1039 行:}
    varInteger:  Variant(Dest) := PInteger(Source.VPointer)^;
    
    {Variants.pas 第 1040 行:}
    varSingle:   Variant(Dest) := PSingle(Source.VPointer)^;
    
    {Variants.pas 第 1041 行:}
    varDouble:   Variant(Dest) := PDouble(Source.VPointer)^;
    
    {Variants.pas 第 1042 行:}
    varCurrency: Variant(Dest) := PCurrency(Source.VPointer)^;
    
    {Variants.pas 第 1043 行:}
    varDate:   Variant(Dest) := PDate(Source.VPointer)^;
    
    {Variants.pas 第 1044 行:}
    varOleStr:   Variant(Dest) := VarCopyNoIndOleStr(Source);
    
    {Variants.pas 第 1045 行:}
    varBoolean:  Variant(Dest) := PWordBool(Source.VPointer)^;
    
    {Variants.pas 第 1046 行:}
    varShortInt: Variant(Dest) := PShortInt(Source.VPointer)^;
    
    {Variants.pas 第 1047 行:}
    varByte:   Variant(Dest) := PByte(Source.VPointer)^;
    
    {Variants.pas 第 1048 行:}
    varWord:   Variant(Dest) := PWord(Source.VPointer)^;
    
    {Variants.pas 第 1049 行:}
    varLongWord: Variant(Dest) := PLongWord(Source.VPointer)^;
    
    {Variants.pas 第 1050 行:}
    varInt64:  Variant(Dest) := PInt64(Source.VPointer)^;
    
    {Variants.pas 第 1051 行:}
    varUInt64:   Variant(Dest) := PUInt64(Source.VPointer)^;
    
    {Variants.pas 第 2442 行:}
    ShortString(S) := LTemp;
    
    {Variants.pas 第 2916 行:}
    AnsiString(V.VString) := Value;
    
    {Variants.pas 第 2930 行:}
    WideString(Pointer(V.VOleStr)) := Copy(Value, 1, MaxInt);
    
    {Variants.pas 第 2939 行:}
    UnicodeString(V.VUString) := Value;
    
    {Variants.pas 第 2953 行:}
    IInterface(V.VUnknown) := Value;
    
    {Variants.pas 第 2962 行:}
    IInterface(V.VDispatch) := Value;
    
    {Variants.pas 第 3588 行:}
    opAnd:  Variant(Left) := _VarToBoolean(Left) and _VarToBoolean(Right);
    
    {Variants.pas 第 3589 行:}
    opOr :  Variant(Left) := _VarToBoolean(Left) or _VarToBoolean(Right);
    
    {Variants.pas 第 3590 行:}
    opXor:  Variant(Left) := _VarToBoolean(Left) xor _VarToBoolean(Right);
    
    {Variants.pas 第 4049 行:}
    Variant(Dest) := -_VarToDouble(Dest);
    
    {Variants.pas 第 4059 行:}
    Variant(Dest) := -PVariant(Source)^;
    
    {Variants.pas 第 4143 行:}
    varSmallint: Variant(Dest) := -PSmallint(Dest.VPointer)^;
    
    {Variants.pas 第 4144 行:}
    varInteger:  Variant(Dest) := -PInteger(Dest.VPointer)^;
    
    {Variants.pas 第 4145 行:}
    varSingle:   Variant(Dest) := -PSingle(Dest.VPointer)^;
    
    {Variants.pas 第 4146 行:}
    varDouble:   Variant(Dest) := -PDouble(Dest.VPointer)^;
    
    {Variants.pas 第 4147 行:}
    varCurrency: Variant(Dest) := -PCurrency(Dest.VPointer)^;
    
    {Variants.pas 第 4148 行:}
    varDate:   Variant(Dest) := -PDate(Dest.VPointer)^;
    
    {Variants.pas 第 4151 行:}
    varShortInt: Variant(Dest) := -PShortInt(Dest.VPointer)^;
    
    {Variants.pas 第 4155 行:}
    varInt64:  Variant(Dest) := -PInt64(Dest.VPointer)^;
    
    {Variants.pas 第 4183 行:}
    Variant(Dest) := not LInteger;
    
    {Variants.pas 第 4186 行:}
    Variant(Dest) := not LInteger
    
    {Variants.pas 第 4188 行:}
    Variant(Dest) := not _VarToBoolean(Dest);
    
    {Variants.pas 第 4202 行:}
    Variant(Dest) := not Integer(LVal64)
    
    {Variants.pas 第 4204 行:}
    Variant(Dest) := not LVal64;
    
    {Variants.pas 第 4214 行:}
    Variant(Dest) := not PVariant(Source)^;
    
    {Variants.pas 第 4235 行:}
    varEmpty:  Variant(Dest) := -1;
    
    {Variants.pas 第 4264 行:}
    varSmallInt: Variant(Dest) := not PSmallInt(Dest.VPointer)^;
    
    {Variants.pas 第 4265 行:}
    varInteger:  Variant(Dest) := not PInteger(Dest.VPointer)^;
    
    {Variants.pas 第 4271 行:}
    varBoolean:  Variant(Dest) := not PWordBool(Dest.VPointer)^;
    
    {Variants.pas 第 4272 行:}
    varShortInt: Variant(Dest) := not PShortInt(Dest.VPointer)^;
    
    {Variants.pas 第 4273 行:}
    varByte:   Variant(Dest) := not PByte(Dest.VPointer)^;
    
    {Variants.pas 第 4274 行:}
    varWord:   Variant(Dest) := not PWord(Dest.VPointer)^;
    
    {Variants.pas 第 4275 行:}
    varLongWord: Variant(Dest) := not PLongWord(Dest.VPointer)^;
    
    {Variants.pas 第 4276 行:}
    varInt64:  Variant(Dest) := not PInt64(Dest.VPointer)^;
    
    {Variants.pas 第 4277 行:}
    varUInt64:   Variant(Dest) := not PUInt64(Dest.VPointer)^;
    
    {VarUtils.pas 第 344 行:}
    WideString(Pointer(V.VOleStr)) := '';
    
    {VarUtils.pas 第 346 行:}
    IUnknown(V.VDispatch) := nil;
    
    {VarUtils.pas 第 350 行:}
    IUnknown(V.VUnknown) := nil;
    
    {VarUtils.pas 第 389 行:}
    WideString(Pointer(Dest.VOleStr)) := Copy(Source.VOleStr, 1, MaxInt);
    
    {VarUtils.pas 第 391 行:}
    IUnknown(Dest.VDispatch) := IUnknown(Source.VDispatch);
    
    {VarUtils.pas 第 395 行:}
    IUnknown(Dest.VUnknown) := IUnknown(Source.VUnknown);
    
    {VarUtils.pas 第 433 行:}
    WideString(Pointer(Dest.VOleStr)) := Copy(PPWideChar(Source.VPointer)^, 1, MaxInt);
    
    {VarUtils.pas 第 435 行:}
    IUnknown(Dest.VDispatch) := IUnknown(PDispatch(Source.VPointer)^);
    
    {VarUtils.pas 第 441 行:}
    Variant(Dest) := PVariant(Source.VPointer)^; { this in turn will cause a VarCopy[Ind] }
    
    {VarUtils.pas 第 443 行:}
    IUnknown(Dest.VUnknown) := IUnknown(PUnknown(Source.VPointer)^);
    
    {VarUtils.pas 第 615 行:}
    WideString(Pointer(Dest.VOleStr)) := IntToStr(LSource.VSmallInt);
    
    {VarUtils.pas 第 645 行:}
    WideString(Pointer(Dest.VOleStr)) := IntToStr(LSource.VInteger);
    
    {VarUtils.pas 第 675 行:}
    WideString(Pointer(Dest.VOleStr)) := FloatToStr(LSource.VSingle);
    
    {VarUtils.pas 第 705 行:}
    WideString(Pointer(Dest.VOleStr)) := FloatToStr(LSource.VDouble);
    
    {VarUtils.pas 第 735 行:}
    WideString(Pointer(Dest.VOleStr)) := CurrToStr(LSource.VCurrency);
    
    {VarUtils.pas 第 767 行:}
    WideString(Pointer(Dest.VOleStr)) := TimeToStr(LSource.VDate)
    
    {VarUtils.pas 第 769 行:}
    WideString(Pointer(Dest.VOleStr)) := DateTimeToStr(LSource.VDate);
    
    {VarUtils.pas 第 800 行:}
    WideString(Pointer(Dest.VOleStr)) := Copy(LSource.VOleStr, 1, MaxInt);
    
    {VarUtils.pas 第 834 行:}
    WideString(Pointer(Dest.VOleStr)) := BoolToStr(LSource.VBoolean);
    
    {VarUtils.pas 第 864 行:}
    WideString(Pointer(Dest.VOleStr)) := PVariant(LSource.VPointer)^;
    
    {VarUtils.pas 第 900 行:}
    WideString(Pointer(Dest.VOleStr)) := IntToStr(LSource.VSmallInt);
    
    {VarUtils.pas 第 930 行:}
    WideString(Pointer(Dest.VOleStr)) := IntToStr(LSource.VByte);
    
    {VarUtils.pas 第 960 行:}
    WideString(Pointer(Dest.VOleStr)) := IntToStr(LSource.VWord);
    
    {VarUtils.pas 第 990 行:}
    WideString(Pointer(Dest.VOleStr)) := IntToStr(LSource.VLongWord);
    
    {VarUtils.pas 第 1361 行:}
    IUnknown(PUnknown(LAddress)^) := nil;
    
    {VarUtils.pas 第 1363 行:}
    WideString(PPointer(LAddress)^) := '';
    
    {VarUtils.pas 第 1414 行:}
    IUnknown(PUnknown(LTarget)^) := IUnknown(PUnknown(LSource)^);
    
    {VarUtils.pas 第 1416 行:}
    WideString(PPointer(LTarget)^) := Copy(PPWideChar(LSource)^, 1, MaxInt);
    
    {VarUtils.pas 第 1655 行:}
    IUnknown(PUnknown(LAddress)^) := nil;
    
    {VarUtils.pas 第 1657 行:}
    WideString(PPointer(LAddress)^) := '';
    
    {VarUtils.pas 第 1908 行:}
    IUnknown(PUnknown(Data)^) := IUnknown(PUnknown(LAddress)^);
    
    {VarUtils.pas 第 1910 行:}
    WideString(PPointer(Data)^) := Copy(PPWideChar(LAddress)^, 1, MaxInt);
    
    {VarUtils.pas 第 1951 行:}
    IUnknown(PUnknown(LAddress)^) := IUnknown(PUnknown(Data)^);
    
    {VarUtils.pas 第 1953 行:}
    WideString(PPointer(LAddress)^) := Copy(PWideChar(Data), 1, MaxInt);
    
    {WebContnrs.pas 第 400 行:}
    Pointer(FString) := nil;
    
    {WideStrings.pas 第 1068 行:}
    Integer(Item1^.FString) := Integer(Item2^.FString);
    
    {WideStrings.pas 第 1069 行:}
    Integer(Item2^.FString) := Temp;
    
    {WideStrings.pas 第 1071 行:}
    Integer(Item1^.FObject) := Integer(Item2^.FObject);
    
    {WideStrings.pas 第 1072 行:}
    Integer(Item2^.FObject) := Temp;
    
    {WideStrings.pas 第 1159 行:}
    Pointer(FString) := nil;
    
    {WideStrUtils.pas 第 160 行:}
    Cardinal(Pointer(Result)^) := Size;
    
    {WSDLImpWriter.pas 第 3749 行:}
    Integer(S) := Value;
    
    {XPStrings.pas 第 157 行:}
    string(Element) := FStrings[FCurrent]
    
    {XPStrings.pas 第 171 行:}
    string(Element) := FStrings[FCurrent]
    
    {XPTestedUnitUtils.pas 第 486 行:}
    IXPParserNode(Element) := GetObserver(FIteratorIndex) as IXPParserNode;
    
  • 相关阅读:
    135编辑器使用教程
    gitalb的搭建与使用
    关于String类型,转换BigDecimal .并且BigDecimal 的乘法计算
    关于MAP转换成驼峰命名法然后转换成实体
    java时间计算,获取某月第一天和最后一天
    Spring 自带的定时任务
    Hibernate jpa 在实体类中对于时间的注解
    noip2014总结
    sroHOBOorz来自HOBO的高精类
    2014年9月6日
  • 原文地址:https://www.cnblogs.com/del/p/1373593.html
Copyright © 2020-2023  润新知