飘云 发表于 2005-9-30 23:20:03

msvbvm60中函数介绍(重新整理)

Variant 变量的内部表示:
_______________________________________________________________
符号常量            值         内部表示                  字节数
V_EMPTY             0          Empty
V_NULL            1          Null
V_INTEGER         2          Interger                  2
V_LONG            3          Long                      4
V_SINGLE            4          Single                  4
V_DOUBLE            5          Double                  8
V_CURRENCY          6          Currency                  8
V_DATE            7          Date                      8
V_STRING            8          String
V_OLE               9          OLE Automation Object
V_ERROR             10         Error
V_BOOLEAN         11         Boolean                   2
V_VARIANT         12         Variant(仅用于变体数组)   16(22)      
V_OBJECT            13         Object(非OLE自动化对象)   4
V_BYTE            17         Byte                      1
V_ARRAY             8192       Array
________________________________________________________________


__vbaVarMove      ;变体变量赋值(一般用于数值变量)

lea edx,var1            ;变量1的地址放到edx
lea ecx,var2            ;变量2的地址放到ecx
call __vbaVarMove       ;把变量1赋值给变量2
;-------------------------------------------------
__vbaVarCopy      ;变体变量赋值(一般用于字符串变量)

lea edx,var1            ;变量1的地址放到edx
lea ecx,var2            ;变量2的地址放到ecx
call __vbaVarMove       ;把变量1赋值给变量2
;-------------------------------------------------

__vbaVarAdd       ;变体变量相加 +

lea eax,var1
push eax                ;加数1
lea ecx,var2
push ecx                ;加数2
lea edx,var3
push edx                ;结果
call __vbaVarAdd      ;变量相加,在eax中返回
;-------------------------------------------------

__vbaVarSub      ;变体变量相减 -

lea eax,var1
push eax                ;被减数
lea ecx,var2
push ecx                ;减数
lea edx,var3
push edx                ;结果
call __vbaVarSub      ;变量相减,在eax中返回
;-------------------------------------------------

__vbaVarMul      ;变体变量相乘 *

lea eax,var1
push eax                ;被乘数
lea ecx,var2
push ecx                ;乘数
lea edx,var3
push edx                ;结果
call __vbaVarMul      ;变量相乘,在eax中返回
;-------------------------------------------------

__vbaVarDiv      ;变体变量相除(浮点除法)/

lea eax,var1
push eax                ;被除数
lea ecx,var2
push ecx                ;除数
lea edx,var3
push edx                ;结果
call __vbaVarDiv      ;变量相除,在eax中返回
;------------------------------------------------

__vbaVarIdiv      ;变体变量相除(整数除法)\

lea eax,var1
push eax                ;被除数
lea ecx,var2
push ecx                ;除数
lea edx,var3
push edx                ;结果
call __vbaVarIdiv       ;变量相除,在eax中返回
;------------------------------------------------
__vbaVarMod         ;变体变量取模运算 Mod

lea eax,var1
push eax                ;被除数
lea ecx,var2
push ecx                ;除数
lea edx,var3
push edx                ;结果
call __vbaVarMod      ;变量去模,在eax中返回
;------------------------------------------------
__vbaVarNeg         ;变体变量前加负号 -

lea eax,var1
push eax                ;变量
lea ecx,var2
push ecx                ;结果
call __vbaVarNeg      ;对变量取补
;------------------------------------------------
__vbaVarPow         ;变体变量求幂 ^

lea eax,var1
push eax                ;底数
lea ecx,var2
push ecx                ;指数
lea edx,var3
push edx                ;结果
call __vbaVarPow    ;求幂,在eax中返回
;------------------------------------------------
__vbaVarTstGt       ;关系运算 >

lea eax,var1
push eax                ;变量1
lea eax,var2
push eax                ;变量2
call __vbaVarTstGt;if var1 > var2 then ax = &Hffff
                  ;else ax = 0
                  ;end if
;------------------------------------------------
__vbaVarTstGe       ;关系运算 >=

lea eax,var1
push eax                ;变量1
lea eax,var2
push eax                ;变量2
call __vbaVarTstGe;if var1 >= var2 then ax = &Hffff
                  ;else ax = 0
                  ;end if
;------------------------------------------------
__vbaVarTstEq       ;关系运算 =   

lea eax,var1
push eax                ;变量1
lea eax,var2
push eax                ;变量2
call __vbaVarTstEq;if var1 = var2 then ax = &Hffff
                  ;else ax = 0
                  ;end if   
;------------------------------------------------
__vbaVarTstNe       ;关系运算 <>

lea eax,var1
push eax                ;变量1
lea eax,var2
push eax                ;变量2
call __vbaVarTstNe;if var1 <> var2 then ax = &Hffff
                  ;else ax = 0
                  ;end if         
;------------------------------------------------
__vbaVarTstLt      ;关系运算 <

lea eax,var1
push eax                ;变量1
lea eax,var2
push eax                ;变量2
call __vbaVarTstLt;if var1 < var2 then ax = &Hffff
                  ;else ax = 0
                  ;end if   
;------------------------------------------------
__vbaVarTstLe      ;关系运算 <=

lea eax,var1
push eax                ;变量1
lea eax,var2
push eax                ;变量2
call __vbaVarTstLe;if var1 <= var2 then ax = &Hffff
                  ;else ax = 0
                  ;end if   
