merged tag ooo/OOO330_m14
[LibreOffice.git] / extensions / test / ole / OleTest.htm
blob93d0fdc4ee5212932673d762ab91ffb5ecbf3ac7
1 <HTML>
2 <HEAD>
3 <META NAME="GENERATOR" Content="Microsoft Developer Studio">
4 <META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
5 <TITLE>Document Title</TITLE>
6 </HEAD>
7 <BODY id=theBody>
9 <script language="JScript">
10 // XEventListener implementation in JScript --------------------------------------------------
11 function XEventListener_Impl()
13 this._environment= "JScript";
14 this._implementedInterfaces= new Array( "com.sun.star.lang.XEventListener");
16 //XEventListener
17 this.disposing= XEventListener_disposing;
19 this.bdisposingCalled= false;
20 this.bQuiet= true;
21 this.resetDisposing= XEventListener_resetDisposing;
22 this.disposingCalled= XEventListener_disposingCalled;
25 function XEventListener_disposing( source)
27 if( !this.bQuiet)
28 alert("JScript Event Listener \n disposing is being called");
29 this.bdisposingCalled= true;
32 function XEventListener_resetDisposing()
34 this.bdisposingCalled= false;
37 function XEventListener_disposingCalled()
39 return this.bdisposingCalled;
42 //--------------------------------------------------------------------------------------------
43 function callOleTest( id)
45 var factory= new ActiveXObject("com.sun.star.ServiceManager");
46 var oletest= factory.createInstance("oletest.OleTest");
47 // alert(oletest);
49 var arr= new Array( 1, 2, 3, 4, 0);
50 var arrDouble= new Array( 1.2345, 12.345, 123,45, 1234.5, 12345);
51 var arrBool= new Array( 1, 0, 2, 0, 3);
52 var arrChar= new Array( '1', 'A', "1", "A", ' ', 55, 56);
53 var arrString= new Array("hamburger","cheeseburger", "chicken nuggets", "chicken wings" , "pizza");
54 var arrAny= new Array( 100, 100.1235,"hallo");
55 var arrSeq= new Array( arr, arr, arr);
56 var arrSeq2= new Array( arrSeq, arrSeq, arrSeq)
59 var arrout1= new Array();
60 var arrout2= new Array();
61 var arrout3= new Array();
63 var ret, i;
64 var sfarray, sfarray1, sfarray2, sfarray3;
65 var arEventListener= new Array( new XEventListener_Impl(), new XEventListener_Impl(),
66 new XEventListener_Impl());
67 var arEventListener2= new Array( new XEventListener_Impl(), new XEventListener_Impl(),
68 new XEventListener_Impl());
69 var arArEventListener= new Array( arEventListener, arEventListener2);
70 switch( id)
72 // Array in-params
73 case 1: ret= oletest.methodByte( arr);
74 sfarray= new VBArray( ret);
75 document.writeln( "Param: " + arr.toString() + "<br>");
76 document.writeln( "Returns a Sequence&lt BYTE &gt <br>" + sfarray.toArray()) ; break;
78 case 2: ret= oletest.methodDouble( arrDouble);
79 sfarray= new VBArray( ret);
80 document.writeln( "Param: " + arrDouble.toString() +"<br>");
81 document.writeln( "Returns a Sequence&lt double &gt <br>" + sfarray.toArray()) ; break;
83 case 3: ret= oletest.methodBool( arrBool);
84 sfarray= new VBArray( ret);
85 document.writeln( "Param: " + arrBool.toString() +"<br>");
86 document.writeln( "Returns a Sequence&lt BOOL &gt <br>" + sfarray.toArray()) ; break;
88 case 4: ret= oletest.methodShort( arr);
89 sfarray= new VBArray( ret);
90 document.writeln( "Param: " + arr.toString() +"<br>");
91 document.writeln( "Returns a Sequence&lt SHORT &gt <br>" + sfarray.toArray()) ; break;
93 case 5: ret= oletest.methodUShort( arr);
94 sfarray= new VBArray( ret);
95 document.writeln( "Param: " + arr.toString() +"<br>");
96 document.writeln( "Returns a Sequence&lt unsigned SHORT &gt <br>" + sfarray.toArray()) ; break;
98 case 6: ret= oletest.methodLong( arr);
99 sfarray= new VBArray( ret);
100 document.writeln( "Param: " + arr.toString() +"<br>");
101 document.writeln( "Returns a Sequence&lt LONG &gt <br>" + sfarray.toArray()) ; break;
103 case 7: ret= oletest.methodULong( arr);
104 sfarray= new VBArray( ret);
105 document.writeln( "Param: " + arr.toString() +"<br>");
106 document.writeln( "Returns a Sequence&lt unsigned LONG &gt <br>" + sfarray.toArray()) ; break;
108 case 8: ret= oletest.methodChar( arrChar);
109 sfarray= new VBArray( ret);
110 document.writeln( "Param: " + arrChar.toString() +"<br>");
111 document.writeln( "Returns a Sequence&lt wchar_t &gt <br>" + sfarray.toArray()) ; break;
113 case 9: ret= oletest.methodString( arrString);
114 sfarray= new VBArray( ret);
115 document.writeln( "Param: " + arrString.toString() +"<br>");
116 document.writeln( "Returns a Sequence&lt UString &gt <br>" + sfarray.toArray()) ; break;
118 case 10: ret= oletest.methodAny( arrAny);
119 sfarray= new VBArray( ret);
120 document.writeln( "Param: " + arrAny.toString() +"<br>");
121 document.writeln( "Returns a Sequence&lt UsrAny &gt <br>" + sfarray.toArray() ) ; break;
123 case 11: ret= oletest.methodSequence( arrSeq);
124 sfarray= new VBArray( ret);
125 document.writeln( "Param: " + arrSeq.toString() +"<br>");
126 document.writeln("Returns a Sequence&lt Sequence &lt long &gt&gt <br>") ;
127 var arr1= new Array();
128 arr1= sfarray.toArray();
129 for( i=0; i < arr1.length; i++)
131 sfarray2= new VBArray( arr1[i]);
132 var arr2= new Array();
133 arr2= sfarray2.toArray();
134 document.writeln( arr2.toString() + "<br>" );
136 break;
138 case 12: ret= oletest.methodSequence2( arrSeq2);
139 document.writeln( "Param: " + arrSeq2.toString() +"<br>");
140 sfarray1= new VBArray( ret);
141 arr1= sfarray1.toArray();
142 for( i=0; i < arr1.length; i++)
144 sfarray2= new VBArray( arr1[i]);
145 arr2= sfarray2.toArray();
147 for ( j=0; j < arr2.length; j++)
149 sfarray3= new VBArray( arr2[j]);
150 arr3= sfarray3.toArray();
151 document.write( i+ " ");
152 document.writeln(j + ": "+ arr3.toString() + "<br>" );
156 break;
158 case 13:
159 var ar= new Array();
160 for( i=0; i< 3; i++)
162 var ob= new Object();
163 ob.value= "A JScript object!";
164 ar[i]= ob;
167 ret = oletest.methodXInterface( ar);
168 sfarray= new VBArray( ret);
169 var arRet= sfarray.toArray();
171 document.writeln( "Params : Array containing objects ")
172 for( index in ar)
174 document.writeln( "object " + index + ": " + ar[index].value +" ");
176 document.writeln( "<br>" ) ;
177 document.writeln("Return: <br>");
178 for( index in arRet)
180 document.writeln( "object " + index + ": " + arRet[index].value + " ");
182 break;
184 case 14: ret= oletest.methodFloat( arrDouble);
185 sfarray= new VBArray( ret);
186 document.writeln( "Param: " + arrDouble.toString() +"<br>");
187 document.writeln( "Returns a Sequence&lt float&gt <br>" + sfarray.toArray()) ; break;
189 case 15:
190 ret= oletest.methodXEventListeners( arEventListener);
191 sfarray= new VBArray(ret);
192 _ret= sfarray.toArray();
193 for ( key in _ret)
195 if( ! _ret[key].disposingCalled())
196 alert("Error! oletest.methodXEventListeners")
198 break;
199 case 16:
200 ret= oletest.methodXEventListenersMul( arArEventListener);
201 sfarray= new VBArray(ret);
202 _ret= sfarray.toArray();
203 for( key in _ret)
205 sfarray2= new VBArray(_ret[key]);
206 _ret2= sfarray2.toArray();
207 for( key2 in _ret2)
209 if( ! _ret2[key2].disposingCalled())
210 alert("Error! oletest.methodXEventListeners")
213 break;
217 // Properties: setting and getting values
218 case 200: oletest.AttrByte = arr;
219 ret= oletest.AttrByte;
220 document.writeln("Setting AttrByte: " + arr.toString() + "<p>");
221 document.writeln("Getting AttrByte: " + arr.toString()); break;
223 case 201: oletest.AttrDouble= arrDouble;
224 ret= oletest.AttrDouble;
225 document.writeln("Setting AttrDouble: " + arrDouble.toString() + "<p>");
226 document.writeln("Getting AttrDouble: " + arrDouble.toString()); break;
228 case 202: oletest.AttrBool= arrBool;
229 ret= oletest.AttrBool;
230 document.writeln("Setting AttrBool: " + arrBool.toString() + "<p>");
231 document.writeln("Getting AttrBool: " + arrBool.toString()); break;
233 case 203: oletest.AttrShort= arr;
234 ret= oletest.AttrShort;
235 document.writeln("Setting AttrShort: " + arr.toString() + "<p>");
236 document.writeln("Getting AttrShort: " + arr.toString()); break;
238 case 204: oletest.AttrUShort= arr;
239 ret= oletest.AttrUShort;
240 document.writeln("Setting AttrUShort: " + arr.toString() + "<p>");
241 document.writeln("Getting AttrUShort: " + arr.toString()); break;
243 case 205: oletest.AttrLong= arr;
244 ret= oletest.AttrLong;
245 document.writeln("Setting AttrLong: " + arr.toString() + "<p>");
246 document.writeln("Getting AttrLong: " + arr.toString()); break;
248 case 206: oletest.AttrULong= arr;
249 ret= oletest.AttrULong;
250 document.writeln("Setting AttrULong: " + arr.toString() + "<p>");
251 document.writeln("Getting AttrULong: " + arr.toString()); break;
253 case 207: oletest.AttrChar= arrChar;
254 ret= oletest.AttrChar;
255 document.writeln("Setting AttrChar: " + arrChar.toString() + "<p>");
256 document.writeln("Getting AttrChar: " + arrChar.toString()); break;
258 case 208: oletest.AttrString= arrString;
259 ret= oletest.AttrString;
260 document.writeln("Setting AttrString: " + arrString.toString() + "<p>");
261 document.writeln("Getting AttrString: " + arrString.toString()); break;
263 case 209: oletest.AttrAny= arrAny;
264 ret= oletest.AttrAny;
265 document.writeln("Setting AttrAny: " + arrAny.toString() + "<p>");
266 document.writeln("Getting AttrAny: " + arrAny.toString()); break;
268 case 210: oletest.AttrSequence= arrSeq;
269 ret= oletest.AttrSequence;
270 document.writeln("Setting AttrSequence: " + arrSeq.toString() + "<p>");
271 document.writeln("Getting AttrSequence: " + arrSeq.toString()); break;
273 case 211: oletest.AttrSequence2= arrSeq2;
274 ret= oletest.AttrSequence2;
275 document.writeln("Setting AttrSequence2: " + arrSeq2.toString() + "<p>");
276 document.writeln("Getting AttrSequence2: " + arrSeq2.toString()); break;
278 case 212: oletest.AttrFloat= arrDouble;
279 ret= oletest.AttrFloat;
280 document.writeln("Setting AttrFloat: " + arrDouble.toString() + "<p>");
281 document.writeln("Getting AttrFloat: " + arrDouble.toString()); break;
285 // Out-parameter ------------------------------------------------------------
286 case (2000):
287 oletest.testout_methodByte( arrout1 );
288 alert("byte: " + arrout1[0] ); break;
289 case (2001):
290 oletest.testout_methodDouble( arrout1 );
291 alert( "double: " + arrout1[0] ); break;
292 case (2002):
293 oletest.testout_methodBool( arrout1 );
294 alert( "boolean: " + arrout1[0] ); break;
295 case (2003):
296 oletest.testout_methodShort( arrout1 );
297 alert( "short: " + arrout1[0] ); break;
298 case (2004):
299 oletest.testout_methodUShort( arrout1 );
300 alert( "unsigned short: " + arrout1[0] ); break;
301 case (2005):
302 oletest.testout_methodLong( arrout1 );
303 alert( "long: " + arrout1[0] ); break;
304 case (2006):
305 oletest.testout_methodULong( arrout1 );
306 alert( "unsigned long: " + arrout1[0] ); break;
307 case (2007):
308 oletest.testout_methodChar( arrout1 );
309 alert( "char: " + arrout1[0] ); break;
310 case (2008):
311 oletest.testout_methodString( arrout1 );
312 alert( "string: " + arrout1[0] ); break;
313 case (2009):
314 oletest.testout_methodAny( arrout1 );
315 alert( "any: " + arrout1[0] ); break;
316 case (2010):
317 oletest.testout_methodSequence( arrout1 );
318 var sfarray= new VBArray( arrout1[0]);
319 arr= sfarray.toArray();
320 document.writeln("use the browser's back arrow to go to the previous page <p>");
321 document.writeln( arr.toString());
322 break;
323 case (2011):
324 oletest.testout_methodSequence2( arrout1 );
325 var sfarray= new VBArray( arrout1[0]);
326 arr= sfarray.toArray();
327 var i;
328 for( i=0; i < arr.length; i++)
330 var sfarray= new VBArray( arr[i]);
331 var arr2= new Array();
332 arr2= sfarray.toArray();
333 document.writeln( arr2.toString() + "<br>" );
335 break;
336 case (2012):
337 oletest.testout_methodMulParams1( arrout1, arrout2 );
338 document.writeln( "int : " + arrout1[0] + " int :" + arrout2[0] ); break;
339 case (2013):
340 oletest.testout_methodMulParams2( arrout1, arrout2, arrout3 );
341 document.writeln( "int: " + arrout1[0] + " int: " + arrout2[0] + " string: " + arrout3[0] ); break;
342 case (2014):
343 oletest.testout_methodMulParams3( "hallo", arrout1 );
344 document.writeln( "string: " + arrout1[0] ); break;
345 case (2015):
346 oletest.testout_methodXInterface( arrout1 );
347 var outVal= arrout1[0];
348 alert( outVal.AttrAny2);
349 document.writeln( "string: " + arrout1[0].AttrAny2); break;
350 case (2016):
351 oletest.testout_methodFloat( arrout1 );
352 alert( "float: " + arrout1[0] ); break;
353 case (2017):
354 var in1= 3.14;
355 var in2= 1111;
356 var in3= -2222;
357 oletest.testout_methodMulParams4( in1, arrout1, in2, arrout2, in3 );
358 document.write("param1 [in] float: " + in1 + " param2 [out] float: " + arrout1[0] +
359 " param3 [in] long: " + in2 + " param4 [out] long: " + arrout2[0] +
360 " param5 [in] long: " + in3);
361 break;
364 // INOUT - Parameter -------------------------------------------------------------------------------
365 // The in value has to be placed on index 0 of the passed in array
366 case (500):
367 arrout1[0]= 100;
368 oletest.testinout_methodByte( arrout1 );
369 alert("byte: " + arrout1[0] ); break;
370 case (501):
371 arrout1[0]= 3.14;
372 oletest.testinout_methodDouble( arrout1 );
373 alert( "double: " + arrout1[0] ); break;
374 case (502):
375 arrout1[0]= false;
376 oletest.testinout_methodBool( arrout1 );
377 alert( "boolean: " + arrout1[0] ); break;
378 case (503):
379 arrout1[0]= 200;
380 oletest.testinout_methodShort( arrout1 );
381 alert( "short: " + arrout1[0] ); break;
382 case (504):
383 arrout1[0]= 300;
384 oletest.testinout_methodUShort( arrout1 );
385 alert( "unsigned short: " + arrout1[0] ); break;
386 case (505):
387 arrout1[0]= 400;
388 oletest.testinout_methodLong( arrout1 );
389 alert( "long: " + arrout1[0] ); break;
390 case (506):
391 arrout1[0]= 500;
392 oletest.testinout_methodULong( arrout1 );
393 alert( "unsigned long: " + arrout1[0] ); break;
394 case (507):
395 arrout1[0]= "A";
396 oletest.testinout_methodChar( arrout1 );
397 alert( "char: " + arrout1[0] ); break;
398 case (508):
399 arrout1[0]= "I am a string";
400 oletest.testinout_methodString( arrout1 );
401 alert( "string: " + arrout1[0] ); break;
402 case (509):
403 arrout1[0]= arr;
404 oletest.testinout_methodAny( arrout1 ); // the method simply returns the argument
405 sfarray= new VBArray( arrout1[0]);
406 arr= sfarray.toArray();
407 alert( "any: " + arr.toString() ); break;
408 case (510):
409 arrout1[0]= arr;
410 oletest.testinout_methodSequence( arrout1 );
411 var sfarray= new VBArray( arrout1[0]);
412 arr= sfarray.toArray();
413 document.writeln("use the browser's back arrow to go to the previous page <p>");
414 document.writeln( arr.toString());
415 break;
416 case (511):
417 arrout1[0]= arrSeq;
418 oletest.testinout_methodSequence2( arrout1 );
419 var sfarray= new VBArray( arrout1[0]);
420 arr= sfarray.toArray();
421 var i;
422 for( i=0; i < arr.length; i++)
424 var sfarray= new VBArray( arr[i]);
425 var arr2= new Array();
426 arr2= sfarray.toArray();
427 document.writeln( arr2.toString() + "<br>" );
429 break;
430 case 512:
431 var ob= new Object();
432 ob.value= "this is a string";
434 arrout1[0]= ob;
435 alert (arrout1[0].value);
436 oletest.testinout_methodXInterface( arrout1);
437 alert (arrout1[0].value);
438 var outValue= arrout1[0];
439 for ( key in outValue)
441 document.write( outValue[key] );
443 document.write("Out value: " + outValue );
444 document.write("Out 1 value: " + arrout1[1]);
445 break;
447 // var ob= new Object();
448 // ob.value= "this is a string";
449 // inoutValue.Set( "object", ob);
450 // oletest.testinout_methodXInterface( inoutValue);
451 // document.write("Out value: " + inoutValue.Get().value );
452 // break;
454 case (513):
455 arrout1[0]= 3.14;
456 oletest.testinout_methodFloat( arrout1 );
457 alert( "float: " + arrout1[0] ); break;
461 // Test ANY
462 // Methods
463 case 1000:
464 i= 100;
465 ret= oletest.methodAnyTest1( i);
466 document.writeln( "in: " + i + " ret: " + ret);
467 break;
468 case 1001:
469 i= 3.14;
470 ret= oletest.methodAnyTest1( i);
471 document.writeln( "in: " + i + " ret: " + ret);
472 break;
473 case 1002:
474 i= "Hallo"
475 ret= oletest.methodAnyTest1( i);
476 document.writeln( "in: " + i + " ret: " + ret);
477 break;
478 case 1003:
479 i= arr;
480 ret= oletest.methodAnyTest1( i);
481 sfarray= new VBArray( ret);
482 document.writeln( "in: " + i + " ret: " + sfarray.toArray());
483 break;
484 case 1004:
485 var obj= new Object();
486 obj[1]= "This is index 0";
487 ret= oletest.methodAnyTest1( obj);
488 document.writeln( "in: " + obj + " ret: " + ret);
489 break;
492 // Test ANY property
493 case 1010:
494 i= 100;
495 oletest.AttrAny2= i;
496 ret= oletest.AttrAny2;
497 document.writeln( "set: " + i + " get: " + ret);
498 break;
499 case 1011:
500 i= 3.14;
501 oletest.AttrAny2= i;
502 ret= oletest.AttrAny2;
503 document.writeln( "set: " + i + " get: " + ret);
504 break;
505 case 1012:
506 i= "Hallo"
507 oletest.AttrAny2= i;
508 ret= oletest.AttrAny2;
509 document.writeln( "set: " + i + " get: " + ret);
510 break;
511 case 1013:
512 i= arr;
513 oletest.AttrAny2= i;
514 ret= oletest.AttrAny2;
515 sfarray= new VBArray( ret);
516 document.writeln( "set: " + i + " get: " + sfarray.toArray());
517 break;
518 case 1014:
519 var obj= new Object();
520 obj[1]= "This is index 0";
521 oletest.AttrAny2= obj;
522 ret= oletest.AttrAny2;
523 document.writeln( "set: " + obj + " get: " + ret);
524 break;
526 // Structs ----------------------------------------------
527 case 1020:
528 var struct= oletest._GetStruct("com.sun.star.beans.Property");
529 struct.Attributes= 1;
530 struct.Handle= 2;
531 struct.Name= "some Property"
532 oletest.methodStruct( struct);
533 break;
534 case 1021:
535 var struct= oletest.retMethodStruct();
536 alert( "Property::Attributes : " + struct.Attributes + " \nProperty::Handle : "
537 + struct.Handle + "\n Property::Name : " + struct.Name);
538 break;
539 case 1022:
540 var struct= oletest._GetStruct("com.sun.star.beans.Property");
541 struct.Attributes= 1;
542 struct.Handle= 2;
543 struct.Name= "some Property"
544 oletest.AttrStruct= struct;
546 var struct2= oletest.AttrStruct;
547 alert( "property get: \n Property::Attributes : " + struct2.Attributes + " \nProperty::Handle : "
548 + struct2.Handle + "\n Property::Name : " + struct2.Name);
549 break;
551 case 2100:
552 alert("2100");
553 var ret= oletest.retMethodByte();
554 var sfarray= VBArray( ret);
555 document.writeln( sfarray.toArray() );
556 break;
564 function funcOut( out)
566 out["du"]= 0xffff;
569 </script>
571 <script language="VBScript">
573 sub callBasic(id)
575 Dim factory
576 Set factory= GetObject("", "com.sun.star.ServiceManager")
578 Set oletest= factory.createInstance("oletest.OleTest")
581 arrInt= Array(1,2,3,4,5)
582 arrInt2= Array( -1, -2, 127, 128, 0)
583 arrDouble= Array(1.1, 2.2, 3.3, 4.4, 5.5)
584 arrBool= Array(0,1,0,2,0)
585 arrLong= Array( &Hff, &Hffff, &Hffffff, &Hffffffff)
586 arrString= Array("Chicken Wings", "Cheeseburger", "Hamburger")
587 arrChar= Array("a",65, "M")
588 arrAny= Array("Mickey", 3.14, 100, "A")
590 Dim arrDim2Int(1,1)
591 For i= 0 To 1
592 For j= 0 To 1
593 arrDim2Int(i,j) = i*2 + j
594 Next
595 Next
597 Dim arrDim3Int(1,1,1)
598 For i= 0 To 1
599 For j= 0 To 1
600 For k=0 To 1
601 arrDim3Int(i,j,k) = i*2 + j*2 + k
602 Next
603 Next
604 Next
607 select case id
608 case 0
609 document.writeln "param: "
610 printArray arrInt
611 ret= oletest.methodByte(arrInt)
612 document.writeln "<br> return value: "
613 printArray ret
614 case 1
615 document.writeln "param: "
616 printArray arrDouble
617 ret= oletest.methodDouble(arrDouble)
618 document.writeln "<br> return value: "
619 printArray ret
620 case 2
621 document.writeln "param: "
622 printArray arrBool
623 ret= oletest.methodBool(arrBool)
624 document.writeln "<br> return value: "
625 printArray ret
626 case 3
627 document.writeln "param: "
628 printArray arrInt2
629 ret= oletest.methodShort(arrInt2)
630 document.writeln "<br> return value: "
631 printArray ret
632 case 4
633 document.writeln "param: "
634 printArray arrInt
635 ret= oletest.methodUShort(arrInt)
636 document.writeln "<br> return value: "
637 printArray ret
638 case 5
639 document.writeln "param: "
640 printArray arrLong
641 ret= oletest.methodLong(arrLong)
642 document.writeln "<br> return value: "
643 printArray ret
644 case 6
645 document.writeln "param: "
646 printArray arrInt
647 ret= oletest.methodULong(arrInt)
648 document.writeln "<br> return value: "
649 printArray ret
650 case 7
651 document.writeln "param: "
652 printArray arrString
653 ret= oletest.methodString(arrString)
654 document.writeln "<br> return value: "
655 printArray ret
656 case 8
657 document.writeln "param: "
658 printArray arrChar
659 ret= oletest.methodChar(arrChar)
660 document.writeln "<br> return value: "
661 printArray ret
662 case 9
663 document.writeln "param: "
664 printArray arrAny
665 ret= oletest.methodAny(arrAny)
666 document.writeln "<br> return value: "
667 printArray ret
668 case 10
669 document.writeln "param: "
670 printArray2 arrDim2Int
671 ret= oletest.methodSequence(arrDim2Int)
672 document.writeln "<br> return value: "
673 for each val in ret
674 document.write "<br> array: "
675 for each val2 in val
676 document.write val2
677 next
678 next
680 // Out Parameter
681 case 150
682 dim rOut
683 oletest.testout_methodByte rOut
684 MsgBox rOut
685 // void testout_methodFloat( [out] float rOut);
686 // void testout_methodDouble( [out] double rOut);
687 // void testout_methodBool( [out] boolean rOut);
688 // void testout_methodShort( [out] short rOut);
689 // void testout_methodUShort( [out] unsigned short rOut);
690 // void testout_methodLong( [out] long rOut);
691 // void testout_methodULong( [out] unsigned long rOut);
694 // In Out Parameter --------------------------------------------------
695 case 100
696 a= 100
697 document.write "param: " & CStr( a) & "<br>"
698 oletest.testinout_methodByte a
699 document.write a
700 case 101
701 a= 1.11
702 document.write "param: " & CStr( a) & "<br>"
703 oletest.testinout_methodDouble a
704 document.write a
705 case 102
706 a= 5
707 document.write "param: "& CStr( a) & "<br>"
708 oletest.testinout_methodBool a
709 document.write a
710 case 103
711 a= -10
712 document.write "param: "& CStr( a) & "<br>"
713 oletest.testinout_methodShort a
714 document.write a
715 case 104
716 a= 128
717 document.write "param: "& CStr( a) & "<br>"
718 oletest.testinout_methodUShort a
719 document.write a
720 case 105
721 a= 65556
722 document.write "param: "& CStr( a) & "<br>"
723 oletest.testinout_methodLong a
724 document.write a
725 case 106
726 a= 65556
727 document.write "param: "& CStr( a) & "<br>"
728 oletest.testinout_methodULong a
729 document.write a
730 case 107
731 a= "ein test string"
732 document.write "param: "& CStr( a) & "<br>"
733 oletest.testinout_methodString a
734 document.write a
735 case 108
736 a= "W"
737 document.write "param: "& CStr( a) & "<br>"
738 oletest.testinout_methodChar a
739 document.write a
740 case 109
741 a= "Ein String im Any"
742 document.write "param: "& CStr( a) & "<br>"
743 oletest.other_methodAnyIn a
744 document.write a
746 case 150
747 dim a
748 document.write "param: "& CStr( a) & "<br>"
749 oletest.testout_methodByte( a)
750 document.write a
751 // Attributes -----------------------------------------------------------------
752 case 200
753 document.write "set: "
754 printArray arrInt
755 oletest.AttrByte= arrInt
756 b= oletest.AttrByte
757 call printArrayEx( "<br> get: ", "<br>", b)
758 case 201
759 document.write "set: "
760 printArray arrDouble
761 oletest.AttrDouble= arrDouble
762 b= oletest.AttrDouble
763 call printArrayEx( "<br> get: ", "<br>", b)
764 case 202
765 document.write "set: "
766 printArray arrBool :
767 oletest.AttrBool= arrBool
768 b= oletest.AttrBool
769 call printArrayEx( "<br> get: ", "<br>", b)
770 case 203
771 document.write "set: "
772 printArray arrInt2 :
773 oletest.AttrShort= arrInt2
774 b= oletest.AttrShort
775 call printArrayEx( "<br> get: ", "<br>", b)
776 case 204
777 document.write "set: "
778 printArray arrInt
779 oletest.AttrUShort= arrInt
780 b= oletest.AttrUShort
781 call printArrayEx( "<br> get: ", "<br>", b)
782 case 205
783 document.write "set: "
784 printArray arrInt2
785 oletest.AttrLong= arrInt2
786 b= oletest.AttrLong
787 call printArrayEx( "<br> get: ", "<br>", b)
788 case 206
789 document.write "set: "
790 printArray arrInt
791 oletest.AttrULong= arrInt
792 b= oletest.AttrULong
793 call printArrayEx( "<br> get: ", "<br>", b)
794 case 207
795 document.write "set: "
796 printArray arrString
797 oletest.AttrString= arrString
798 b= oletest.AttrString
799 call printArrayEx( "<br> get: ", "<br>", b)
800 case 208
801 document.write "set: "
802 printArray arrChar
803 oletest.AttrChar= arrChar
804 b= oletest.AttrChar
805 call printArrayEx( "<br> get: ", "<br>", b)
806 case 209
807 document.write "set: "
808 printArray arrAny
809 oletest.AttrAny= arrAny
810 b= oletest.AttrAny
811 call printArrayEx( "<br> get: ", "<br>", b)
813 case 210
814 document.write "set: <br>"
815 printArray2 arrDim2Int :
816 oletest.AttrSequence= arrDim2Int
817 ret= oletest.AttrSequence
818 document.write "get: "
819 for each val in ret
820 document.write "<br> array: "
821 for each val2 in val
822 document.write val2
823 next
824 next
826 case 300
827 dim aByte
828 aByte= 100
829 call oletest.testinout_methodByte( aByte)
830 MsgBox aByte
833 case 400
835 set struct= oletest.Bridge_GetStruct("com.sun.star.beans.Property")
836 struct.Attributes= 1
837 struct.Handle= 2
838 struct.Name= "some Property"
839 oletest.methodStruct struct
841 case 401
842 set struct= oletest.retMethodStruct()
843 alert( "Property::Attributes : " & struct.Attributes & vblf & " Property::Handle : " _
844 & struct.Handle & vblf & " Property::Name : " & struct.Name)
846 case 402
847 set struct= oletest.Bridge_GetStruct("com.sun.star.beans.Property")
848 struct.Attributes= 1
849 struct.Handle= 2
850 struct.Name= "some Property"
851 oletest.AttrStruct= struct
853 set struct2= oletest.AttrStruct
854 alert( "property get: " & vblf & "Property::Attributes : " & struct2.Attributes & _
855 vblf & " Property::Handle : " & struct2.Handle & vblf & " Property::Name : " _
856 & struct2.Name)
857 end select
858 end sub
860 sub printArray( arr)
861 document.write "array: "
862 For Each val In arr
863 document.write CStr(val) & " "
864 Next
865 end sub
867 // print a 2 dimensional Array
869 sub printArray2( arr)
870 elements1= UBound( arr, 1) - LBound( arr, 1) +1
871 elements2= UBound( arr, 2) - LBound( arr, 2) +1
873 For i=0 To elements1 -1
874 document.write( "array " & CStr( i) & ": " )
875 For j=0 To elements2 -1
876 document.write CStr( arr(i,j))
877 Next
878 document.write( "<br>")
879 Next
880 end sub
882 sub printArrayEx( pre, post, array)
883 document.write pre
884 printArray array
885 document.write post
886 end sub
887 </script>
889 <div id=out> </div>
891 <!-- Insert HTML here -->
893 <h2> JScript </h2>
894 Tests Array/Sequence conversion.<br>
895 All methods receive a Sequence as Parameter. The element type of the Sequence is written on the buttons.
896 <br>
897 <button onclick='callOleTest( 1)'>byte</Button>
898 <button onclick='callOleTest( 14)'>float</Button>
899 <button onclick='callOleTest( 2)'>double</Button>
900 <button onclick='callOleTest( 3)'>boolean</Button>
901 <button onclick='callOleTest( 4)'>short</Button>
902 <button onclick='callOleTest( 5)'>unsigned short</Button>
903 <button onclick='callOleTest( 6)'>long</Button>
904 <button onclick='callOleTest( 7)'>unsigned long</Button>
905 <button onclick='callOleTest( 8)'>char</Button>
906 <button onclick='callOleTest( 9)'>string</Button>
907 <button onclick='callOleTest( 10)'>any</Button>
908 <button onclick='callOleTest( 11)'>sequence&lt;long&gt; </Button>
909 <button onclick='callOleTest( 12)'>sequence&lt;sequence&lt;long&gt; &gt; </Button>
910 <button onclick='callOleTest( 13)' id=button2 name=button2>XInterface</Button>
911 <button onclick='callOleTest( 15)'>XEventListener</Button>
912 <button onclick='callOleTest( 16)'>sequence&lt;XEventListener&gt;</Button>
916 Out Parameter <br>
917 <button onclick='callOleTest( 2000)'>byte </Button>
918 <button onclick='callOleTest( 2016)'>float</Button>
919 <button onclick='callOleTest( 2001)'>double</Button>
920 <button onclick='callOleTest( 2002)'>boolean</Button>
921 <button onclick='callOleTest( 2003)'>short</Button>
922 <button onclick='callOleTest( 2004)'>unsigned short</Button>
923 <button onclick='callOleTest( 2005)'>long</Button>
924 <button onclick='callOleTest( 2006)'>unsigned long</Button>
925 <button onclick='callOleTest( 2007)'>char</Button>
926 <button onclick='callOleTest( 2008)'>string</Button>
927 <button onclick='callOleTest( 2009)'>any</Button>
928 <button onclick='callOleTest( 2010)'>sequence&ltlong&gt </Button>
929 <button onclick='callOleTest( 2011)'>sequence&ltsequence&ltlong&gt &gt </Button>
930 <button onclick='callOleTest( 2012)'>2 out </Button>
931 <button onclick='callOleTest( 2013)'>3 out </Button>
932 <button onclick='callOleTest( 2014)'>1 in & 1 out </Button>
933 <button onclick='callOleTest( 2015)'>XInterface </Button>
934 <button onclick='callOleTest( 2017)'>mixed out and in </Button>
938 In Out Parameter <br>
939 <button onclick='callOleTest( 500)'>byte </Button>
940 <button onclick='callOleTest( 513)'>float</Button>
941 <button onclick='callOleTest( 501)'>double</Button>
942 <button onclick='callOleTest( 502)'>boolean</Button>
943 <button onclick='callOleTest( 503)'>short</Button>
944 <button onclick='callOleTest( 504)'>unsigned short</Button>
945 <button onclick='callOleTest( 505)'>long</Button>
946 <button onclick='callOleTest( 506)'>unsigned long</Button>
947 <button onclick='callOleTest( 507)'>char</Button>
948 <button onclick='callOleTest( 508)'>string</Button>
949 <button onclick='callOleTest( 509)'>any</Button>
950 <button onclick='callOleTest( 510)'>sequence&ltlong&gt </Button>
951 <button onclick='callOleTest( 511)'>sequence&ltsequence&ltlong&gt &gt </Button>
952 <button onclick='callOleTest( 512)'>XInterface </Button>
955 Tests Array/Sequence conversion with Attributes. All params are of type Sequence and
956 the element type of the Sequence is written on the buttons. <br>
957 <button onclick='callOleTest( 200)'>byte </Button>
958 <button onclick='callOleTest( 212)'>float</Button>
959 <button onclick='callOleTest( 201)'>double</Button>
960 <button onclick='callOleTest( 202)'>boolean</Button>
961 <button onclick='callOleTest( 203)'>short</Button>
962 <button onclick='callOleTest( 204)'>unsigned short</Button>
963 <button onclick='callOleTest( 205)'>long</Button>
964 <button onclick='callOleTest( 206)'>unsigned long</Button>
965 <button onclick='callOleTest( 207)'>char</Button>
966 <button onclick='callOleTest( 208)'>string</Button>
967 <button onclick='callOleTest( 209)'>any</Button>
968 <button onclick='callOleTest( 210)'>sequence&ltlong&gt </Button>
969 <button onclick='callOleTest( 211)'>sequence&ltsequence&ltlong&gt &gt </Button>
972 Test of Any parameter in a method. Any contains:<br>
973 <button onclick='callOleTest( 1000)'>integer </Button>
974 <button onclick='callOleTest( 1001)'>double </Button>
975 <button onclick='callOleTest( 1002)'>string</Button>
976 <button onclick='callOleTest( 1003)'>array</Button>
977 <button onclick='callOleTest( 1004)'>object</Button>
979 Test of Any parameter in a property. Any contains:<br>
980 <button onclick='callOleTest( 1010)'>integer </Button>
981 <button onclick='callOleTest( 1011)'>double </Button>
982 <button onclick='callOleTest( 1012)'>string</Button>
983 <button onclick='callOleTest( 1013)'>array</Button>
984 <button onclick='callOleTest( 1014)'>object</Button>
986 Test of Struct conversions<br>
987 <button onclick='callOleTest( 1020)'>methodStruct </Button>
988 <button onclick='callOleTest( 1021)'>return struct</Button>
989 <button onclick='callOleTest( 1022)'>struct attribute</Button>
997 <h2> Visual Basic Tests </h2>
998 Test array /Sequence conversion and return value<br>
999 Template: <b> Sequence &lt type &gt method( Sequence&lt type &gt ) </b> <br>
1000 <!--<font color= red>Multi dimensional arrays are not processed by VBSript</font> <br> -->
1001 <button onclick='callBasic(0)'>byte</button>
1002 <button onclick='callBasic(1)'>double</button>
1003 <button onclick='callBasic(2)'>boolean</button>
1004 <button onclick='callBasic(3)'>short</button>
1005 <button onclick='callBasic(4)'>u short</button>
1006 <button onclick='callBasic(5)'>long</button>
1007 <button onclick='callBasic(6)'>u long</button>
1008 <button onclick='callBasic(7)'>string</button>
1009 <button onclick='callBasic(8)'>char</button>
1010 <button onclick='callBasic(9)'>any</button> <br>
1011 <button onclick='callBasic(10)'>Seq &lt int &gt</button> <br>
1014 IN/Out parameter <br>
1015 Template: <b> void method(type ) </b> <br>
1016 <button onclick='callBasic(100)'>byte</button>
1017 <button onclick='callBasic(101)'>double</button>
1018 <button onclick='callBasic(102)'>boolean</button>
1019 <button onclick='callBasic(103)'>short</button>
1020 <button onclick='callBasic(104)'>u short</button>
1021 <button onclick='callBasic(105)'>long</button>
1022 <button onclick='callBasic(106)'>u long</button>
1023 <button onclick='callBasic(107)'>string</button>
1024 <button onclick='callBasic(108)'>char</button>
1025 <button onclick='callBasic(109)'>any</button> <br>
1027 Simple out parameter<br>
1028 <button onclick='callBasic(150)'>byte</button>
1029 <!--<button onclick='callBasic(151)'>double</button>
1030 <button onclick='callBasic(152)'>boolean</button>
1031 <button onclick='callBasic(153)'>short</button>
1032 <button onclick='callBasic(155)'>long</button>
1033 <button onclick='callBasic(157)'>string</button>
1034 <button onclick='callBasic(158)'>char</button>
1035 <button onclick='callBasic(159)'>any</button> <br>
1036 //-->
1037 <br>
1040 Tests Array/Sequence conversion with <b>Attributes</b>. All params are of type Sequence and
1041 the element type of the Sequence is written on the buttons. <br>
1042 <button onclick='callBasic( 200)'>byte </Button>
1043 <button onclick='callBasic( 201)'>double</Button>
1044 <button onclick='callBasic( 202)'>boolean</Button>
1045 <button onclick='callBasic( 203)'>short</Button>
1046 <button onclick='callBasic( 204)'>unsigned short</Button>
1047 <button onclick='callBasic( 205)'>long</Button>
1048 <button onclick='callBasic( 206)'>unsigned long</Button>
1049 <button onclick='callBasic( 207)'>string</Button>
1050 <button onclick='callBasic( 208)'>char</Button>
1051 <button onclick='callBasic( 209)'>any</Button>
1052 <button onclick='callBasic( 210)'>sequence&ltlong&gt </Button> <br>
1054 In Out parameter <br>
1055 <button onclick='callBasic( 300)'>byte</Button>
1057 Structs <br>
1058 <button onclick='callBasic(400)'>methodStruct</button>
1059 <button onclick='callBasic(401)'>return Struct</button>
1060 <button onclick='callBasic(402)'>struct attribute</button>