xref: /AOO41X/main/basic/source/runtime/stdobj.cxx (revision cdf0e10c4e3984b49a9502b011690b615761d4a3)
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