;------------------------------------------------                                                   
__vbaVarAnd         ;逻辑运算 And

lea eax,var1
push eax               ;变量1
lea ecx,var2
push ecx               ;变量2
lea edx,var3
push edx               ;结果
call __vbaVarAnd    ;逻辑运算,在eax中返回
;------------------------------------------------
__vbaVarOr          ;逻辑运算 Or

lea eax,var1
push eax               ;变量1
lea ecx,var2
push ecx               ;变量2
lea edx,var3
push edx               ;结果
call __vbaVarOr   ;逻辑运算,在eax中返回
;------------------------------------------------
__vbaVarXor         ;逻辑运算 Xor

lea eax,var1
push eax               ;变量1
lea ecx,var2
push ecx               ;变量2
lea edx,var3
push edx               ;结果
call __vbaVarXor    ;逻辑运算,在eax中返回
;------------------------------------------------
__vbaVarEqv         ;逻辑运算 Eqv

lea eax,var1
push eax               ;变量1
lea ecx,var2
push ecx               ;变量2
lea edx,var3
push edx               ;结果
call __vbaVarEqv    ;逻辑运算,在eax中返回
;------------------------------------------------
__vbaVarImp         ;逻辑运算 Imp

lea eax,var1
push eax               ;变量1
lea ecx,var2
push ecx               ;变量2
lea edx,var3
push edx               ;结果
call __vbaVarImp    ;逻辑运算,在eax中返回
;------------------------------------------------
__vbaVarNot         ;逻辑运算 Not

lea eax,var1
push eax               ;变量1
lea ecx,var2
push ecx               ;结果
call __vbaVarNot    ;逻辑运算,在eax中返回
;------------------------------------------------
;------------------------------------------------下面是函数
lea eax,var1      ;函数 Abs(num)
push eax               ;参数1 数值型
lea ecx,var2
push ecx               ;结果
call __vbaVarAbs         ;在eax中返回 结果
;------------------------------------------------
rtcAnsiValueBstr    ;函数 Asc(string)

lea eax,var1
push eax               ;参数1 字符串型
call rtcAnsiValueBstr    ;结果在eax中返回 interger
;------------------------------------------------
MSVBVM60.#585       ;函数 Atn(num)

push ecx               ;参数 浮点数,用8个字节
push ecx
CALL MSVBVM60.#585       ;结果在浮点栈中返回
;------------------------------------------------
rtcVarBstrFromAnsi;函数 Chr(interger)

push eax               ;参数1 整型
call rtcVarBstrFromAnsi;结果在eax中返回 string
;------------------------------------------------
rtcCommandVar       ;函数 Command()   #670

push eax               ;参数1 字符串
call rtcCommandVar       ;结果在eax中返回 string
;------------------------------------------------
rtcCos            ;函数 Cos(num)    #583

call rtcCos            ;输入参数在当前栈顶,8个字节,注意是浮点型
fstp st                  ;结果在浮点栈顶
;------------------------------------------------
rtcCurrentDir       ;函数 curdir(string) #647

lea eax,var1             ;参数1 字符串
push eax
lea edx,var2             ;结果
push edx
call rtcCurrentDir       ;结果在eax中返回
;-------------------------------------------------
rtcGetDateVar       ;函数 Date#610

lea edx,var1             ;结果
push edx
call rtcGetDateVar       ;结果在eax中返回,日期型(Date)
;-------------------------------------------------
rtcDateAdd          ;函数 DateAdd(string,double,date) #661

push date                ;8字节日期date
push double            ;8字节浮点数double
push string            ;1字节字符的ASCII码,这里是地址
push var1                ;结果,日期型(date)
call rtcDateAdd          ;结果在eax中返回,日期型(Date)
;--------------------------------------------------
rtcDateDiff         ;函数 DateDiff(string,date1,date2,...,...) #662

push 1                   ;默认值
push 1                   ;默认值
lea eax,var1             ;日期2
push eax
lea ecx,var2             ;日期1
push ecx
lea edx,var3             ;字符串
push edx
lea eax,var4             ;结果
push eax
call rtcDateDiff         ;结果在eax中返回,长整型(long)
;---------------------------------------------------
rtcDatePart         ;函数 DatePart(string,date,...,...)#663

push 1                   ;默认值
push 1                   ;默认值
lea eax,var1             ;日期
push eax
lea ecx,var2             ;字符串
push ecx
lea edx,var3             ;结果
push edx
call rtcDatePart         ;结果在eax中返回
;----------------------------------------------------
rtcPackDate         ;函数 DateSerial(integer,integer,integer) #538

lea eax,var1             ;日
push eax
lea ecx,var2             ;月
push ecx
lea edx,var3             ;年
push edx
lea eax,var4             ;结果
push eax
call rtcPackDate         ;结果在eax中返回,日期型(Date)
;-----------------------------------------------------
rtcGetDateValue   ;函数 DateValue(string)

lea eax,var1             ;字符串
push eax
lea edx,var2             ;结果
push edx
call rtcGetDateValue   ;结果在eax中返回,日期型(Date)
;-----------------------------------------------------
rtcGetDayOfMonth    ;函数 Day(date) #542

