1*cdf0e10cSrcweir /************************************************************************* 2*cdf0e10cSrcweir * 3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir * 5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6*cdf0e10cSrcweir * 7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir * 9*cdf0e10cSrcweir * This file is part of OpenOffice.org. 10*cdf0e10cSrcweir * 11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir * 15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir * 21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir * 26*cdf0e10cSrcweir ************************************************************************/ 27*cdf0e10cSrcweir 28*cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove 29*cdf0e10cSrcweir #include "precompiled_basic.hxx" 30*cdf0e10cSrcweir 31*cdf0e10cSrcweir #include "runtime.hxx" 32*cdf0e10cSrcweir #include "stdobj.hxx" 33*cdf0e10cSrcweir #include <basic/sbstdobj.hxx> 34*cdf0e10cSrcweir #include "rtlproto.hxx" 35*cdf0e10cSrcweir #include "sbintern.hxx" 36*cdf0e10cSrcweir 37*cdf0e10cSrcweir // Das nArgs-Feld eines Tabelleneintrags ist wie folgt verschluesselt: 38*cdf0e10cSrcweir // Zur Zeit wird davon ausgegangen, dass Properties keine Parameter 39*cdf0e10cSrcweir // benoetigen! 40*cdf0e10cSrcweir 41*cdf0e10cSrcweir #define _ARGSMASK 0x007F // Bis zu 127 Argumente 42*cdf0e10cSrcweir #define _COMPTMASK 0x0080 // Only valid in compatibility mode 43*cdf0e10cSrcweir #define _RWMASK 0x0F00 // Maske fuer R/W-Bits 44*cdf0e10cSrcweir #define _TYPEMASK 0xF000 // Maske fuer den Typ des Eintrags 45*cdf0e10cSrcweir 46*cdf0e10cSrcweir #define _READ 0x0100 // kann gelesen werden 47*cdf0e10cSrcweir #define _BWRITE 0x0200 // kann as Lvalue verwendet werden 48*cdf0e10cSrcweir #define _LVALUE _BWRITE // kann as Lvalue verwendet werden 49*cdf0e10cSrcweir #define _READWRITE 0x0300 // beides 50*cdf0e10cSrcweir #define _OPT 0x0400 // Parameter ist optional 51*cdf0e10cSrcweir #define _CONST 0x0800 // Property ist const 52*cdf0e10cSrcweir #define _METHOD 0x3000 // Masken-Bits fuer eine Methode 53*cdf0e10cSrcweir #define _PROPERTY 0x4000 // Masken-Bit fuer eine Property 54*cdf0e10cSrcweir #define _OBJECT 0x8000 // Masken-Bit fuer ein Objekt 55*cdf0e10cSrcweir // Kombination von oberen Bits: 56*cdf0e10cSrcweir #define _FUNCTION 0x1100 // Maske fuer Function 57*cdf0e10cSrcweir #define _LFUNCTION 0x1300 // Maske fuer Function, die auch als Lvalue geht 58*cdf0e10cSrcweir #define _SUB 0x2100 // Maske fuer Sub 59*cdf0e10cSrcweir #define _ROPROP 0x4100 // Maske Read Only-Property 60*cdf0e10cSrcweir #define _WOPROP 0x4200 // Maske Write Only-Property 61*cdf0e10cSrcweir #define _RWPROP 0x4300 // Maske Read/Write-Property 62*cdf0e10cSrcweir #define _CPROP 0x4900 // Maske fuer Konstante 63*cdf0e10cSrcweir 64*cdf0e10cSrcweir struct Methods { 65*cdf0e10cSrcweir const char* pName; // Name des Eintrags 66*cdf0e10cSrcweir SbxDataType eType; // Datentyp 67*cdf0e10cSrcweir short nArgs; // Argumente und Flags 68*cdf0e10cSrcweir RtlCall pFunc; // Function Pointer 69*cdf0e10cSrcweir sal_uInt16 nHash; // Hashcode 70*cdf0e10cSrcweir }; 71*cdf0e10cSrcweir 72*cdf0e10cSrcweir static Methods aMethods[] = { 73*cdf0e10cSrcweir 74*cdf0e10cSrcweir { "AboutStarBasic", SbxNULL, 1 | _FUNCTION, RTLNAME(AboutStarBasic),0 }, 75*cdf0e10cSrcweir { "Name", SbxSTRING, 0,NULL,0 }, 76*cdf0e10cSrcweir { "Abs", SbxDOUBLE, 1 | _FUNCTION, RTLNAME(Abs),0 }, 77*cdf0e10cSrcweir { "number", SbxDOUBLE, 0,NULL,0 }, 78*cdf0e10cSrcweir { "Array", SbxOBJECT, _FUNCTION, RTLNAME(Array),0 }, 79*cdf0e10cSrcweir { "Asc", SbxLONG, 1 | _FUNCTION, RTLNAME(Asc),0 }, 80*cdf0e10cSrcweir { "string", SbxSTRING, 0,NULL,0 }, 81*cdf0e10cSrcweir { "AscW", SbxLONG, 1 | _FUNCTION | _COMPTMASK, RTLNAME(Asc),0}, 82*cdf0e10cSrcweir { "string", SbxSTRING, 0,NULL,0 }, 83*cdf0e10cSrcweir { "Atn", SbxDOUBLE, 1 | _FUNCTION, RTLNAME(Atn),0 }, 84*cdf0e10cSrcweir { "number", SbxDOUBLE, 0,NULL,0 }, 85*cdf0e10cSrcweir { "ATTR_ARCHIVE", SbxINTEGER, _CPROP, RTLNAME(ATTR_ARCHIVE),0 }, 86*cdf0e10cSrcweir { "ATTR_DIRECTORY", SbxINTEGER, _CPROP, RTLNAME(ATTR_DIRECTORY),0 }, 87*cdf0e10cSrcweir { "ATTR_HIDDEN", SbxINTEGER, _CPROP, RTLNAME(ATTR_HIDDEN),0 }, 88*cdf0e10cSrcweir { "ATTR_NORMAL", SbxINTEGER, _CPROP, RTLNAME(ATTR_NORMAL),0 }, 89*cdf0e10cSrcweir { "ATTR_READONLY", SbxINTEGER, _CPROP, RTLNAME(ATTR_READONLY),0 }, 90*cdf0e10cSrcweir { "ATTR_SYSTEM", SbxINTEGER, _CPROP, RTLNAME(ATTR_SYSTEM),0 }, 91*cdf0e10cSrcweir { "ATTR_VOLUME", SbxINTEGER, _CPROP, RTLNAME(ATTR_VOLUME),0 }, 92*cdf0e10cSrcweir 93*cdf0e10cSrcweir { "Beep", SbxNULL, _FUNCTION, RTLNAME(Beep),0 }, 94*cdf0e10cSrcweir { "Blue", SbxINTEGER, 1 | _FUNCTION, RTLNAME(Blue),0 }, 95*cdf0e10cSrcweir { "RGB-Value", SbxLONG, 0,NULL,0 }, 96*cdf0e10cSrcweir 97*cdf0e10cSrcweir { "CallByName", SbxVARIANT, 3 | _FUNCTION, RTLNAME(CallByName),0 }, 98*cdf0e10cSrcweir { "Object", SbxOBJECT, 0,NULL,0 }, 99*cdf0e10cSrcweir { "ProcedureName",SbxSTRING, 0,NULL,0 }, 100*cdf0e10cSrcweir { "CallType", SbxINTEGER, 0,NULL,0 }, 101*cdf0e10cSrcweir { "CBool", SbxBOOL, 1 | _FUNCTION, RTLNAME(CBool),0 }, 102*cdf0e10cSrcweir { "expression", SbxVARIANT, 0,NULL,0 }, 103*cdf0e10cSrcweir { "CByte", SbxBYTE, 1 | _FUNCTION, RTLNAME(CByte),0 }, 104*cdf0e10cSrcweir { "expression", SbxVARIANT, 0,NULL,0 }, 105*cdf0e10cSrcweir { "CCur", SbxCURRENCY, 1 | _FUNCTION, RTLNAME(CCur),0 }, 106*cdf0e10cSrcweir { "expression", SbxVARIANT, 0,NULL,0 }, 107*cdf0e10cSrcweir { "CDate", SbxDATE, 1 | _FUNCTION, RTLNAME(CDate),0 }, 108*cdf0e10cSrcweir { "expression", SbxVARIANT, 0,NULL,0 }, 109*cdf0e10cSrcweir { "CDateFromIso", SbxDATE, 1 | _FUNCTION, RTLNAME(CDateFromIso),0 }, 110*cdf0e10cSrcweir { "IsoDate", SbxSTRING, 0,NULL,0 }, 111*cdf0e10cSrcweir { "CDateToIso", SbxSTRING, 1 | _FUNCTION, RTLNAME(CDateToIso),0 }, 112*cdf0e10cSrcweir { "Date", SbxDATE, 0,NULL,0 }, 113*cdf0e10cSrcweir { "CDec", SbxDECIMAL, 1 | _FUNCTION, RTLNAME(CDec),0 }, 114*cdf0e10cSrcweir { "expression", SbxVARIANT, 0,NULL,0 }, 115*cdf0e10cSrcweir { "CDbl", SbxDOUBLE, 1 | _FUNCTION, RTLNAME(CDbl),0 }, 116*cdf0e10cSrcweir { "expression", SbxVARIANT, 0,NULL,0 }, 117*cdf0e10cSrcweir { "CF_BITMAP", SbxINTEGER, _CPROP, RTLNAME(CF_BITMAP),0 }, 118*cdf0e10cSrcweir { "CF_METAFILEPICT",SbxINTEGER, _CPROP, RTLNAME(CF_METAFILEPICT),0 }, 119*cdf0e10cSrcweir { "CF_TEXT", SbxINTEGER, _CPROP, RTLNAME(CF_TEXT),0 }, 120*cdf0e10cSrcweir { "ChDir", SbxNULL, 1 | _FUNCTION, RTLNAME(ChDir),0 }, 121*cdf0e10cSrcweir { "string", SbxSTRING, 0,NULL,0 }, 122*cdf0e10cSrcweir { "ChDrive", SbxNULL, 1 | _FUNCTION, RTLNAME(ChDrive),0 }, 123*cdf0e10cSrcweir { "string", SbxSTRING, 0,NULL,0 }, 124*cdf0e10cSrcweir 125*cdf0e10cSrcweir { "Choose", SbxVARIANT, 2 | _FUNCTION, RTLNAME(Choose),0 }, 126*cdf0e10cSrcweir { "Index", SbxINTEGER, 0,NULL,0 }, 127*cdf0e10cSrcweir { "Expression", SbxVARIANT, 0,NULL,0 }, 128*cdf0e10cSrcweir 129*cdf0e10cSrcweir { "Chr", SbxSTRING, 1 | _FUNCTION, RTLNAME(Chr),0 }, 130*cdf0e10cSrcweir { "string", SbxINTEGER, 0,NULL,0 }, 131*cdf0e10cSrcweir { "ChrW", SbxSTRING, 1 | _FUNCTION | _COMPTMASK, RTLNAME(ChrW),0}, 132*cdf0e10cSrcweir { "string", SbxINTEGER, 0,NULL,0 }, 133*cdf0e10cSrcweir 134*cdf0e10cSrcweir { "CInt", SbxINTEGER, 1 | _FUNCTION, RTLNAME(CInt),0 }, 135*cdf0e10cSrcweir { "expression", SbxVARIANT, 0,NULL,0 }, 136*cdf0e10cSrcweir { "CLEAR_ALLTABS", SbxINTEGER, _CPROP, RTLNAME(CLEAR_ALLTABS),0 }, 137*cdf0e10cSrcweir { "CLEAR_TAB", SbxINTEGER, _CPROP, RTLNAME(CLEAR_TAB),0 }, 138*cdf0e10cSrcweir { "CLng", SbxLONG, 1 | _FUNCTION, RTLNAME(CLng),0 }, 139*cdf0e10cSrcweir { "expression", SbxVARIANT, 0,NULL,0 }, 140*cdf0e10cSrcweir { "CompatibilityMode", SbxBOOL, 1 | _FUNCTION, RTLNAME(CompatibilityMode),0}, 141*cdf0e10cSrcweir { "bEnable", SbxBOOL, 0,NULL,0 }, 142*cdf0e10cSrcweir { "ConvertFromUrl", SbxSTRING, 1 | _FUNCTION, RTLNAME(ConvertFromUrl),0 }, 143*cdf0e10cSrcweir { "Url", SbxSTRING, 0,NULL,0 }, 144*cdf0e10cSrcweir { "ConvertToUrl", SbxSTRING, 1 | _FUNCTION, RTLNAME(ConvertToUrl),0 }, 145*cdf0e10cSrcweir { "SystemPath", SbxSTRING, 0,NULL,0 }, 146*cdf0e10cSrcweir { "Cos", SbxDOUBLE, 1 | _FUNCTION, RTLNAME(Cos),0 }, 147*cdf0e10cSrcweir { "number", SbxDOUBLE, 0,NULL,0 }, 148*cdf0e10cSrcweir { "CreateObject", SbxOBJECT, 1 | _FUNCTION, RTLNAME( CreateObject ),0 }, 149*cdf0e10cSrcweir { "class", SbxSTRING, 0,NULL,0 }, 150*cdf0e10cSrcweir { "CaptureAssertions", SbxNULL, 1 | _FUNCTION, RTLNAME(CaptureAssertions), 0 }, 151*cdf0e10cSrcweir { "methodName", SbxSTRING, 0, NULL, 0 }, 152*cdf0e10cSrcweir { "CreateUnoListener",SbxOBJECT, 1 | _FUNCTION, RTLNAME( CreateUnoListener ),0 }, 153*cdf0e10cSrcweir { "prefix", SbxSTRING, 0,NULL,0 }, 154*cdf0e10cSrcweir { "typename", SbxSTRING, 0,NULL,0 }, 155*cdf0e10cSrcweir { "CreateUnoDialog",SbxOBJECT, 2 | _FUNCTION, RTLNAME( CreateUnoDialog ),0 }, 156*cdf0e10cSrcweir { "dialoglibrary",SbxOBJECT, 0,NULL,0 }, 157*cdf0e10cSrcweir { "dialogname", SbxSTRING, 0,NULL,0 }, 158*cdf0e10cSrcweir { "CreateUnoService",SbxOBJECT, 1 | _FUNCTION, RTLNAME( CreateUnoService ),0 }, 159*cdf0e10cSrcweir { "servicename", SbxSTRING, 0,NULL,0 }, 160*cdf0e10cSrcweir { "CreateUnoServiceWithArguments",SbxOBJECT, 2 | _FUNCTION, RTLNAME( CreateUnoServiceWithArguments ),0 }, 161*cdf0e10cSrcweir { "servicename", SbxSTRING, 0,NULL,0 }, 162*cdf0e10cSrcweir { "arguments", SbxARRAY, 0,NULL,0 }, 163*cdf0e10cSrcweir { "CreateUnoStruct",SbxOBJECT, 1 | _FUNCTION, RTLNAME( CreateUnoStruct ),0 }, 164*cdf0e10cSrcweir { "classname", SbxSTRING, 0,NULL,0 }, 165*cdf0e10cSrcweir { "CreateUnoValue", SbxOBJECT, 2 | _FUNCTION, RTLNAME( CreateUnoValue ),0 }, 166*cdf0e10cSrcweir { "type", SbxSTRING, 0,NULL,0 }, 167*cdf0e10cSrcweir { "value", SbxVARIANT, 0,NULL,0 }, 168*cdf0e10cSrcweir { "CreatePropertySet",SbxOBJECT, 1 | _FUNCTION, RTLNAME( CreatePropertySet ),0 }, 169*cdf0e10cSrcweir { "values", SbxARRAY, 0,NULL,0 }, 170*cdf0e10cSrcweir { "CSng", SbxSINGLE, 1 | _FUNCTION, RTLNAME(CSng),0 }, 171*cdf0e10cSrcweir { "expression", SbxVARIANT, 0,NULL,0 }, 172*cdf0e10cSrcweir { "CStr", SbxSTRING, 1 | _FUNCTION, RTLNAME(CStr),0 }, 173*cdf0e10cSrcweir { "expression", SbxVARIANT, 0,NULL,0 }, 174*cdf0e10cSrcweir { "CurDir", SbxSTRING, 1 | _FUNCTION, RTLNAME(CurDir),0 }, 175*cdf0e10cSrcweir { "string", SbxSTRING, 0,NULL,0 }, 176*cdf0e10cSrcweir { "CVar", SbxVARIANT, 1 | _FUNCTION, RTLNAME(CVar),0 }, 177*cdf0e10cSrcweir { "expression", SbxVARIANT, 0,NULL,0 }, 178*cdf0e10cSrcweir { "CVErr", SbxVARIANT, 1 | _FUNCTION, RTLNAME(CVErr),0 }, 179*cdf0e10cSrcweir { "expression", SbxVARIANT, 0,NULL,0 }, 180*cdf0e10cSrcweir 181*cdf0e10cSrcweir { "Date", SbxDATE, _LFUNCTION,RTLNAME(Date),0 }, 182*cdf0e10cSrcweir { "DateAdd", SbxDATE, 3 | _FUNCTION, RTLNAME(DateAdd),0 }, 183*cdf0e10cSrcweir { "Interval", SbxSTRING, 0,NULL,0 }, 184*cdf0e10cSrcweir { "Number", SbxLONG, 0,NULL,0 }, 185*cdf0e10cSrcweir { "Date", SbxDATE, 0,NULL,0 }, 186*cdf0e10cSrcweir { "DateDiff", SbxDOUBLE, 5 | _FUNCTION, RTLNAME(DateDiff),0 }, 187*cdf0e10cSrcweir { "Interval", SbxSTRING, 0,NULL,0 }, 188*cdf0e10cSrcweir { "Date1", SbxDATE, 0,NULL,0 }, 189*cdf0e10cSrcweir { "Date2", SbxDATE, 0,NULL,0 }, 190*cdf0e10cSrcweir { "Firstdayofweek" , SbxINTEGER, _OPT,NULL,0 }, 191*cdf0e10cSrcweir { "Firstweekofyear", SbxINTEGER, _OPT,NULL,0 }, 192*cdf0e10cSrcweir { "DatePart", SbxLONG, 4 | _FUNCTION, RTLNAME(DatePart),0 }, 193*cdf0e10cSrcweir { "Interval", SbxSTRING, 0,NULL,0 }, 194*cdf0e10cSrcweir { "Date", SbxDATE, 0,NULL,0 }, 195*cdf0e10cSrcweir { "Firstdayofweek" , SbxINTEGER, _OPT, NULL,0 }, 196*cdf0e10cSrcweir { "Firstweekofyear", SbxINTEGER, _OPT, NULL,0 }, 197*cdf0e10cSrcweir { "DateSerial", SbxDATE, 3 | _FUNCTION, RTLNAME(DateSerial),0 }, 198*cdf0e10cSrcweir { "Year", SbxINTEGER, 0,NULL,0 }, 199*cdf0e10cSrcweir { "Month", SbxINTEGER, 0,NULL,0 }, 200*cdf0e10cSrcweir { "Day", SbxINTEGER, 0,NULL,0 }, 201*cdf0e10cSrcweir { "DateValue", SbxDATE, 1 | _FUNCTION, RTLNAME(DateValue),0 }, 202*cdf0e10cSrcweir { "String", SbxSTRING, 0,NULL,0 }, 203*cdf0e10cSrcweir { "Day", SbxINTEGER, 1 | _FUNCTION, RTLNAME(Day),0 }, 204*cdf0e10cSrcweir { "Date", SbxDATE, 0,NULL,0 }, 205*cdf0e10cSrcweir { "Ddeexecute", SbxNULL, 2 | _FUNCTION, RTLNAME(DDEExecute),0 }, 206*cdf0e10cSrcweir { "Channel", SbxLONG, 0,NULL,0 }, 207*cdf0e10cSrcweir { "Command", SbxSTRING, 0,NULL,0 }, 208*cdf0e10cSrcweir { "Ddeinitiate", SbxINTEGER, 2 | _FUNCTION, RTLNAME(DDEInitiate),0 }, 209*cdf0e10cSrcweir { "Application", SbxSTRING, 0,NULL,0 }, 210*cdf0e10cSrcweir { "Topic", SbxSTRING, 0,NULL,0 }, 211*cdf0e10cSrcweir { "Ddepoke", SbxNULL, 3 | _FUNCTION, RTLNAME(DDEPoke),0 }, 212*cdf0e10cSrcweir { "Channel", SbxLONG, 0,NULL,0 }, 213*cdf0e10cSrcweir { "Item", SbxSTRING, 0,NULL,0 }, 214*cdf0e10cSrcweir { "Data", SbxSTRING, 0,NULL,0 }, 215*cdf0e10cSrcweir { "Dderequest", SbxSTRING, 2 | _FUNCTION, RTLNAME(DDERequest),0 }, 216*cdf0e10cSrcweir { "Channel", SbxLONG, 0,NULL,0 }, 217*cdf0e10cSrcweir { "Item", SbxSTRING, 0,NULL,0 }, 218*cdf0e10cSrcweir { "Ddeterminate", SbxNULL, 1 | _FUNCTION, RTLNAME(DDETerminate),0 }, 219*cdf0e10cSrcweir { "Channel", SbxLONG, 0,NULL,0 }, 220*cdf0e10cSrcweir { "Ddeterminateall", SbxNULL, _FUNCTION, RTLNAME(DDETerminateAll),0 }, 221*cdf0e10cSrcweir { "DimArray", SbxOBJECT, _FUNCTION, RTLNAME(DimArray),0 }, 222*cdf0e10cSrcweir { "Dir", SbxSTRING, 2 | _FUNCTION, RTLNAME(Dir),0 }, 223*cdf0e10cSrcweir { "FileSpec", SbxSTRING, _OPT, NULL,0 }, 224*cdf0e10cSrcweir { "attrmask", SbxINTEGER, _OPT, NULL,0 }, 225*cdf0e10cSrcweir { "DoEvents", SbxEMPTY, _FUNCTION, RTLNAME(DoEvents),0 }, 226*cdf0e10cSrcweir { "DumpAllObjects", SbxEMPTY, 2 | _SUB, RTLNAME(DumpAllObjects),0 }, 227*cdf0e10cSrcweir { "FileSpec", SbxSTRING, 0,NULL,0 }, 228*cdf0e10cSrcweir { "DumpAll", SbxINTEGER, _OPT, NULL,0 }, 229*cdf0e10cSrcweir 230*cdf0e10cSrcweir { "Empty", SbxVARIANT, _CPROP, RTLNAME(Empty),0 }, 231*cdf0e10cSrcweir { "EqualUnoObjects",SbxBOOL, 2 | _FUNCTION, RTLNAME(EqualUnoObjects),0 }, 232*cdf0e10cSrcweir { "Variant", SbxVARIANT, 0,NULL,0 }, 233*cdf0e10cSrcweir { "Variant", SbxVARIANT, 0,NULL,0 }, 234*cdf0e10cSrcweir { "EnableReschedule", SbxNULL, 1 | _FUNCTION, RTLNAME(EnableReschedule),0}, 235*cdf0e10cSrcweir { "bEnable", SbxBOOL, 0,NULL,0 }, 236*cdf0e10cSrcweir { "Environ", SbxSTRING, 1 | _FUNCTION, RTLNAME(Environ),0 }, 237*cdf0e10cSrcweir { "Environmentstring",SbxSTRING, 0,NULL,0 }, 238*cdf0e10cSrcweir { "EOF", SbxBOOL, 1 | _FUNCTION, RTLNAME(EOF),0 }, 239*cdf0e10cSrcweir { "Channel", SbxINTEGER, 0,NULL,0 }, 240*cdf0e10cSrcweir { "Erl", SbxLONG, _ROPROP, RTLNAME( Erl ),0 }, 241*cdf0e10cSrcweir { "Err", SbxVARIANT, _RWPROP, RTLNAME( Err ),0 }, 242*cdf0e10cSrcweir { "Error", SbxSTRING, 1 | _FUNCTION, RTLNAME( Error ),0 }, 243*cdf0e10cSrcweir { "code", SbxLONG, 0,NULL,0 }, 244*cdf0e10cSrcweir { "Exp", SbxDOUBLE, 1 | _FUNCTION, RTLNAME(Exp),0 }, 245*cdf0e10cSrcweir { "number", SbxDOUBLE, 0,NULL,0 }, 246*cdf0e10cSrcweir 247*cdf0e10cSrcweir { "False", SbxBOOL, _CPROP, RTLNAME(False),0 }, 248*cdf0e10cSrcweir { "FileAttr", SbxINTEGER, 2 | _FUNCTION, RTLNAME(FileAttr),0 }, 249*cdf0e10cSrcweir { "Channel", SbxINTEGER, 0,NULL,0 }, 250*cdf0e10cSrcweir { "Attributes", SbxINTEGER, 0,NULL,0 }, 251*cdf0e10cSrcweir { "FileCopy", SbxNULL, 2 | _FUNCTION, RTLNAME(FileCopy),0 }, 252*cdf0e10cSrcweir { "Source", SbxSTRING, 0,NULL,0 }, 253*cdf0e10cSrcweir { "Destination", SbxSTRING, 0,NULL,0 }, 254*cdf0e10cSrcweir { "FileDateTime", SbxSTRING, 1 | _FUNCTION, RTLNAME(FileDateTime),0 }, 255*cdf0e10cSrcweir { "filename", SbxSTRING, 0,NULL,0 }, 256*cdf0e10cSrcweir { "FileExists", SbxBOOL, 1 | _FUNCTION, RTLNAME(FileExists),0 }, 257*cdf0e10cSrcweir { "filename", SbxSTRING, 0,NULL,0 }, 258*cdf0e10cSrcweir { "FileLen", SbxLONG, 1 | _FUNCTION, RTLNAME(FileLen),0 }, 259*cdf0e10cSrcweir { "filename", SbxSTRING, 0,NULL,0 }, 260*cdf0e10cSrcweir { "FindObject", SbxOBJECT, 1 | _FUNCTION, RTLNAME(FindObject),0 }, 261*cdf0e10cSrcweir { "Name", SbxSTRING, 0,NULL,0 }, 262*cdf0e10cSrcweir { "FindPropertyObject", SbxOBJECT, 2 | _FUNCTION, RTLNAME(FindPropertyObject),0 }, 263*cdf0e10cSrcweir { "Object", SbxOBJECT, 0,NULL,0 }, 264*cdf0e10cSrcweir { "Name", SbxSTRING, 0,NULL,0 }, 265*cdf0e10cSrcweir { "Fix", SbxDOUBLE, 1 | _FUNCTION, RTLNAME(Fix),0 }, 266*cdf0e10cSrcweir { "number", SbxDOUBLE, 0,NULL,0 }, 267*cdf0e10cSrcweir { "Format", SbxSTRING, 2 | _FUNCTION, RTLNAME(Format),0 }, 268*cdf0e10cSrcweir { "expression", SbxVARIANT, 0,NULL,0 }, 269*cdf0e10cSrcweir { "format", SbxSTRING, _OPT, NULL,0 }, 270*cdf0e10cSrcweir { "FormatDateTime", SbxSTRING, 2 | _FUNCTION | _COMPTMASK, RTLNAME(FormatDateTime),0 }, 271*cdf0e10cSrcweir { "Date", SbxDATE, 0,NULL,0 }, 272*cdf0e10cSrcweir { "NamedFormat", SbxINTEGER, _OPT, NULL,0 }, 273*cdf0e10cSrcweir { "FRAMEANCHORCHAR", SbxINTEGER, _CPROP, RTLNAME(FRAMEANCHORCHAR),0 }, 274*cdf0e10cSrcweir { "FRAMEANCHORPAGE", SbxINTEGER, _CPROP, RTLNAME(FRAMEANCHORPAGE),0 }, 275*cdf0e10cSrcweir { "FRAMEANCHORPARA", SbxINTEGER, _CPROP, RTLNAME(FRAMEANCHORPARA),0 }, 276*cdf0e10cSrcweir { "FreeFile", SbxINTEGER, _FUNCTION, RTLNAME(FreeFile),0 }, 277*cdf0e10cSrcweir { "FreeLibrary", SbxNULL, 1 | _FUNCTION, RTLNAME(FreeLibrary),0 }, 278*cdf0e10cSrcweir { "Modulename", SbxSTRING, 0,NULL,0 }, 279*cdf0e10cSrcweir 280*cdf0e10cSrcweir { "Get", SbxNULL, 3 | _FUNCTION, RTLNAME(Get),0 }, 281*cdf0e10cSrcweir { "filenumber", SbxINTEGER, 0,NULL,0 }, 282*cdf0e10cSrcweir { "recordnumber", SbxLONG, 0,NULL,0 }, 283*cdf0e10cSrcweir { "variablename", SbxVARIANT, 0,NULL,0 }, 284*cdf0e10cSrcweir { "GetAttr", SbxINTEGER, 1 | _FUNCTION, RTLNAME(GetAttr),0 }, 285*cdf0e10cSrcweir { "filename", SbxSTRING, 0,NULL,0 }, 286*cdf0e10cSrcweir { "GetDefaultContext", SbxOBJECT, 0 | _FUNCTION, RTLNAME(GetDefaultContext),0 }, 287*cdf0e10cSrcweir { "GetDialogZoomFactorX", SbxDOUBLE, _FUNCTION,RTLNAME(GetDialogZoomFactorX),0 }, 288*cdf0e10cSrcweir { "GetDialogZoomFactorY", SbxDOUBLE, _FUNCTION,RTLNAME(GetDialogZoomFactorY),0 }, 289*cdf0e10cSrcweir { "GetGUIType", SbxINTEGER, _FUNCTION,RTLNAME(GetGUIType),0 }, 290*cdf0e10cSrcweir { "GetGUIVersion", SbxLONG, _FUNCTION,RTLNAME(GetGUIVersion),0 }, 291*cdf0e10cSrcweir { "GetPathSeparator", SbxSTRING, _FUNCTION,RTLNAME(GetPathSeparator),0 }, 292*cdf0e10cSrcweir { "GetProcessServiceManager", SbxOBJECT, 0 | _FUNCTION, RTLNAME(GetProcessServiceManager),0 }, 293*cdf0e10cSrcweir { "GetSolarVersion", SbxLONG, _FUNCTION,RTLNAME(GetSolarVersion),0 }, 294*cdf0e10cSrcweir { "GetSystemTicks", SbxLONG, _FUNCTION,RTLNAME(GetSystemTicks),0 }, 295*cdf0e10cSrcweir { "GetSystemType", SbxINTEGER, _FUNCTION,RTLNAME(GetSystemType),0 }, 296*cdf0e10cSrcweir { "GlobalScope", SbxOBJECT, _FUNCTION,RTLNAME(GlobalScope),0 }, 297*cdf0e10cSrcweir { "Green", SbxINTEGER, 1 | _FUNCTION, RTLNAME(Green),0 }, 298*cdf0e10cSrcweir { "RGB-Value", SbxLONG, 0,NULL,0 }, 299*cdf0e10cSrcweir 300*cdf0e10cSrcweir { "HasUnoInterfaces", SbxBOOL, 1 | _FUNCTION, RTLNAME(HasUnoInterfaces),0}, 301*cdf0e10cSrcweir { "InterfaceName",SbxSTRING, 0,NULL,0 }, 302*cdf0e10cSrcweir { "Hex", SbxSTRING, 1 | _FUNCTION, RTLNAME(Hex),0 }, 303*cdf0e10cSrcweir { "number", SbxLONG, 0,NULL,0 }, 304*cdf0e10cSrcweir { "Hour", SbxINTEGER, 1 | _FUNCTION, RTLNAME(Hour),0 }, 305*cdf0e10cSrcweir { "Date", SbxDATE, 0,NULL,0 }, 306*cdf0e10cSrcweir 307*cdf0e10cSrcweir { "IDABORT", SbxINTEGER, _CPROP, RTLNAME(IDABORT),0 }, 308*cdf0e10cSrcweir { "IDCANCEL", SbxINTEGER, _CPROP, RTLNAME(IDCANCEL),0 }, 309*cdf0e10cSrcweir { "IDNO", SbxINTEGER, _CPROP, RTLNAME(IDNO),0 }, 310*cdf0e10cSrcweir { "IDOK", SbxINTEGER, _CPROP, RTLNAME(IDOK),0 }, 311*cdf0e10cSrcweir { "IDRETRY", SbxINTEGER, _CPROP, RTLNAME(IDRETRY),0 }, 312*cdf0e10cSrcweir { "IDYES", SbxINTEGER, _CPROP, RTLNAME(IDYES),0 }, 313*cdf0e10cSrcweir 314*cdf0e10cSrcweir { "Iif", SbxVARIANT, 3 | _FUNCTION, RTLNAME(Iif),0 }, 315*cdf0e10cSrcweir { "Bool", SbxBOOL, 0,NULL,0 }, 316*cdf0e10cSrcweir { "Variant1", SbxVARIANT, 0,NULL,0 }, 317*cdf0e10cSrcweir { "Variant2", SbxVARIANT, 0,NULL,0 }, 318*cdf0e10cSrcweir 319*cdf0e10cSrcweir { "Input", SbxSTRING, 2 | _FUNCTION | _COMPTMASK, RTLNAME(Input),0}, 320*cdf0e10cSrcweir { "Number", SbxLONG, 0,NULL,0 }, 321*cdf0e10cSrcweir { "FileNumber", SbxLONG, 0,NULL,0 }, 322*cdf0e10cSrcweir { "InputBox", SbxSTRING, 5 | _FUNCTION, RTLNAME(InputBox),0 }, 323*cdf0e10cSrcweir { "Prompt", SbxSTRING, 0,NULL,0 }, 324*cdf0e10cSrcweir { "Title", SbxSTRING, _OPT, NULL,0 }, 325*cdf0e10cSrcweir { "Default", SbxSTRING, _OPT, NULL,0 }, 326*cdf0e10cSrcweir { "XPosTwips", SbxLONG, _OPT, NULL,0 }, 327*cdf0e10cSrcweir { "YPosTwips", SbxLONG, _OPT, NULL,0 }, 328*cdf0e10cSrcweir { "InStr", SbxLONG, 4 | _FUNCTION, RTLNAME(InStr),0 }, 329*cdf0e10cSrcweir { "Start", SbxSTRING, _OPT, NULL,0 }, 330*cdf0e10cSrcweir { "String1", SbxSTRING, 0,NULL,0 }, 331*cdf0e10cSrcweir { "String2", SbxSTRING, 0,NULL,0 }, 332*cdf0e10cSrcweir { "Compare", SbxINTEGER, _OPT, NULL,0 }, 333*cdf0e10cSrcweir { "InStrRev", SbxLONG, 4 | _FUNCTION | _COMPTMASK, RTLNAME(InStrRev),0}, 334*cdf0e10cSrcweir { "String1", SbxSTRING, 0,NULL,0 }, 335*cdf0e10cSrcweir { "String2", SbxSTRING, 0,NULL,0 }, 336*cdf0e10cSrcweir { "Start", SbxSTRING, _OPT, NULL,0 }, 337*cdf0e10cSrcweir { "Compare", SbxINTEGER, _OPT, NULL,0 }, 338*cdf0e10cSrcweir { "Int", SbxDOUBLE, 1 | _FUNCTION, RTLNAME(Int),0 }, 339*cdf0e10cSrcweir { "number", SbxDOUBLE, 0,NULL,0 }, 340*cdf0e10cSrcweir { "IsArray", SbxBOOL, 1 | _FUNCTION, RTLNAME(IsArray),0 }, 341*cdf0e10cSrcweir { "Variant", SbxVARIANT, 0,NULL,0 }, 342*cdf0e10cSrcweir { "IsDate", SbxBOOL, 1 | _FUNCTION, RTLNAME(IsDate),0 }, 343*cdf0e10cSrcweir { "Variant", SbxVARIANT, 0,NULL,0 }, 344*cdf0e10cSrcweir { "IsEmpty", SbxBOOL, 1 | _FUNCTION, RTLNAME(IsEmpty),0 }, 345*cdf0e10cSrcweir { "Variant", SbxVARIANT, 0,NULL,0 }, 346*cdf0e10cSrcweir { "IsError", SbxBOOL, 1 | _FUNCTION, RTLNAME(IsError),0 }, 347*cdf0e10cSrcweir { "Variant", SbxVARIANT, 0,NULL,0 }, 348*cdf0e10cSrcweir { "IsMissing", SbxBOOL, 1 | _FUNCTION, RTLNAME(IsMissing),0 }, 349*cdf0e10cSrcweir { "Variant", SbxVARIANT, 0,NULL,0 }, 350*cdf0e10cSrcweir { "IsNull", SbxBOOL, 1 | _FUNCTION, RTLNAME(IsNull),0 }, 351*cdf0e10cSrcweir { "Variant", SbxVARIANT, 0,NULL,0 }, 352*cdf0e10cSrcweir { "IsNumeric", SbxBOOL, 1 | _FUNCTION, RTLNAME(IsNumeric),0 }, 353*cdf0e10cSrcweir { "Variant", SbxVARIANT, 0,NULL,0 }, 354*cdf0e10cSrcweir { "IsObject", SbxBOOL, 1 | _FUNCTION, RTLNAME(IsObject),0 }, 355*cdf0e10cSrcweir { "Variant", SbxVARIANT, 0,NULL,0 }, 356*cdf0e10cSrcweir { "IsUnoStruct", SbxBOOL, 1 | _FUNCTION, RTLNAME(IsUnoStruct),0 }, 357*cdf0e10cSrcweir { "Variant", SbxVARIANT, 0,NULL,0 }, 358*cdf0e10cSrcweir { "Join", SbxSTRING, 2 | _FUNCTION, RTLNAME(Join),0 }, 359*cdf0e10cSrcweir { "list", SbxOBJECT, 0,NULL,0 }, 360*cdf0e10cSrcweir { "delimiter", SbxSTRING, 0,NULL,0 }, 361*cdf0e10cSrcweir { "Kill", SbxNULL, 1 | _FUNCTION, RTLNAME(Kill),0 }, 362*cdf0e10cSrcweir { "filespec", SbxSTRING, 0,NULL,0 }, 363*cdf0e10cSrcweir { "LBound", SbxLONG, 1 | _FUNCTION, RTLNAME(LBound),0 }, 364*cdf0e10cSrcweir { "Variant", SbxVARIANT, 0,NULL,0 }, 365*cdf0e10cSrcweir { "LCase", SbxSTRING, 1 | _FUNCTION, RTLNAME(LCase),0 }, 366*cdf0e10cSrcweir { "string", SbxSTRING, 0,NULL,0 }, 367*cdf0e10cSrcweir { "Left", SbxSTRING, 2 | _FUNCTION, RTLNAME(Left),0 }, 368*cdf0e10cSrcweir { "String", SbxSTRING, 0,NULL,0 }, 369*cdf0e10cSrcweir { "Count", SbxLONG, 0,NULL,0 }, 370*cdf0e10cSrcweir { "Len", SbxLONG, 1 | _FUNCTION, RTLNAME(Len),0 }, 371*cdf0e10cSrcweir { "StringOrVariant", SbxVARIANT, 0,NULL,0 }, 372*cdf0e10cSrcweir { "LenB", SbxLONG, 1 | _FUNCTION, RTLNAME(Len),0 }, 373*cdf0e10cSrcweir { "StringOrVariant", SbxVARIANT, 0,NULL,0 }, 374*cdf0e10cSrcweir { "Load", SbxNULL, 1 | _FUNCTION, RTLNAME(Load),0 }, 375*cdf0e10cSrcweir { "object", SbxOBJECT, 0,NULL,0 }, 376*cdf0e10cSrcweir { "LoadPicture", SbxOBJECT, 1 | _FUNCTION, RTLNAME(LoadPicture),0 }, 377*cdf0e10cSrcweir { "string", SbxSTRING, 0,NULL,0 }, 378*cdf0e10cSrcweir { "Loc", SbxLONG, 1 | _FUNCTION, RTLNAME(Loc),0 }, 379*cdf0e10cSrcweir { "Channel", SbxINTEGER, 0,NULL,0 }, 380*cdf0e10cSrcweir { "Lof", SbxLONG, 1 | _FUNCTION, RTLNAME(Lof),0 }, 381*cdf0e10cSrcweir { "Channel", SbxINTEGER, 0,NULL,0 }, 382*cdf0e10cSrcweir { "Log", SbxDOUBLE, 1 | _FUNCTION, RTLNAME(Log),0 }, 383*cdf0e10cSrcweir { "number", SbxDOUBLE, 0,NULL,0 }, 384*cdf0e10cSrcweir { "LTrim", SbxSTRING, 1 | _FUNCTION, RTLNAME(LTrim),0 }, 385*cdf0e10cSrcweir { "string", SbxSTRING, 0,NULL,0 }, 386*cdf0e10cSrcweir 387*cdf0e10cSrcweir { "MB_ABORTRETRYIGNORE", SbxINTEGER, _CPROP, RTLNAME(MB_ABORTRETRYIGNORE),0}, 388*cdf0e10cSrcweir { "MB_APPLMODAL", SbxINTEGER, _CPROP, RTLNAME(MB_APPLMODAL),0 }, 389*cdf0e10cSrcweir { "MB_DEFBUTTON1", SbxINTEGER, _CPROP, RTLNAME(MB_DEFBUTTON1),0 }, 390*cdf0e10cSrcweir { "MB_DEFBUTTON2", SbxINTEGER, _CPROP, RTLNAME(MB_DEFBUTTON2),0 }, 391*cdf0e10cSrcweir { "MB_DEFBUTTON3", SbxINTEGER, _CPROP, RTLNAME(MB_DEFBUTTON3),0 }, 392*cdf0e10cSrcweir { "MB_ICONEXCLAMATION", SbxINTEGER, _CPROP, RTLNAME(MB_ICONEXCLAMATION),0}, 393*cdf0e10cSrcweir { "MB_ICONINFORMATION", SbxINTEGER, _CPROP, RTLNAME(MB_ICONINFORMATION),0}, 394*cdf0e10cSrcweir { "MB_ICONQUESTION",SbxINTEGER, _CPROP, RTLNAME(MB_ICONQUESTION),0 }, 395*cdf0e10cSrcweir { "MB_ICONSTOP", SbxINTEGER, _CPROP, RTLNAME(MB_ICONSTOP),0 }, 396*cdf0e10cSrcweir { "MB_OK", SbxINTEGER, _CPROP, RTLNAME(MB_OK),0 }, 397*cdf0e10cSrcweir { "MB_OKCANCEL", SbxINTEGER, _CPROP, RTLNAME(MB_OKCANCEL),0 }, 398*cdf0e10cSrcweir { "MB_RETRYCANCEL", SbxINTEGER, _CPROP, RTLNAME(MB_RETRYCANCEL),0 }, 399*cdf0e10cSrcweir { "MB_SYSTEMMODAL", SbxINTEGER, _CPROP, RTLNAME(MB_SYSTEMMODAL),0 }, 400*cdf0e10cSrcweir { "MB_YESNO", SbxINTEGER, _CPROP, RTLNAME(MB_YESNO),0 }, 401*cdf0e10cSrcweir { "MB_YESNOCANCEL", SbxINTEGER, _CPROP, RTLNAME(MB_YESNOCANCEL),0 }, 402*cdf0e10cSrcweir 403*cdf0e10cSrcweir { "Me", SbxOBJECT, 0 | _FUNCTION | _COMPTMASK, RTLNAME(Me),0 }, 404*cdf0e10cSrcweir { "Mid", SbxSTRING, 3 | _LFUNCTION,RTLNAME(Mid),0 }, 405*cdf0e10cSrcweir { "String", SbxSTRING, 0,NULL,0 }, 406*cdf0e10cSrcweir { "StartPos", SbxLONG, 0,NULL,0 }, 407*cdf0e10cSrcweir { "Length", SbxLONG, _OPT, NULL,0 }, 408*cdf0e10cSrcweir { "Minute", SbxINTEGER, 1 | _FUNCTION, RTLNAME(Minute),0 }, 409*cdf0e10cSrcweir { "Date", SbxDATE, 0,NULL,0 }, 410*cdf0e10cSrcweir { "MkDir", SbxNULL, 1 | _FUNCTION, RTLNAME(MkDir),0 }, 411*cdf0e10cSrcweir { "pathname", SbxSTRING, 0,NULL,0 }, 412*cdf0e10cSrcweir { "Month", SbxINTEGER, 1 | _FUNCTION, RTLNAME(Month),0 }, 413*cdf0e10cSrcweir { "Date", SbxDATE, 0,NULL,0 }, 414*cdf0e10cSrcweir { "MonthName", SbxSTRING, 2 | _FUNCTION | _COMPTMASK, RTLNAME(MonthName),0 }, 415*cdf0e10cSrcweir { "Month", SbxINTEGER, 0,NULL,0 }, 416*cdf0e10cSrcweir { "Abbreviate", SbxBOOL, _OPT, NULL,0 }, 417*cdf0e10cSrcweir { "MsgBox", SbxINTEGER, 5 | _FUNCTION, RTLNAME(MsgBox),0 }, 418*cdf0e10cSrcweir { "Prompt", SbxSTRING, 0,NULL,0 }, 419*cdf0e10cSrcweir { "Buttons", SbxINTEGER, _OPT, NULL,0 }, 420*cdf0e10cSrcweir { "Title", SbxSTRING, _OPT, NULL,0 }, 421*cdf0e10cSrcweir { "Helpfile", SbxSTRING, _OPT, NULL,0 }, 422*cdf0e10cSrcweir { "Context", SbxINTEGER, _OPT, NULL,0 }, 423*cdf0e10cSrcweir 424*cdf0e10cSrcweir { "Nothing", SbxOBJECT, _CPROP, RTLNAME(Nothing),0 }, 425*cdf0e10cSrcweir { "Now", SbxDATE, _FUNCTION, RTLNAME(Now),0 }, 426*cdf0e10cSrcweir { "Null", SbxNULL, _CPROP, RTLNAME(Null),0 }, 427*cdf0e10cSrcweir 428*cdf0e10cSrcweir { "Oct", SbxSTRING, 1 | _FUNCTION, RTLNAME(Oct),0 }, 429*cdf0e10cSrcweir { "number", SbxLONG, 0,NULL,0 }, 430*cdf0e10cSrcweir 431*cdf0e10cSrcweir { "Partition", SbxSTRING, 4 | _FUNCTION, RTLNAME(Partition),0 }, 432*cdf0e10cSrcweir { "number", SbxLONG, 0,NULL,0 }, 433*cdf0e10cSrcweir { "start", SbxLONG, 0,NULL,0 }, 434*cdf0e10cSrcweir { "stop", SbxLONG, 0,NULL,0 }, 435*cdf0e10cSrcweir { "interval", SbxLONG, 0,NULL,0 }, 436*cdf0e10cSrcweir { "Pi", SbxDOUBLE, _CPROP, RTLNAME(PI),0 }, 437*cdf0e10cSrcweir { "Put", SbxNULL, 3 | _FUNCTION, RTLNAME(Put),0 }, 438*cdf0e10cSrcweir { "filenumber", SbxINTEGER, 0,NULL,0 }, 439*cdf0e10cSrcweir { "recordnumber", SbxLONG, 0,NULL,0 }, 440*cdf0e10cSrcweir { "variablename", SbxVARIANT, 0,NULL,0 }, 441*cdf0e10cSrcweir 442*cdf0e10cSrcweir { "QBColor", SbxLONG, 1 | _FUNCTION, RTLNAME(QBColor),0 }, 443*cdf0e10cSrcweir { "number", SbxINTEGER, 0,NULL,0 }, 444*cdf0e10cSrcweir 445*cdf0e10cSrcweir { "Randomize", SbxNULL, 1 | _FUNCTION, RTLNAME(Randomize),0 }, 446*cdf0e10cSrcweir { "Number", SbxDOUBLE, _OPT, NULL,0 }, 447*cdf0e10cSrcweir { "Red", SbxINTEGER, 1 | _FUNCTION, RTLNAME(Red),0 }, 448*cdf0e10cSrcweir { "RGB-Value", SbxLONG, 0,NULL,0 }, 449*cdf0e10cSrcweir { "Reset", SbxNULL, 0 | _FUNCTION, RTLNAME(Reset),0 }, 450*cdf0e10cSrcweir { "ResolvePath", SbxSTRING, 1 | _FUNCTION, RTLNAME(ResolvePath),0 }, 451*cdf0e10cSrcweir { "Path", SbxSTRING, 0,NULL,0 }, 452*cdf0e10cSrcweir { "RGB", SbxLONG, 3 | _FUNCTION, RTLNAME(RGB),0 }, 453*cdf0e10cSrcweir { "Red", SbxINTEGER, 0,NULL,0 }, 454*cdf0e10cSrcweir { "Green", SbxINTEGER, 0,NULL,0 }, 455*cdf0e10cSrcweir { "Blue", SbxINTEGER, 0,NULL,0 }, 456*cdf0e10cSrcweir { "Replace", SbxSTRING, 6 | _FUNCTION, RTLNAME(Replace),0 }, 457*cdf0e10cSrcweir { "Expression", SbxSTRING, 0,NULL,0 }, 458*cdf0e10cSrcweir { "Find", SbxSTRING, 0,NULL,0 }, 459*cdf0e10cSrcweir { "Replace", SbxSTRING, 0,NULL,0 }, 460*cdf0e10cSrcweir { "Start", SbxINTEGER, _OPT, NULL,0 }, 461*cdf0e10cSrcweir { "Count", SbxINTEGER, _OPT, NULL,0 }, 462*cdf0e10cSrcweir { "Compare", SbxINTEGER, _OPT, NULL,0 }, 463*cdf0e10cSrcweir { "Right", SbxSTRING, 2 | _FUNCTION, RTLNAME(Right),0 }, 464*cdf0e10cSrcweir { "String", SbxSTRING, 0,NULL,0 }, 465*cdf0e10cSrcweir { "Count", SbxLONG, 0,NULL,0 }, 466*cdf0e10cSrcweir { "RmDir", SbxNULL, 1 | _FUNCTION, RTLNAME(RmDir),0 }, 467*cdf0e10cSrcweir { "pathname", SbxSTRING, 0,NULL,0 }, 468*cdf0e10cSrcweir { "Round", SbxDOUBLE, 2 | _FUNCTION | _COMPTMASK, RTLNAME(Round),0}, 469*cdf0e10cSrcweir { "Expression", SbxDOUBLE, 0,NULL,0 }, 470*cdf0e10cSrcweir { "Numdecimalplaces", SbxINTEGER, _OPT, NULL,0 }, 471*cdf0e10cSrcweir { "Rnd", SbxDOUBLE, 1 | _FUNCTION, RTLNAME(Rnd),0 }, 472*cdf0e10cSrcweir { "Number", SbxDOUBLE, _OPT, NULL,0 }, 473*cdf0e10cSrcweir { "RTL", SbxOBJECT, 0 | _FUNCTION | _COMPTMASK, RTLNAME(RTL),0}, 474*cdf0e10cSrcweir { "RTrim", SbxSTRING, 1 | _FUNCTION, RTLNAME(RTrim),0 }, 475*cdf0e10cSrcweir { "string", SbxSTRING, 0,NULL,0 }, 476*cdf0e10cSrcweir 477*cdf0e10cSrcweir { "SavePicture", SbxNULL, 2 | _FUNCTION, RTLNAME(SavePicture),0 }, 478*cdf0e10cSrcweir { "object", SbxOBJECT, 0,NULL,0 }, 479*cdf0e10cSrcweir { "string", SbxSTRING, 0,NULL,0 }, 480*cdf0e10cSrcweir { "Second", SbxINTEGER, 1 | _FUNCTION, RTLNAME(Second),0 }, 481*cdf0e10cSrcweir { "Date", SbxDATE, 0,NULL,0 }, 482*cdf0e10cSrcweir { "Seek", SbxLONG, 1 | _FUNCTION, RTLNAME(Seek),0 }, 483*cdf0e10cSrcweir { "Channel", SbxINTEGER, 0,NULL,0 }, 484*cdf0e10cSrcweir { "SendKeys", SbxNULL, 2 | _FUNCTION, RTLNAME(SendKeys),0 }, 485*cdf0e10cSrcweir { "String", SbxSTRING, 0,NULL,0 }, 486*cdf0e10cSrcweir { "Wait", SbxBOOL, _OPT, NULL,0 }, 487*cdf0e10cSrcweir { "SetAttr", SbxNULL, 2 | _FUNCTION, RTLNAME(SetAttr),0 }, 488*cdf0e10cSrcweir { "File" , SbxSTRING, 0,NULL,0 }, 489*cdf0e10cSrcweir { "Attributes", SbxINTEGER, 0,NULL,0 }, 490*cdf0e10cSrcweir { "SET_OFF", SbxINTEGER, _CPROP, RTLNAME(SET_OFF),0 }, 491*cdf0e10cSrcweir { "SET_ON", SbxINTEGER, _CPROP, RTLNAME(SET_ON),0 }, 492*cdf0e10cSrcweir { "SET_TAB", SbxINTEGER, _CPROP, RTLNAME(SET_TAB),0 }, 493*cdf0e10cSrcweir { "Sgn", SbxINTEGER, 1 | _FUNCTION, RTLNAME(Sgn),0 }, 494*cdf0e10cSrcweir { "number", SbxDOUBLE, 0,NULL,0 }, 495*cdf0e10cSrcweir { "Shell", SbxLONG, 2 | _FUNCTION, RTLNAME(Shell),0 }, 496*cdf0e10cSrcweir { "Commandstring",SbxSTRING, 0,NULL,0 }, 497*cdf0e10cSrcweir { "WindowStyle", SbxINTEGER, _OPT, NULL,0 }, 498*cdf0e10cSrcweir { "Sin", SbxDOUBLE, 1 | _FUNCTION, RTLNAME(Sin),0 }, 499*cdf0e10cSrcweir { "number", SbxDOUBLE, 0,NULL,0 }, 500*cdf0e10cSrcweir { "Space", SbxSTRING, 1 | _FUNCTION, RTLNAME(Space),0 }, 501*cdf0e10cSrcweir { "string", SbxLONG, 0,NULL,0 }, 502*cdf0e10cSrcweir { "Spc", SbxSTRING, 1 | _FUNCTION, RTLNAME(Spc),0 }, 503*cdf0e10cSrcweir { "Count", SbxLONG, 0,NULL,0 }, 504*cdf0e10cSrcweir { "Split", SbxOBJECT, 3 | _FUNCTION, RTLNAME(Split),0 }, 505*cdf0e10cSrcweir { "expression", SbxSTRING, 0,NULL,0 }, 506*cdf0e10cSrcweir { "delimiter", SbxSTRING, 0,NULL,0 }, 507*cdf0e10cSrcweir { "count", SbxLONG, 0,NULL,0 }, 508*cdf0e10cSrcweir { "Sqr", SbxDOUBLE, 1 | _FUNCTION, RTLNAME(Sqr),0 }, 509*cdf0e10cSrcweir { "number", SbxDOUBLE, 0,NULL,0 }, 510*cdf0e10cSrcweir { "Str", SbxSTRING, 1 | _FUNCTION, RTLNAME(Str),0 }, 511*cdf0e10cSrcweir { "number", SbxDOUBLE, 0,NULL,0 }, 512*cdf0e10cSrcweir { "StrComp", SbxINTEGER, 3 | _FUNCTION, RTLNAME(StrComp),0 }, 513*cdf0e10cSrcweir { "String1", SbxSTRING, 0,NULL,0 }, 514*cdf0e10cSrcweir { "String2", SbxSTRING, 0,NULL,0 }, 515*cdf0e10cSrcweir { "Compare", SbxINTEGER, _OPT, NULL,0 }, 516*cdf0e10cSrcweir { "StrConv", SbxOBJECT, 3 | _FUNCTION, RTLNAME(StrConv),0 }, 517*cdf0e10cSrcweir { "String", SbxSTRING, 0,NULL,0 }, 518*cdf0e10cSrcweir { "Conversion", SbxSTRING, 0,NULL,0 }, 519*cdf0e10cSrcweir { "LCID", SbxINTEGER, _OPT,NULL,0 }, 520*cdf0e10cSrcweir { "String", SbxSTRING, 2 | _FUNCTION, RTLNAME(String),0 }, 521*cdf0e10cSrcweir { "Count", SbxLONG, 0,NULL,0 }, 522*cdf0e10cSrcweir { "Filler", SbxVARIANT, 0,NULL,0 }, 523*cdf0e10cSrcweir { "StrReverse", SbxSTRING, 1 | _FUNCTION | _COMPTMASK, RTLNAME(StrReverse),0 }, 524*cdf0e10cSrcweir { "String1", SbxSTRING, 0,NULL,0 }, 525*cdf0e10cSrcweir { "Switch", SbxVARIANT, 2 | _FUNCTION, RTLNAME(Switch),0 }, 526*cdf0e10cSrcweir { "Expression", SbxVARIANT, 0,NULL,0 }, 527*cdf0e10cSrcweir { "Value", SbxVARIANT, 0,NULL,0 }, 528*cdf0e10cSrcweir 529*cdf0e10cSrcweir { "Tan", SbxDOUBLE, 1 | _FUNCTION, RTLNAME(Tan),0 }, 530*cdf0e10cSrcweir { "number", SbxDOUBLE, 0,NULL,0 }, 531*cdf0e10cSrcweir { "Time", SbxVARIANT, _LFUNCTION,RTLNAME(Time),0 }, 532*cdf0e10cSrcweir { "Timer", SbxDATE, _FUNCTION, RTLNAME(Timer),0 }, 533*cdf0e10cSrcweir { "TimeSerial", SbxDATE, 3 | _FUNCTION, RTLNAME(TimeSerial),0 }, 534*cdf0e10cSrcweir { "Hour", SbxLONG, 0,NULL,0 }, 535*cdf0e10cSrcweir { "Minute", SbxLONG, 0,NULL,0 }, 536*cdf0e10cSrcweir { "Second", SbxLONG, 0,NULL,0 }, 537*cdf0e10cSrcweir { "TimeValue", SbxDATE, 1 | _FUNCTION, RTLNAME(TimeValue),0 }, 538*cdf0e10cSrcweir { "String", SbxSTRING, 0,NULL,0 }, 539*cdf0e10cSrcweir { "TOGGLE", SbxINTEGER, _CPROP, RTLNAME(TOGGLE),0 }, 540*cdf0e10cSrcweir #ifdef DBG_TRACE_BASIC 541*cdf0e10cSrcweir { "TraceCommand", SbxNULL, 1 | _FUNCTION, RTLNAME(TraceCommand),0 }, 542*cdf0e10cSrcweir { "Command", SbxSTRING, 0,NULL,0 }, 543*cdf0e10cSrcweir #endif 544*cdf0e10cSrcweir { "Trim", SbxSTRING, 1 | _FUNCTION, RTLNAME(Trim),0 }, 545*cdf0e10cSrcweir { "String", SbxSTRING, 0,NULL,0 }, 546*cdf0e10cSrcweir { "True", SbxBOOL, _CPROP, RTLNAME(True),0 }, 547*cdf0e10cSrcweir { "TwipsPerPixelX", SbxLONG, _FUNCTION, RTLNAME(TwipsPerPixelX),0 }, 548*cdf0e10cSrcweir { "TwipsPerPixelY", SbxLONG, _FUNCTION, RTLNAME(TwipsPerPixelY),0 }, 549*cdf0e10cSrcweir 550*cdf0e10cSrcweir { "TYP_AUTHORFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_AUTHORFLD),0 }, 551*cdf0e10cSrcweir { "TYP_CHAPTERFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_CHAPTERFLD),0 }, 552*cdf0e10cSrcweir { "TYP_CONDTXTFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_CONDTXTFLD),0 }, 553*cdf0e10cSrcweir { "TYP_DATEFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_DATEFLD),0 }, 554*cdf0e10cSrcweir { "TYP_DBFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_DBFLD),0 }, 555*cdf0e10cSrcweir { "TYP_DBNAMEFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_DBNAMEFLD),0 }, 556*cdf0e10cSrcweir { "TYP_DBNEXTSETFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_DBNEXTSETFLD),0 }, 557*cdf0e10cSrcweir { "TYP_DBNUMSETFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_DBNUMSETFLD),0 }, 558*cdf0e10cSrcweir { "TYP_DBSETNUMBERFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_DBSETNUMBERFLD),0 }, 559*cdf0e10cSrcweir { "TYP_DDEFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_DDEFLD),0 }, 560*cdf0e10cSrcweir { "TYP_DOCINFOFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_DOCINFOFLD),0 }, 561*cdf0e10cSrcweir { "TYP_DOCSTATFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_DOCSTATFLD),0 }, 562*cdf0e10cSrcweir { "TYP_EXTUSERFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_EXTUSERFLD),0 }, 563*cdf0e10cSrcweir { "TYP_FILENAMEFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_FILENAMEFLD),0 }, 564*cdf0e10cSrcweir { "TYP_FIXDATEFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_FIXDATEFLD),0 }, 565*cdf0e10cSrcweir { "TYP_FIXTIMEFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_FIXTIMEFLD),0 }, 566*cdf0e10cSrcweir { "TYP_FORMELFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_FORMELFLD),0 }, 567*cdf0e10cSrcweir { "TYP_GETFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_GETFLD),0 }, 568*cdf0e10cSrcweir { "TYP_GETREFFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_GETREFFLD),0 }, 569*cdf0e10cSrcweir { "TYP_GETREFPAGEFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_GETREFPAGEFLD),0 }, 570*cdf0e10cSrcweir { "TYP_HIDDENPARAFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_HIDDENPARAFLD),0 }, 571*cdf0e10cSrcweir { "TYP_HIDDENTXTFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_HIDDENTXTFLD),0 }, 572*cdf0e10cSrcweir { "TYP_INPUTFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_INPUTFLD),0 }, 573*cdf0e10cSrcweir { "TYP_INTERNETFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_INTERNETFLD),0 }, 574*cdf0e10cSrcweir { "TYP_JUMPEDITFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_JUMPEDITFLD),0 }, 575*cdf0e10cSrcweir { "TYP_MACROFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_MACROFLD),0 }, 576*cdf0e10cSrcweir { "TYP_NEXTPAGEFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_NEXTPAGEFLD),0 }, 577*cdf0e10cSrcweir { "TYP_PAGENUMBERFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_PAGENUMBERFLD),0 }, 578*cdf0e10cSrcweir { "TYP_POSTITFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_POSTITFLD),0 }, 579*cdf0e10cSrcweir { "TYP_PREVPAGEFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_PREVPAGEFLD),0 }, 580*cdf0e10cSrcweir { "TYP_SEQFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_SEQFLD),0 }, 581*cdf0e10cSrcweir { "TYP_SETFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_SETFLD),0 }, 582*cdf0e10cSrcweir { "TYP_SETINPFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_SETINPFLD),0 }, 583*cdf0e10cSrcweir { "TYP_SETREFFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_SETREFFLD),0 }, 584*cdf0e10cSrcweir { "TYP_SETREFPAGEFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_SETREFPAGEFLD),0 }, 585*cdf0e10cSrcweir { "TYP_TEMPLNAMEFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_TEMPLNAMEFLD),0}, 586*cdf0e10cSrcweir { "TYP_TIMEFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_TIMEFLD),0 }, 587*cdf0e10cSrcweir { "TYP_USERFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_USERFLD),0 }, 588*cdf0e10cSrcweir { "TYP_USRINPFLD", SbxINTEGER, _CPROP, RTLNAME(TYP_USRINPFLD),0 }, 589*cdf0e10cSrcweir 590*cdf0e10cSrcweir { "TypeLen", SbxINTEGER, 1 | _FUNCTION, RTLNAME(TypeLen),0 }, 591*cdf0e10cSrcweir { "Var", SbxVARIANT, 0,NULL,0 }, 592*cdf0e10cSrcweir { "TypeName", SbxSTRING, 1 | _FUNCTION, RTLNAME(TypeName),0 }, 593*cdf0e10cSrcweir { "Var", SbxVARIANT, 0,NULL,0 }, 594*cdf0e10cSrcweir 595*cdf0e10cSrcweir { "UBound", SbxLONG, 1 | _FUNCTION, RTLNAME(UBound),0 }, 596*cdf0e10cSrcweir { "Var", SbxVARIANT, 0,NULL,0 }, 597*cdf0e10cSrcweir { "UCase", SbxSTRING, 1 | _FUNCTION, RTLNAME(UCase),0 }, 598*cdf0e10cSrcweir { "String", SbxSTRING, 0,NULL,0 }, 599*cdf0e10cSrcweir { "Unload", SbxNULL, 1 | _FUNCTION, RTLNAME(Unload),0 }, 600*cdf0e10cSrcweir { "Dialog", SbxOBJECT, 0,NULL,0 }, 601*cdf0e10cSrcweir 602*cdf0e10cSrcweir { "Val", SbxDOUBLE, 1 | _FUNCTION, RTLNAME(Val),0 }, 603*cdf0e10cSrcweir { "String", SbxSTRING, 0,NULL,0 }, 604*cdf0e10cSrcweir { "VarType", SbxINTEGER, 1 | _FUNCTION, RTLNAME(VarType),0 }, 605*cdf0e10cSrcweir { "Var", SbxVARIANT, 0,NULL,0 }, 606*cdf0e10cSrcweir { "V_EMPTY", SbxINTEGER, _CPROP, RTLNAME(V_EMPTY),0 }, 607*cdf0e10cSrcweir { "V_NULL", SbxINTEGER, _CPROP, RTLNAME(V_NULL),0 }, 608*cdf0e10cSrcweir { "V_INTEGER", SbxINTEGER, _CPROP, RTLNAME(V_INTEGER),0 }, 609*cdf0e10cSrcweir { "V_LONG", SbxINTEGER, _CPROP, RTLNAME(V_LONG),0 }, 610*cdf0e10cSrcweir { "V_SINGLE", SbxINTEGER, _CPROP, RTLNAME(V_SINGLE),0 }, 611*cdf0e10cSrcweir { "V_DOUBLE", SbxINTEGER, _CPROP, RTLNAME(V_DOUBLE),0 }, 612*cdf0e10cSrcweir { "V_CURRENCY", SbxINTEGER, _CPROP, RTLNAME(V_CURRENCY),0 }, 613*cdf0e10cSrcweir { "V_DATE", SbxINTEGER, _CPROP, RTLNAME(V_DATE),0 }, 614*cdf0e10cSrcweir { "V_STRING", SbxINTEGER, _CPROP, RTLNAME(V_STRING),0 }, 615*cdf0e10cSrcweir 616*cdf0e10cSrcweir { "Wait", SbxNULL, 1 | _FUNCTION, RTLNAME(Wait),0 }, 617*cdf0e10cSrcweir { "Milliseconds", SbxLONG, 0,NULL,0 }, 618*cdf0e10cSrcweir //#i64882# 619*cdf0e10cSrcweir { "WaitUntil", SbxNULL, 1 | _FUNCTION, RTLNAME(WaitUntil),0 }, 620*cdf0e10cSrcweir { "Date", SbxDOUBLE, 0,NULL,0 }, 621*cdf0e10cSrcweir { "Weekday", SbxINTEGER, 2 | _FUNCTION, RTLNAME(Weekday),0 }, 622*cdf0e10cSrcweir { "Date", SbxDATE, 0,NULL,0 }, 623*cdf0e10cSrcweir { "Firstdayofweek", SbxINTEGER, _OPT, NULL,0 }, 624*cdf0e10cSrcweir { "WeekdayName", SbxSTRING, 3 | _FUNCTION | _COMPTMASK, RTLNAME(WeekdayName),0 }, 625*cdf0e10cSrcweir { "Weekday", SbxINTEGER, 0,NULL,0 }, 626*cdf0e10cSrcweir { "Abbreviate", SbxBOOL, _OPT, NULL,0 }, 627*cdf0e10cSrcweir { "Firstdayofweek", SbxINTEGER, _OPT, NULL,0 }, 628*cdf0e10cSrcweir { "Year", SbxINTEGER, 1 | _FUNCTION, RTLNAME(Year),0 }, 629*cdf0e10cSrcweir { "Date", SbxDATE, 0,NULL,0 }, 630*cdf0e10cSrcweir 631*cdf0e10cSrcweir { NULL, SbxNULL, -1,NULL,0 }}; // Tabellenende 632*cdf0e10cSrcweir 633*cdf0e10cSrcweir SbiStdObject::SbiStdObject( const String& r, StarBASIC* pb ) : SbxObject( r ) 634*cdf0e10cSrcweir { 635*cdf0e10cSrcweir // Muessen wir die Hashcodes initialisieren? 636*cdf0e10cSrcweir Methods* p = aMethods; 637*cdf0e10cSrcweir if( !p->nHash ) 638*cdf0e10cSrcweir while( p->nArgs != -1 ) 639*cdf0e10cSrcweir { 640*cdf0e10cSrcweir String aName_ = String::CreateFromAscii( p->pName ); 641*cdf0e10cSrcweir p->nHash = SbxVariable::MakeHashCode( aName_ ); 642*cdf0e10cSrcweir p += ( p->nArgs & _ARGSMASK ) + 1; 643*cdf0e10cSrcweir } 644*cdf0e10cSrcweir 645*cdf0e10cSrcweir // #i92642: Remove default properties 646*cdf0e10cSrcweir Remove( XubString( RTL_CONSTASCII_USTRINGPARAM("Name") ), SbxCLASS_DONTCARE ); 647*cdf0e10cSrcweir Remove( XubString( RTL_CONSTASCII_USTRINGPARAM("Parent") ), SbxCLASS_DONTCARE ); 648*cdf0e10cSrcweir 649*cdf0e10cSrcweir SetParent( pb ); 650*cdf0e10cSrcweir 651*cdf0e10cSrcweir pStdFactory = new SbStdFactory; 652*cdf0e10cSrcweir SbxBase::AddFactory( pStdFactory ); 653*cdf0e10cSrcweir 654*cdf0e10cSrcweir Insert( new SbStdClipboard ); 655*cdf0e10cSrcweir } 656*cdf0e10cSrcweir 657*cdf0e10cSrcweir SbiStdObject::~SbiStdObject() 658*cdf0e10cSrcweir { 659*cdf0e10cSrcweir SbxBase::RemoveFactory( pStdFactory ); 660*cdf0e10cSrcweir delete pStdFactory; 661*cdf0e10cSrcweir } 662*cdf0e10cSrcweir 663*cdf0e10cSrcweir // Suche nach einem Element: 664*cdf0e10cSrcweir // Hier wird linear durch die Methodentabelle gegangen, bis eine 665*cdf0e10cSrcweir // passende Methode gefunden wurde. Auf Grund der Bits im nArgs-Feld 666*cdf0e10cSrcweir // wird dann die passende Instanz eines SbxObjElement generiert. 667*cdf0e10cSrcweir // Wenn die Methode/Property nicht gefunden wurde, nur NULL ohne 668*cdf0e10cSrcweir // Fehlercode zurueckliefern, da so auch eine ganze Chain von 669*cdf0e10cSrcweir // Objekten nach der Methode/Property befragt werden kann. 670*cdf0e10cSrcweir 671*cdf0e10cSrcweir SbxVariable* SbiStdObject::Find( const String& rName, SbxClassType t ) 672*cdf0e10cSrcweir { 673*cdf0e10cSrcweir // Bereits eingetragen? 674*cdf0e10cSrcweir SbxVariable* pVar = SbxObject::Find( rName, t ); 675*cdf0e10cSrcweir if( !pVar ) 676*cdf0e10cSrcweir { 677*cdf0e10cSrcweir // sonst suchen 678*cdf0e10cSrcweir sal_uInt16 nHash_ = SbxVariable::MakeHashCode( rName ); 679*cdf0e10cSrcweir Methods* p = aMethods; 680*cdf0e10cSrcweir sal_Bool bFound = sal_False; 681*cdf0e10cSrcweir short nIndex = 0; 682*cdf0e10cSrcweir sal_uInt16 nSrchMask = _TYPEMASK; 683*cdf0e10cSrcweir switch( t ) 684*cdf0e10cSrcweir { 685*cdf0e10cSrcweir case SbxCLASS_METHOD: nSrchMask = _METHOD; break; 686*cdf0e10cSrcweir case SbxCLASS_PROPERTY: nSrchMask = _PROPERTY; break; 687*cdf0e10cSrcweir case SbxCLASS_OBJECT: nSrchMask = _OBJECT; break; 688*cdf0e10cSrcweir default: break; 689*cdf0e10cSrcweir } 690*cdf0e10cSrcweir while( p->nArgs != -1 ) 691*cdf0e10cSrcweir { 692*cdf0e10cSrcweir if( ( p->nArgs & nSrchMask ) 693*cdf0e10cSrcweir && ( p->nHash == nHash_ ) 694*cdf0e10cSrcweir && ( rName.EqualsIgnoreCaseAscii( p->pName ) ) ) 695*cdf0e10cSrcweir { 696*cdf0e10cSrcweir bFound = sal_True; 697*cdf0e10cSrcweir if( p->nArgs & _COMPTMASK ) 698*cdf0e10cSrcweir { 699*cdf0e10cSrcweir SbiInstance* pInst = pINST; 700*cdf0e10cSrcweir if( !pInst || !pInst->IsCompatibility() ) 701*cdf0e10cSrcweir bFound = sal_False; 702*cdf0e10cSrcweir } 703*cdf0e10cSrcweir break; 704*cdf0e10cSrcweir } 705*cdf0e10cSrcweir nIndex += ( p->nArgs & _ARGSMASK ) + 1; 706*cdf0e10cSrcweir p = aMethods + nIndex; 707*cdf0e10cSrcweir } 708*cdf0e10cSrcweir 709*cdf0e10cSrcweir if( bFound ) 710*cdf0e10cSrcweir { 711*cdf0e10cSrcweir // Args-Felder isolieren: 712*cdf0e10cSrcweir short nAccess = ( p->nArgs & _RWMASK ) >> 8; 713*cdf0e10cSrcweir short nType = ( p->nArgs & _TYPEMASK ); 714*cdf0e10cSrcweir if( p->nArgs & _CONST ) 715*cdf0e10cSrcweir nAccess |= SBX_CONST; 716*cdf0e10cSrcweir String aName_ = String::CreateFromAscii( p->pName ); 717*cdf0e10cSrcweir SbxClassType eCT = SbxCLASS_OBJECT; 718*cdf0e10cSrcweir if( nType & _PROPERTY ) 719*cdf0e10cSrcweir eCT = SbxCLASS_PROPERTY; 720*cdf0e10cSrcweir else if( nType & _METHOD ) 721*cdf0e10cSrcweir eCT = SbxCLASS_METHOD; 722*cdf0e10cSrcweir pVar = Make( aName_, eCT, p->eType ); 723*cdf0e10cSrcweir pVar->SetUserData( nIndex + 1 ); 724*cdf0e10cSrcweir pVar->SetFlags( nAccess ); 725*cdf0e10cSrcweir } 726*cdf0e10cSrcweir } 727*cdf0e10cSrcweir return pVar; 728*cdf0e10cSrcweir } 729*cdf0e10cSrcweir 730*cdf0e10cSrcweir // SetModified mu� bei der RTL abgklemmt werden 731*cdf0e10cSrcweir void SbiStdObject::SetModified( sal_Bool ) 732*cdf0e10cSrcweir { 733*cdf0e10cSrcweir } 734*cdf0e10cSrcweir 735*cdf0e10cSrcweir // Aufruf einer Property oder Methode. 736*cdf0e10cSrcweir 737*cdf0e10cSrcweir void SbiStdObject::SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType, 738*cdf0e10cSrcweir const SfxHint& rHint, const TypeId& rHintType ) 739*cdf0e10cSrcweir 740*cdf0e10cSrcweir { 741*cdf0e10cSrcweir const SbxHint* pHint = PTR_CAST(SbxHint,&rHint); 742*cdf0e10cSrcweir if( pHint ) 743*cdf0e10cSrcweir { 744*cdf0e10cSrcweir SbxVariable* pVar = pHint->GetVar(); 745*cdf0e10cSrcweir SbxArray* pPar_ = pVar->GetParameters(); 746*cdf0e10cSrcweir sal_uIntPtr t = pHint->GetId(); 747*cdf0e10cSrcweir sal_uInt16 nCallId = (sal_uInt16) pVar->GetUserData(); 748*cdf0e10cSrcweir if( nCallId ) 749*cdf0e10cSrcweir { 750*cdf0e10cSrcweir if( t == SBX_HINT_INFOWANTED ) 751*cdf0e10cSrcweir pVar->SetInfo( GetInfo( (short) pVar->GetUserData() ) ); 752*cdf0e10cSrcweir else 753*cdf0e10cSrcweir { 754*cdf0e10cSrcweir sal_Bool bWrite = sal_False; 755*cdf0e10cSrcweir if( t == SBX_HINT_DATACHANGED ) 756*cdf0e10cSrcweir bWrite = sal_True; 757*cdf0e10cSrcweir if( t == SBX_HINT_DATAWANTED || bWrite ) 758*cdf0e10cSrcweir { 759*cdf0e10cSrcweir RtlCall p = (RtlCall) aMethods[ nCallId-1 ].pFunc; 760*cdf0e10cSrcweir SbxArrayRef rPar( pPar_ ); 761*cdf0e10cSrcweir if( !pPar_ ) 762*cdf0e10cSrcweir { 763*cdf0e10cSrcweir rPar = pPar_ = new SbxArray; 764*cdf0e10cSrcweir pPar_->Put( pVar, 0 ); 765*cdf0e10cSrcweir } 766*cdf0e10cSrcweir p( (StarBASIC*) GetParent(), *pPar_, bWrite ); 767*cdf0e10cSrcweir return; 768*cdf0e10cSrcweir } 769*cdf0e10cSrcweir } 770*cdf0e10cSrcweir } 771*cdf0e10cSrcweir SbxObject::SFX_NOTIFY( rBC, rBCType, rHint, rHintType ); 772*cdf0e10cSrcweir } 773*cdf0e10cSrcweir } 774*cdf0e10cSrcweir 775*cdf0e10cSrcweir // Zusammenbau der Infostruktur fuer einzelne Elemente 776*cdf0e10cSrcweir // Falls nIdx = 0, nix erzeugen (sind Std-Props!) 777*cdf0e10cSrcweir 778*cdf0e10cSrcweir SbxInfo* SbiStdObject::GetInfo( short nIdx ) 779*cdf0e10cSrcweir { 780*cdf0e10cSrcweir if( !nIdx ) 781*cdf0e10cSrcweir return NULL; 782*cdf0e10cSrcweir Methods* p = &aMethods[ --nIdx ]; 783*cdf0e10cSrcweir // Wenn mal eine Hilfedatei zur Verfuegung steht: 784*cdf0e10cSrcweir // SbxInfo* pInfo_ = new SbxInfo( Hilfedateiname, p->nHelpId ); 785*cdf0e10cSrcweir SbxInfo* pInfo_ = new SbxInfo; 786*cdf0e10cSrcweir short nPar = p->nArgs & _ARGSMASK; 787*cdf0e10cSrcweir for( short i = 0; i < nPar; i++ ) 788*cdf0e10cSrcweir { 789*cdf0e10cSrcweir p++; 790*cdf0e10cSrcweir String aName_ = String::CreateFromAscii( p->pName ); 791*cdf0e10cSrcweir sal_uInt16 nFlags_ = ( p->nArgs >> 8 ) & 0x03; 792*cdf0e10cSrcweir if( p->nArgs & _OPT ) 793*cdf0e10cSrcweir nFlags_ |= SBX_OPTIONAL; 794*cdf0e10cSrcweir pInfo_->AddParam( aName_, p->eType, nFlags_ ); 795*cdf0e10cSrcweir } 796*cdf0e10cSrcweir return pInfo_; 797*cdf0e10cSrcweir } 798*cdf0e10cSrcweir 799