lea eax,var1             ;日期
push eax
lea ecx,var2             ;结果
push ecx
call rtcGetDayOfMonth    ;结果在eax中返回,整型
;-----------------------------------------------------
rtcDir            ;函数 Dir   #645

lea eax, var1            ;属性
push eax
lea ecx,var2             ;路径
push ecx
call rtcDir            ;结果在eax中返回,字符串型(string)
;-----------------------------------------------------
rtcExp            ;函数 exp   #586

LEA EDX,DWORD PTR SS:   ;参数      
PUSH EDX                                 
CALL DWORD PTR DS:[<&MSVBVM60.__vbaR8Var>] ;转换成浮点数,结果在浮点寄存器里
SUB ESP,8                                 
FSTP QWORD PTR SS:         ;压入堆栈      
CALL DWORD PTR DS:[<&MSVBVM60.#586>]   ;rtcExp   
FSTP QWORD PTR SS:      ;结果存入堆栈   
;-----------------------------------------------------
rtcFileDateTime   ;函数 FileDateTime #577

LEA EDX,DWORD PTR SS:                                 
PUSH 工程1.004016B0               ;文件名
PUSH EDX                         ;结果      
CALL DWORD PTR DS:[<&MSVBVM60.#577>];rtcFileDateTime
                                 ;调用后结果同时在eax中
;------------------------------------------------------
rtcFileLen          ;函数 FileLen   #578

PUSH 工程1.004016B0                  ;文件名      
CALL DWORD PTR DS:[<&MSVBVM60.#578>];rtcFileLen
                                    ;结果在eax中
;------------------------------------------------------
__vbaVarFix      ;函数Fix(参数1)

LEA EDX,DWORD PTR SS:            
LEA EAX,DWORD PTR SS:            
PUSH EDX                     ;参数1            
PUSH EAX                     ;返回的结果            
CALL DWORD PTR DS:[<&MSVBVM60.__vbaVarFix>]
MOV EDX,EAX
;------------------------------------------------------
rtcHexVarFromVar    ;函数 Hex(num)

lea eax,var1
push eax               ;参数1 数值型
lea ecx,var2
push ecx               ;存放结果的参数
call rtcHexVarFromVar    ;在eax中返回string
;------------------------------------------------------
rtcGetHourOfDay   ;函数 Hour #543

LEA EAX,DWORD PTR SS: ;时间日期型参数   
LEA ECX,DWORD PTR SS: ;存放结果的参数      
PUSH EAX                           
PUSH ECX                           
CALL DWORD PTR DS:[<&MSVBVM60.#543>];Hour
                            ;结果同时在eax中返回
;------------------------------------------------------
rtcImmediateIf   iif(参数1,参数2,参数3)

LEA EDX,DWORD PTR SS:;参数3   
LEA EAX,DWORD PTR SS:;参数2   
PUSH EDX                           
LEA ECX,DWORD PTR SS:;参数1,即表达式   
PUSH EAX                           
LEA EDX,DWORD PTR SS:;存放结果的参数   
PUSH ECX                           
PUSH EDX                           
MOV DWORD PTR SS:,-1      
MOV DWORD PTR SS:,0B      
CALL DWORD PTR DS:[<&MSVBVM60.#681>];iif
                               ;结果同时在eax中返回
;------------------------------------------------------
__vbaInStrVar       ;函数 InStr(起始位置,源字符串,目标字符串,比较方式)      

LEA EDX,DWORD PTR SS:               
PUSH 1                         ;起始位置,从1开始            
LEA EAX,DWORD PTR SS:               
PUSH EDX                     ;被搜索的字符串            
PUSH EAX                     ;要搜的字符串            
LEA ECX,DWORD PTR SS:               
PUSH 1                         ;比较方式            
PUSH ECX                     ;返回的结果            
CALL DWORD PTR DS:[<&MSVBVM60.__vbaInStrVar>]
MOV EDX,EAX                  ;结果同时在eax中返回
;------------------------------------------------------
rtcInStrRev         ;函数 InStrRev(源字符串,目标字符串,起始位置,比较方式) #709

XORESI,ESI
PUSH ESI                     ;比较方式            
PUSH -1                        ;起始位置   
LEA EAX,DWORD PTR SS:                                 
LEA ECX,DWORD PTR SS:      
PUSH EAX                     ;目标字符串   
LEA EDX,DWORD PTR SS:      
PUSH ECX                     ;源字符串   
PUSH EDX                     ;返回的结果                              
CALL DWORD PTR DS:[<&MSVBVM60.#709>] ;rtcInStrRev
                               ;结果同时在eax中返回
                  ;结果同时在eax中返回
;------------------------------------------------------
__vbaVarInt       ;函数 Int(参数1)
            
LEA ECX,DWORD PTR SS:            
LEA EDX,DWORD PTR SS:            
PUSH ECX                     ;参数1            
PUSH EDX                     ;返回的结果            
CALL DWORD PTR DS:[<&MSVBVM60.__vbaVarInt>]
MOV EDX,EAX                  ;结果同时在eax中返回
;------------------------------------------------------            
rtcIsArray      ;函数 IsArray #556
LEA EAX,DWORD PTR SS:;参数1 **这是指针
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.#556>]   ;MSVBVM60.rtcIsArray
                              ;结果在eax中返回
;------------------------------------------------------
rtcIsDate         ;函数 IsDate #557

LEA EAX,DWORD PTR SS:;参数1**这是指针
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.#557>];MSVBVM60.rtcIsDate
                              ;结果在eax中返回
;------------------------------------------------------
rtcIsEmpty      ;函数 IsEmpty #558

LEA EAX,DWORD PTR SS: ;参数1   **这是指针
PUSH EAX                     
CALL DWORD PTR DS:[<&MSVBVM60.#558>] ;MSVBVM60.rtcIsEmpty
                              ;结果在eax中返回
;------------------------------------------------------
rtcIsError      ;函数 IsError #559

LEA EAX,DWORD PTR SS: ;参数1   **这是指针
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.#559>]   ;MSVBVM60.rtcIsError
                              ;结果在eax中返回
;------------------------------------------------------
rtcIsMissing      ;函数 IsMissing #592

LEA EAX,DWORD PTR SS: ;参数1   **这是指针
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.#592>] ;MSVBVM60.rtcIsMissing
                              ;结果在eax中返回
;------------------------------------------------------
rtcIsNull         ;函数 IsNull #560

LEA EAX,DWORD PTR SS: ;参数1   **这是指针
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.#560>] ;MSVBVM60.rtcIsNull
                              ;结果在eax中返回
;------------------------------------------------------
rtcIsNumeric      ;函数 IsNumeric #561

LEA EAX,DWORD PTR SS: ;参数1   **这里指针
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.#561>];MSVBVM60.rtcIsNumeric
                              ;结果在eax中返回
;------------------------------------------------------
rtcIsObject       ;函数 IsObject #562

LEA EAX,DWORD PTR SS:
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.#562>] ;MSVBVM60.rtcIsObject
                              ;结果在eax中返回
;------------------------------------------------------
__vbaLbound       ;函数 Lbound

LEA EAX,DWORD PTR SS:   ;参数1,数组
PUSH EAX
PUSH 1                        ;参数2,数组维数
CALL DWORD PTR DS:[<&MSVBVM60.__vbaLboun>;MSVBVM60.__vbaLbound
                              ;结果在eax中返回
;------------------------------------------------------
rtcLowerCaseVar   ;函数 Lcase #518

LEA EDX,DWORD PTR SS:   ;参数1
LEA EAX,DWORD PTR SS:   ;结果
PUSH EDX
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.#518>]   ;MSVBVM60.rtcLowerCaseVar
                              ;结果在eax中返回
;------------------------------------------------------
rtcLeftCharVar   ;函数 Left #617

LEA EDX,DWORD PTR SS:   ;参数1
PUSH 3                        ;参数2
LEA EAX,DWORD PTR SS:   ;结果
PUSH EDX
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.#617>];MSVBVM60.rtcLeftCharVar
                              ;结果在eax中返回
;------------------------------------------------------
__vbaLenBstr   ;函数 Len

MOV EDX,DWORD PTR SS:   ;参数1
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.__vbaLenBs>; MSVBVM60.__vbaLenBstr
                              ;结果在eax中返回
;------------------------------------------------------
__vbaLenBstrB    ;函数 LenB

MOV EAX,DWORD PTR SS:    ;参数1
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.__vbaLenBs>; MSVBVM60.__vbaLenBstrB
                              ;结果在eax中返回
;------------------------------------------------------
rtcLog   ;函数 Log #587

LEA EDX,DWORD PTR SS:    ;要作为参数的变量
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.__vbaR8Var> ;转换成实数,结果在浮点栈中
SUB ESP,8
FSTP QWORD PTR SS:          ;参数入栈
CALL DWORD PTR DS:[<&MSVBVM60.#587>]   ; MSVBVM60.rtcLog
                                 ;结果在浮点栈中
;------------------------------------------------------
rtcLeftTrimVar;函数 Ltrim #522

LEA ECX,DWORD PTR SS:    ;参数1
LEA EDX,DWORD PTR SS:    ;结果
PUSH ECX
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.#522>]   ; MSVBVM60.rtcLeftTrimVar
                              ;结果在eax中返回
;------------------------------------------------------
rtcMidCharVar;函数 Mid

PUSH EAX                        ;参数3
LEA ECX,DWORD PTR SS:
PUSH 3                        ;参数2
LEA EDX,DWORD PTR SS:
PUSH ECX                        ;参数1
PUSH EDX                        ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#632>];MSVBVM60.rtcMidCharVar
                              ;结果在eax中返回
;------------------------------------------------------
rtcGetMinuteOfHour ;函数 Minute#544

LEA EAX,DWORD PTR SS:   ;参数1
LEA ECX,DWORD PTR SS:   ;结果
PUSH EAX
PUSH ECX
CALL DWORD PTR DS:[<&MSVBVM60.#544>]   ;MSVBVM60.rtcGetMinuteOfHour
                              ;结果在eax中返回
;------------------------------------------------------
rtcGetMonthOfYear;函数 Month   #545

LEA EDX,DWORD PTR SS:   ;参数1
LEA EAX,DWORD PTR SS:   ;结果
PUSH EDX
PUSH EAX
CALL DWORD PTR DS:[<&MSVBVM60.#545>]   ;MSVBVM60.rtcGetMonthOfYear
                              ;结果在eax中返回
;------------------------------------------------------
rtcMonthName       ;函数 MonthName #707

PUSH EAX                         ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#707>]   ;MSVBVM60.rtcMonthName
                              ;结果在eax中返回
;------------------------------------------------------
rtcMsgBox       ;函数 MsgBox

LEA EAX,DWORD PTR SS:
LEA ECX,DWORD PTR SS:
PUSH EAX                        ;参数5
LEA EDX,DWORD PTR SS:
PUSH ECX                        ;参数4
PUSH EDX                        ;参数3
LEA EAX,DWORD PTR SS:
PUSH ESI                        ;参数2
PUSH EAX                        ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#595>]; MSVBVM60.rtcMsgBox
                              ;结果在eax中返回
;------------------------------------------------------
rtcGetPresentDate   ;函数 Now#546

LEA EDX,DWORD PTR SS: ;存放结果的参数
PUSH EDX            ;                     
CALL DWORD PTR DS:[<&MSVBVM60.#546>];Now
                              ;结果同时在eax中返回
;------------------------------------------------------
rtcOctVarFromVar    ;函数 Oct(num)

lea eax,var1
push eax               ;参数1 数值型
lea ecx,var2
push ecx               ;结果
call rtcOctVarFromVar    ;在eax中返回string
;------------------------------------------------------
rtcReplace          ;函数 Replace#712

PUSH ESI                     ;参数6
PUSH -1                      ;参数5
PUSH 1                     ;参数4
LEA EAX,DWORD PTR SS:
PUSH EAX                     ;参数3
LEA EDX,DWORD PTR SS:
PUSH EDX                     ;参数2
LEA EAX,DWORD PTR SS:
PUSH EAX                     ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#712>]; MSVBVM60.rtcReplace
                           ;结果在eax中返回
;-----------------------------------------------------
rtcRgb            ;函数#588

PUSH 28                      ;参数3
PUSH 1E                      ;参数2
PUSH 14                      ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#588>];MSVBVM60.rtcRgb
                           ;结果在eax中返回
;-----------------------------------------------------
rtcRightCharVar   ;函数Right#619

LEA EDX,DWORD PTR SS:
PUSH 3                        ;参数2
LEA EAX,DWORD PTR SS:
PUSH EDX                        ;参数1
PUSH EAX                        ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#619>];MSVBVM60.rtcRightCharVar
                           ;结果在eax中返回
;-----------------------------------------------------
rtcRound            ;函数 Round #714

LEA EDX,DWORD PTR SS:
PUSH EDI                        ;参数2
LEA EAX,DWORD PTR SS:
PUSH EDX                        ;参数1
PUSH EAX                        ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#714>] ;MSVBVM60.rtcRound
                           ;结果在eax中返回
;-----------------------------------------------------
rtcRandomize      ;函数 Randomize#594

LEA EDX,DWORD PTR SS:
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.#594>] ;MSVBVM60.rtcRandomize
;-----------------------------------------------------
rtcRandomNext       ;函数 Rnd#593

LEA EAX,DWORD PTR SS:
PUSH EAX                     ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#593>] ;MSVBVM60.rtcRandomNext
                           ;结果在浮点栈中
;-----------------------------------------------------
rtcRightTrimVar   ;函数 Rtrim #524

LEA ECX,DWORD PTR SS:   ;参数1
LEA EDX,DWORD PTR SS:   ;结果
PUSH ECX
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.#524>]   ; MSVBVM60.rtcRightTrimVar
                              ;结果在eax中返回
;-----------------------------------------------------
rtcGetSecondOfMinute;函数 Sound #547

LEA EAX,DWORD PTR SS:;参数1
LEA ECX,DWORD PTR SS:;结果
PUSH EAX
PUSH ECX
CALL DWORD PTR DS:[<&MSVBVM60.#547>];MSVBVM60.rtcGetSecondOfMinute
                           ;结果在eax中返回
;-----------------------------------------------------
__vbaR8Sgn         ;函数 Sgn

PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.__vbaR8Var>;MSVBVM60.__vbaR8Var
SUB ESP,8
FSTP QWORD PTR SS:      ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaR8Sgn>;MSVBVM60.__vbaR8Sgn
                           ;结果在ax中返回
;-----------------------------------------------------
rtcShell         ;函数 Shell#600

PUSH 1                     ;参数2
PUSH EDX                     ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#600>];MSVBVM60.rtcShell
                           ;结果在浮点栈中
;-----------------------------------------------------
rtcSin             ;函数 Sin#582

LEA EDX,DWORD PTR SS:
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.__vbaR8Var>;MSVBVM60.__vbaR8Var
SUB ESP,8
FSTP QWORD PTR SS:      ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#582>]   ;MSVBVM60.rtcSin
                           ;结果在浮点栈中
;-----------------------------------------------------
rtcSpaceVar      ;函数 Space #526

PUSH 5                     ;参数1
LEA EDX,DWORD PTR SS:
PUSH EDX                     ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#526>];MSVBVM60.rtcSpaceVar
                           ;结果在eax中返回
;-----------------------------------------------------
rtcSplit         ;函数 Split#711

PUSH ESI                      ;参数4
LEA EDX,DWORD PTR SS:
PUSH -1                     ;参数3
LEA EAX,DWORD PTR SS:
PUSH EDX                      ;参数2
LEA ECX,DWORD PTR SS:
LEA EDX,DWORD PTR SS:
PUSH EAX                      ;参数1
PUSH EDX                      ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#711>]   ;MSVBVM60.rtcSplit
                           ;结果在eax中返回
;-----------------------------------------------------
rtcSqr             ;函数 rtcSqr#614

LEA EDX,DWORD PTR SS:
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.__vbaR8Var>;MSVBVM60.__vbaR8Var
SUB ESP,8
FSTP QWORD PTR SS:      ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#614>]   ;MSVBVM60.rtcSqr
                           ;结果在浮点栈中
;-----------------------------------------------------
rtcVarStrFromVar   ;函数 Str#613

LEA EDX,DWORD PTR SS:
LEA EAX,DWORD PTR SS:
PUSH EDX                     ;参数1
PUSH EAX                     ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#613>] ;MSVBVM60.rtcVarStrFromVar
                           ;结果在eax中返回
;-----------------------------------------------------
__vbaStrCompVar    ;函数 StrComp

LEA EDX,DWORD PTR SS:
LEA EAX,DWORD PTR SS:
PUSH EDX                      ;参数1
PUSH EAX                      ;参数2
LEA ECX,DWORD PTR SS:
PUSH EDI                      ;参数3
PUSH ECX                      ;结果
CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrCo>;MSVBVM60.__vbaStrCompVar
                              ;结果在eax中返回
;-----------------------------------------------------
rtcStrConvVar2   ;函数 Strconv#717

PUSH EDI                      ;参数3
LEA EDX,DWORD PTR SS:
PUSH 1                        ;参数2
LEA EAX,DWORD PTR SS:
PUSH EDX                      ;参数1
PUSH EAX                      ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#717>];MSVBVM60.rtcStrConvVar2
                              ;结果在eax中返回
;-----------------------------------------------------
rtcStringVar      ;函数 String

LEA EDX,DWORD PTR SS:
LEA EAX,DWORD PTR SS:
PUSH EDX                      ;参数2
PUSH 5                        ;参数1
PUSH EAX                      ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#607>];MSVBVM60.rtcStringVar
                              ;结果在eax中返回
;-----------------------------------------------------
rtcStrReverse   ;函数 StrReverse#713

LEA EAX,DWORD PTR SS:
PUSH EAX                      ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#713>]   ;MSVBVM60.rtcStrReverse
                              ;结果在eax中返回
;-----------------------------------------------------
rtcTan            ;函数 Tan    #584

LEA EDX,DWORD PTR SS:
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.__vbaR8Var>;MSVBVM60.__vbaR8Var
SUB ESP,8
FSTP QWORD PTR SS:       ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#584>]   ;MSVBVM60.rtcTan
                              ;结果在浮点栈中返回
;-----------------------------------------------------
rtcGetTimeVar    ;函数 Time#612

LEA EDX,DWORD PTR SS:
PUSH EDX                      ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#612>];MSVBVM60.rtcGetTimeVar
                              ;结果在eax中返回
-------------------------------------------------------
rtcGetTimer      ;函数 Timer #535

CALL DWORD PTR DS:[<&MSVBVM60.#535>]   ;MSVBVM60.rtcGetTimer
                              ;结果在浮点栈中返回
;-----------------------------------------------------
rtcPackTime      ;函数 TimeSerial #539

LEA EDX,DWORD PTR SS:
PUSH EDX                      ;参数3
LEA EAX,DWORD PTR SS:
PUSH EAX                      ;参数2
LEA ECX,DWORD PTR SS:
PUSH ECX                      ;参数1
LEA EDX,DWORD PTR SS:
PUSH EDX                      ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#539>]   ;MSVBVM60.rtcPackTime
                              ;结果在eax中返回
-------------------------------------------------------
rtcGetTimeValue ;函数 TimeValue #541

LEA EAX,DWORD PTR SS:
LEA ECX,DWORD PTR SS:
PUSH EAX                      ;参数1
PUSH ECX                      ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#541>]   ;MSVBVM60.rtcGetTimeValue
                              ;结果在eax中返回
-------------------------------------------------------
rtcTrimVar      ;函数 Trim#520

LEA ECX,DWORD PTR SS:   ;参数1
LEA EDX,DWORD PTR SS:   ;结果
PUSH ECX
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.#520>]   ; MSVBVM60.rtcTrimVar
                              ;结果在eax中返回
-------------------------------------------------------
rtcTypeName   ;函数 TypeName #591

LEA EDX,DWORD PTR SS:
PUSH EDX                      ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#591>];MSVBVM60.rtcTypeName
                              ;结果在eax中返回
-------------------------------------------------------                     
__vbaUbound       ;函数 Ubound

LEA ECX,DWORD PTR SS:   ;参数1,数组
PUSH ECX
PUSH 1                        ;参数2,数组维数
CALL DWORD PTR DS:[<&MSVBVM60.__vbaUboun>;MSVBVM60.__vbaUbound
                              ;结果在eax中返回
;------------------------------------------------------
rtcUpperCaseVar   ;函数 Ucase

LEA ECX,DWORD PTR SS:   ;参数1
LEA EDX,DWORD PTR SS:   ;结果
PUSH ECX
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.#528>]   ;MSVBVM60.rtcUpperCaseVar
                              ;结果在eax中返回
;------------------------------------------------------
rtcR8ValFromBstr;函数 Val#581

LEA EAX,DWORD PTR SS:
PUSH EAX                        ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#581>];MSVBVM60.rtcR8ValFromBstr
                              ;结果在浮点栈中
;-----------------------------------------------------
rtcVarType      ;函数 VarType #563

LEA EDX,DWORD PTR SS:
PUSH EDX                        ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#563>];MSVBVM60.rtcVarType
                              ;结果在eax中
;-----------------------------------------------------
rtcWeekdayName    ;函数 WeekdayName #706

PUSH EDI
LEA EDX,DWORD PTR SS:
PUSH EDI
PUSH EDX
CALL DWORD PTR DS:[<&MSVBVM60.#706>];MSVBVM60.rtcWeekdayName
                              ;结果在eax中
;-----------------------------------------------------
rtcGetYear      ;函数 Year#553

LEA EAX,DWORD PTR SS:
LEA ECX,DWORD PTR SS:
PUSH EAX                        ;参数1
PUSH ECX                        ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#553>];MSVBVM60.rtcGetYear
                              ;结果在eax中
;-----------------------------------------------------
__vbaBoolErrVar   ;函数 CBool

LEA EDX,DWORD PTR SS:
PUSH EDX                        ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaBoolE>;MSVBVM60.__vbaBoolErrVar
                              ;结果在ax中
;-----------------------------------------------------
__vbaUI1ErrVar    ;函数 Cbyte

LEA EAX,DWORD PTR SS:
PUSH EAX                        ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaUI1Er>;MSVBVM60.__vbaUI1ErrVar
                              ;结果在al中
;-----------------------------------------------------
__vbaCyErrVar   ;函数 Ccur

LEA ECX,DWORD PTR SS:
PUSH ECX                        ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaCyErr>;MSVBVM60.__vbaCyErrVar
                              ;结果在eax中
;-----------------------------------------------------
__vbaDateVar      ;函数 Cdate

LEA EDX,DWORD PTR SS:
PUSH EDX                        ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaDateV>;MSVBVM60.__vbaDateVar
SUB ESP,8
FSTP QWORD PTR SS:
CALL DWORD PTR DS:[<&MSVBVM60.__vbaDateR>;MSVBVM60.__vbaDateR8
                              ;结果在浮点栈中
;-----------------------------------------------------
__vbaR8ErrVar   ;函数 Cdbl

LEA EAX,DWORD PTR SS:
PUSH EAX                        ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaR8Err>;MSVBVM60.__vbaR8ErrVar
                              ;结果在浮点栈中
;-----------------------------------------------------
rtDecFromVar      ;函数 Cdec#564

LEA ECX,DWORD PTR SS:
LEA EDX,DWORD PTR SS:
PUSH ECX                        ;参数1
PUSH EDX                        ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#564>]   ;MSVBVM60.rtDecFromVar
                              ;结果在eax中
;-----------------------------------------------------
__vbaI2ErrVar   ;函数 Cint

LEA EAX,DWORD PTR SS:
PUSH EAX                        ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaI2Err>;MSVBVM60.__vbaI2ErrVar
                              ;结果在ax中
;-----------------------------------------------------
__vbaI4ErrVar   ;函数 Clng

LEA ECX,DWORD PTR SS:
PUSH ECX                        ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaI4Err>;MSVBVM60.__vbaI4ErrVar
                              ;结果在eax中
;-----------------------------------------------------
__vbaR4ErrVar   ;函数 Csng

LEA EDX,DWORD PTR SS:
PUSH EDX                        ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaR4Err>;MSVBVM60.__vbaR4ErrVar
                              ;结果在浮点栈中
;-----------------------------------------------------
__vbaStrErrVarCopy ;函数 Cstr

LEA EAX,DWORD PTR SS:
PUSH EAX                        ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrEr>;MSVBVM60.__vbaStrErrVarCopy
                              ;结果在eax中
;-----------------------------------------------------
__vbaVarCopy       ;函数 Cvar

LEA EDX,DWORD PTR SS:   ;参数1
LEA ECX,DWORD PTR SS:   ;结果
CALL DWORD PTR DS:[<&MSVBVM60.__vbaVarCo>;MSVBVM60.__vbaVarCopy
                              ;结果在eax中
;-----------------------------------------------------
__vbaFileOpen      ;Open语句

PUSH 工程1.004014C0         ;文件名
PUSH 1                      ;文件号
PUSH 1                      ;len
PUSH 320                  ;for,access,lock
CALL DWORD PTR DS:[<&MSVBVM60.__vbaFileO>;MSVBVM60.__vbaFileOpen
;------------------------------------------------------
__vbaFileClose   ;Close语句

PUSH 1                      ;文件号
CALL DWORD PTR DS:[<&MSVBVM60.__vbaFileC>;MSVBVM60.__vbaFileClose
;------------------------------------------------------
rtcFreeFile      ;函数 FreeFile

LEA EAX,DWORD PTR SS:
PUSH EAX                        ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#648>];MSVBVM60.rtcFreeFile
                              ;结果在ax中
;------------------------------------------------------
rtcFileLength      ;函数 LOF#570

LEA EDX,DWORD PTR SS:
PUSH EDX                        ;文件号
CALL DWORD PTR DS:[<&MSVBVM60.#570>];MSVBVM60.rtcFileLength
                              ;结果在eax中
;------------------------------------------------------
rtcFileLocation    ;函数 loc#569

LEA EAX,DWORD PTR SS:
PUSH EAX                         ;文件号
CALL DWORD PTR DS:[<&MSVBVM60.#569>];MSVBVM60.rtcFileLocation
                              ;结果在eax中
;------------------------------------------------------
rtcFileAttributes;函数 FileAttr #555

LEA ECX,DWORD PTR SS:
PUSH 1                           ;属性
PUSH ECX                         ;文件号
CALL DWORD PTR DS:[<&MSVBVM60.#555>];MSVBVM60.rtcFileAttributes
                              ;结果在eax中
;------------------------------------------------------
__vbaPrintFile   rint #文件号,变量 (顺序文件操作)

LEA EAX,DWORD PTR SS:
LEA ECX,DWORD PTR SS:
PUSH ECX                         ;变量
PUSH EAX                         ;文件号
PUSH 工程1.00401948
CALL DWORD PTR DS:[<&MSVBVM60.__vbaPrint>;MSVBVM60.__vbaPrintFile
;-----------------------------------------------------
__vbaWriteFile   ;write #文件号,变量 (顺序文件操作)

LEA EDX,DWORD PTR SS:
LEA EAX,DWORD PTR SS:
PUSH EDX                         ;变量
PUSH EAX                         ;文件号
PUSH 工程1.00401948
CALL DWORD PTR DS:[<&MSVBVM60.__vbaWrite>;MSVBVM60.__vbaWriteFile
;-----------------------------------------------------
__vbaInputFile   ;input #文件号,变量 (顺序文件操作)

LEA EAX,DWORD PTR SS:
LEA ECX,DWORD PTR SS:
PUSH EAX                         ;变量
PUSH ECX                         ;文件号
PUSH 工程1.00401938
CALL DWORD PTR DS:[<&MSVBVM60.__vbaInput>; MSVBVM60.__vbaInputFile
;-----------------------------------------------------
__vbaLineInputVar;line input #文件号,变量 (顺序文件操作)

LEA EDX,DWORD PTR SS:
PUSH EDX                         ;文件号
LEA EAX,DWORD PTR SS:
PUSH EAX                         ;变量
CALL DWORD PTR DS:[<&MSVBVM60.__vbaLineI>; MSVBVM60.__vbaLineInputVar
                                 ;结果在eax中返回
;-----------------------------------------------------
rtcInputCharCountVar;函数 input(#文件号,长度) #621 (顺序文件操作)

LEA ECX,DWORD PTR SS:
PUSH ECX                         ;文件号
LEA EDX,DWORD PTR SS:
PUSH 2                           ;长度
PUSH EDX                         ;结果
CALL DWORD PTR DS:[<&MSVBVM60.#621>]; MSVBVM60.rtcInputCharCountVar
                                 ;结果在eax中返回
;-----------------------------------------------------
__vbaPut4            ;语句 Put 文件号,位置,变量 (binary文件操作)

LEA EAX,DWORD PTR SS:                              
PUSH EAX                         ;文件号                                                                           
LEA ECX,DWORD PTR SS:                              
PUSH 2                           ;位置                           
PUSH ECX                         ;变量                           
PUSH -1                                                   
CALL DWORD PTR DS:[<&MSVBVM60.__vbaPut4>>;MSVBVM60.__vbaPut4
;-----------------------------------------------------
__vbaFileSeek      ;语句 Seek 文件号,位置 (binary文件操作)

LEA EDX,DWORD PTR SS:
PUSH EDX                         ;文件号
PUSH 2                           ;位置
CALL DWORD PTR DS:[<&MSVBVM60.__vbaFileS>;MSVBVM60.__vbaFileSeek
;-----------------------------------------------------
__vbaGet4            ;语句 Get 文件号,位置,变量 (binary文件操作)

LEA EAX,DWORD PTR SS:
PUSH EAX                         ;文件号
LEA ECX,DWORD PTR SS:
PUSH 2                           ;位置
PUSH ECX                         ;变量
PUSH -1
CALL DWORD PTR DS:[<&MSVBVM60.__vbaGet4>>;MSVBVM60.__vbaGet4
;-----------------------------------------------------

冷血书生 发表于 2005-9-30 23:52:07

捡到宝贝了!

坐沙发先!!

支持老大!!!

学习啦!!

快雪时晴 发表于 2005-10-1 00:31:12

1.辛苦了
2.total 95 functions, maybe not complete
3.summarize:
   hope lordenlarge the range of the show of vb functons

hsj840119 发表于 2005-10-1 00:48:46

终于修复好了```谢谢辛苦了```

西岭秋风 发表于 2005-10-1 09:44:58

上次看没看到,这次收先下

jkcq 发表于 2005-10-1 13:02:37

谢谢斑竹!

pentacle 发表于 2006-1-14 11:47:05

来晚了
真是好东东啊~~
哈。有这个以后搞VB就方便了

渔歌子 发表于 2006-1-14 14:48:17

收藏 先,慢慢看。

yyjpcx 发表于 2006-1-14 14:56:28

真是个好东西!~~~

夜之魂 发表于 2006-1-14 20:56:27

强烈支持,正找这样的文章那
页: [1] 2 3 4 5
查看完整版本: msvbvm60中函数介绍(重新整理)