summaryrefslogtreecommitdiff
path: root/odk/examples/examples.html
blob: 1cd1884cba868d12721cb1ffcc68190045048d90 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1">
	<TITLE>OpenOffice.org examples</TITLE>
	<META NAME="GENERATOR" CONTENT="StarOffice/5.2 (Win32)">
	<META NAME="CLASSIFICATION" CONTENT="Acceptor / Connector services">
	<META NAME="KEYWORDS" CONTENT="UNO,Acceptor,Connector services">
</HEAD>
<BODY LINK="#444488" VLINK="#444488" BGCOLOR="#eeeeff"><A NAME="__Top__"></A>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=4 CELLSPACING=0>
  <COL WIDTH=75> 
  <TR> 
    <TD BGCOLOR="#666699"> 
      <H1 ALIGN=CENTER STYLE="margin-top: 0cm; text-decoration: none"><A HREF="http://www.openoffice.org/"><IMG SRC="http://udk.openoffice.org/images/open_office_org_logo.gif" NAME="Grafik1" ALT="OpenOffice" ALIGN=RIGHT WIDTH=109 HEIGHT=54 BORDER=0></A><FONT COLOR="#ffffff"><FONT SIZE=6>OpenOffice.org 
        examples</FONT></FONT></H1>
    </TD>
  </TR>
</TABLE>
<HR SIZE=3 NOSHADE>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=4 CELLSPACING=0>
  <COL WIDTH=85*> <COL WIDTH=85*> <COL WIDTH=85*> 
  <TR> 
    <TD COLSPAN=3 WIDTH=100% BGCOLOR="#666699"> 
      <H3 ALIGN=LEFT STYLE="margin-top: 0cm; text-decoration: none"><FONT COLOR="#ffffff"><FONT SIZE=4>Contents</FONT></FONT></H3>
    </TD>
  </TR>
  <TR> 
    <TD COLSPAN=3 WIDTH=100%> <A HREF="#Overview">Overview </A><br>
      <a href="#AdditionalResources">Additional Resources</a><BR>
      <A HREF="#Java">Java examples</A><br>
      <A HREF="#CPlusPlus">C++ examples</A><br>
      <a href="#Description"></a><A HREF="#Basic">OpenOffice.org Basic examples</A><br>
      <a href="#Description"></a><a href="#OLE">Object Linking and Embedding (OLE) 
      examples</a></TD>
  </TR>
  <TR> 
    <TD COLSPAN=3 WIDTH=100% BGCOLOR="#666699"> 
      <H3 ALIGN=LEFT STYLE="margin-top: 0cm; text-decoration: none"><A NAME="Overview"></A> 
        <FONT COLOR="#ffffff"><FONT SIZE=4>Overview</FONT></FONT></H3>
    </TD>
  </TR>
  <TR> 
    <TD COLSPAN=3 WIDTH=100%> 
      <p style="margin-bottom: 0.2cm"><font face="Times New Roman, serif">The 
        OpenOffice.org software is a complete, feature-rich office productivity 
        product, that provides in combination with the <a href="http://www.openoffice.org/dev_docs/source/download.html">OpenOffice.org 
        Developer Kit (ODK)</a> all the essential tools for building and deploying 
        custom solutions to build on, or integrate with, the OpenOffice.org suite 
        of products.</font></p>
      <p style="margin-bottom: 0.2cm">The ODK is a set of tools, libraries, jar 
        files, header files and idl files which are necessary to develop components 
        for the OpenOffice.org using the <a href="http://api.openoffice.org/">OpenOffice 
        API</a> and the OpenOffice.org component technology <a href="http://udk.openoffice.org/">UNO 
        (Universal Network Objects)</a>. Furthermore, the tarballs contain all 
        below mentioned examples (C++, Java, and Basic), which demonstrate the 
        UNO technology and the use of the OpenOffice.org API.</p>
      <p>Further on, the ODK is the basic stuff for external developers to develop 
        components <font face="Times New Roman, Times, serif">in any language 
        for which a binding exists</font>. <font face="Times New Roman, Times, serif">Currently 
        there are language bindings for OpenOffice.org Basic, Java and different 
        C++ compilers on different platforms for OpenOffice.org without using 
        OpenOffice.org build environment, thus covering the two most commonly 
        used programming languages. There will be no limit for office automation 
        in heterogeneous environments. </font>Currently supported platforms of 
        the ODK are Linux, Solaris (sparc) and Windows.<br>
      </p>
      <p style="margin-bottom: 0.2cm"><font face="Times New Roman, Times, serif">The 
        OpenOffice.org API defines the interface for accessing office functionality 
        from different programming languages. The OpenOffice API reference manual 
        is available from <a href="http://api.openoffice.org/">http://api.openoffice.org/</a>.</font></p>
      <p style="margin-bottom: 0.2cm"><font face="Times New Roman, serif">The 
        following examples demonstrate how to benefit from the included word processor, 
        spreadsheet, presentation software, graphics program, and database software.</font></p>
    </TD>
  </TR>
  <tr> 
    <td colspan=3 width=100% bgcolor="#666699"> 
      <h3 align=LEFT style="margin-top: 0cm; text-decoration: none"><a name="AdditionalResources"></a> 
        <font color="#ffffff"><font size="4">Additional Resources</font></font></h3>
    </td>
  </tr>
  <tr> 
    <td colspan=3 width=100%> 
      <table width="100%" cellpadding="4" cellspacing="1" bgcolor="#ffffff">
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><b>Example</b></td>
          <td width="76%" valign="top"><b>Description</b></td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/basic/man/tutorial/tutorial.pdf">Programmer's 
            Tutorial</a><a href="http://udk.openoffice.org/"></a></td>
          <td width="76%" valign="top">This PDF document presents the basic concepts 
            of the OpenOffice API, the document models (including some UML diagrams) 
            and a bunch of examples in StarBASIC as well. (Version for StarOffice 
            5.2) </td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://udk.openoffice.org/">UNO 
            Development Kit Homepage</a></td>
          <td width="76%" valign="top">UNO (Universal Network Objects) is an interface 
            based object model. UNO is a specification for a communication model 
            among distributed objects. It allows these objects to be implemented 
            in any language for which a binding exists. Currently there are language 
            bindings for Java and different C++ compilers on different platforms.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/">OpenOffice 
            API Homepage</a></td>
          <td width="76%" valign="top">The OpenOffice.org API is based on the 
            OpenOffice.org component technology and consists of a wide range of 
            interfaces defined in a CORBA-like IDL. While the component technology 
            determines how the components or applications communicate with each 
            other, the OpenOffice.org API defines the interface for accessing 
            office functionality from different programming languages. The OpenOffice 
            API reference manual is available from the homepage.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://udk.openoffice.org/source/browse/udk/www/common/man/draft/Guide_Developing_components_with_UNO.sxw">Developing 
            components with UNO</a></td>
          <td width="76%" valign="top">The tutorial &quot;Developing components 
            with UNO&quot; explains the fundamental concepts (ODK, UNO), shows 
            how to access existing services in UNO, and how to write simple UNO 
            components. The text is enhanced with Java and C++ code.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/unbranded-source/browse/%7Echeckout%7E/api/odk/examples/OfficeNetBeansIntegration.html?content-type=text/html">NetBeans</a></td>
          <td width="76%" valign="top">If you need an integrated development environment 
            (IDE) you should take NetBeans into account. NetBeans is an open source, 
            modular IDE, written in the Java programming language.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/design_guide.html">Guideline 
            for designing OpenOffice APIs</a></td>
          <td width="76%" valign="top">The guideline for designing OpenOffice 
            APIs describes general design rules and the definition of API elements.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top" bgcolor="#f0f0f0"><a href="http://www.openoffice.org/dev_docs/source/download.html">Office 
            Development Kit </a>(ODK)</td>
          <td width="76%" valign="top">The ODK is a set of tools, libraries, jar 
            files, header files and idl files which are necessary to develop components 
            for the OpenOffice.org using the OpenOffice API and the OpenOffice.org 
            component technology UNO (Universal Network Objects).</td>
        </tr>
      </table>
    </td>
  </tr>
  <TR> 
    <TD COLSPAN=3 WIDTH=100% BGCOLOR="#666699"> 
      <H3><A NAME="Java"></A><FONT COLOR="#ffffff">Java examples</FONT></H3>
    </TD>
  </TR>
  <TR> 
    <TD COLSPAN=3 WIDTH=100%> 
      <p>In order to connect the following client programs to the running office 
        server, before running those programs, you should invoke the office with 
        the following command:</p>
      <p>soffice &quot;-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager&quot;</p>
      <p>You could also customize the mentioned host and port to your needs.</p>
      <table width="100%" bgcolor="#ffffff" cellpadding="4" cellspacing="1">
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><b>Example</b></td>
          <td width="76%" valign="top"><b>Description</b></td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/CalcAddins/">CalcAddins</a></td>
          <td width="76%" valign="top">This component adds new functions to the 
            spreadsheet application. After registering the component, the inserted 
            functions can be found with help of the functions autopilot. The new 
            functions are assigned to the category <i>Add-in</i>.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/Car/">Car</a></td>
          <td width="76%" valign="top">The component <i>Car</i> is a very simple, 
            but complete component, which simulates the driving, acceleration, 
            and braking of a car. Moreover, the component demonstrates the use 
            of properties and their listeners.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/ConverterServlet/">ConverterServlet</a></td>
          <td width="76%" valign="top">This servlet shows you, how to convert 
            arbitrary documents on a remote running office server. The converted 
            document will be pushed from the web server to the client browser.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"> <a href="http://api.openoffice.org/source/browse/api/odk/examples/java/DocumentConverter/">DocumentConverter</a></td>
          <td width="76%" valign="top">Here, the program offers a service, which 
            converts arbitrary documents to a favored document type.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/DocumentLoader/">DocumentLoader</a></td>
          <td width="76%" valign="top">The <i>DocumentLoader</i> can open a new 
            or an existing document.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/DocumentPrinter/">DocumentPrinter</a></td>
          <td width="76%" valign="top">The <i>DocumentPrinter</i> allows you to 
            print your favored pages of a specified document on your favored printer.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/DocumentSaver/">DocumentSaver</a></td>
          <td width="76%" valign="top">The DocumentSaver shows you, how to save 
            a document. Furthermore, you can change the type of your document.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/GraphicsInserter/">GraphicsInserter</a></td>
          <td width="76%" valign="top">The GraphicsInserter creates a graphics 
            object on an empty text document by setting its position, width, height, 
            and URL.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"> <a href="http://api.openoffice.org/source/browse/api/odk/examples/java/Inspector/">Inspector</a></td>
          <td width="76%" valign="top">The Instance Inspector is primarily an 
            auxiliary tool for developer, which can present information about 
            an object of the Star Office API at run-time. Dependent on the object 
            to be inspected appropriate methods, interfaces, services, and attributes 
            can be displayed to the developer. The methods, interfaces, services 
            and attributes are represented in a predictable tree. If the attributes 
            contained in an object are to be examined, the appropriate nodes in 
            the tree can be expanded with the help of the mouse. For each non 
            primitive object five categories are offered to the user, as far as 
            those are available with the object concerned.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/NotesAccess/">NotesAccess</a></td>
          <td width="76%" valign="top">This class creates a spreadsheet document 
            and fills it with existing values of documents from a Lotus Notes 
            database.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/ToDo/">ToDo</a></td>
          <td width="76%" valign="top"> For every to-do listed in a spreadsheet 
            document this component calculates the start date, day of week of 
            the start date, the end date and the day of week of the end date. 
            All calculations are dependent on the values of &quot;Needed Days&quot;, 
            &quot;Due Date&quot; and &quot;Status&quot;. The columns &quot;Needed 
            Days&quot; and &quot;Status&quot; are mandatory. The first to-do should 
            be placed in row nine. The date to start the calculation should be 
            placed in cell C6. The private holidays should be placed in cell K4/K5 
            and below.<br>
            All rows will be calculated up to the first empty cell in the first 
            column. If a cell in the column &quot;Due Date&quot; will be colored 
            red, you should take a look at your entries.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/WriterSelector/">WriterSelector</a></td>
          <td width="76%" valign="top">This class gives you information on the 
            selected objects (text range, text frame, or graphics) at an OpenOffice.org 
            Server.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/calc/ChartTypeChange/">ChartTypeChange</a></td>
          <td width="76%" valign="top">This class loads an OpenOffice.org Calc 
            document and changes the type of the embedded chart.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/calc/">EuroAdaption</a></td>
          <td width="76%" valign="top">The application connects to the office 
            server and gets the <a href="http://api.openoffice.org/common/ref/com/sun/star/lang/XMultiServiceFactory.html">multi 
            service factory</a>, opens an empty Calc document, enters an example 
            text, sets the number format to DM, changes the number format to EUR 
            (Euro), and uses the DM/EUR factor on each cell with a content.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/calc/">SCalc</a></td>
          <td width="76%" valign="top">The program connects to the office server 
            and gets the <a href="http://api.openoffice.org/common/ref/com/sun/star/lang/XMultiServiceFactory.html">multi 
            service factory</a>. Then an empty calc document will be opened, cell 
            styles will be created, some data will be inserted into the sheets, 
            and the created cell styles will be applied. Finally, a 3D chart will 
            be inserted.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/draw/">SDraw</a></td>
          <td width="76%" valign="top">This program connects to the office server 
            and gets the <a href="http://api.openoffice.org/common/ref/com/sun/star/lang/XMultiServiceFactory.html">multi 
            service factory</a>. Afterwards, an empty text document will be created 
            and some shapes will be inserted on the draw page</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/writer/">BookmarkInsertion</a></td>
          <td width="76%" valign="top">This application connects to the office 
            server and gets the <a href="http://api.openoffice.org/common/ref/com/sun/star/lang/XMultiServiceFactory.html">multi 
            service factory</a>. An empty text document will be opened and an 
            example text will be entered. After all some bookmarks will be inserted.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/writer/">HardFormatting</a></td>
          <td width="76%" valign="top">This program connects to the office server 
            and gets the <a href="http://api.openoffice.org/common/ref/com/sun/star/lang/XMultiServiceFactory.html">multi 
            service factory</a>. Furthermore, an empty text document will be opened, 
            an example text will be entered, some text attributes will be inspected, 
            and the <a href="http://api.openoffice.org/common/ref/com/sun/star/beans/PropertyState.html">PropertyState</a> 
            will be checked from the selection.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/writer/">SWriter</a></td>
          <td width="76%" valign="top">The program connects to the office server 
            and gets the <a href="http://api.openoffice.org/common/ref/com/sun/star/lang/XMultiServiceFactory.html">multi 
            service factory</a>. An empty text document will be created, some 
            text will be entered, and a text table, a colored text, and text frame 
            will be inserted.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/writer/">StyleCreation</a></td>
          <td width="76%" valign="top">The example connects to the office server 
            and gets the <a href="http://api.openoffice.org/common/ref/com/sun/star/lang/XMultiServiceFactory.html">multi 
            service factory</a>. An empty text document will be opened, a new 
            paragraph style will be created, and applied.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/writer/">StyleInitialization</a></td>
          <td width="76%" valign="top">The program connects to the office server 
            and gets the <a href="http://api.openoffice.org/common/ref/com/sun/star/lang/XMultiServiceFactory.html">multi 
            service factory</a>. Thereafter, an empty text document will be opened 
            and an example text will be entered. The paragraph collection will 
            be used, in order to apply a different paragraph style on the paragraphs.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/writer/">TextDocumentStructure</a></td>
          <td width="76%" bgcolor="#f0f0f0" valign="top">The application connects 
            to the office server and gets the <a href="http://api.openoffice.org/common/ref/com/sun/star/lang/XMultiServiceFactory.html">multi 
            service factory</a>. An empty text document will be opened, an enumeration 
            of all paragraphs and an enumeration of all text portions will be 
            created. </td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/writer/">TextReplace</a></td>
          <td width="76%" valign="top">The example connects to the office server 
            and gets the <a href="http://api.openoffice.org/common/ref/com/sun/star/lang/XMultiServiceFactory.html">multi 
            service factory</a>. An empty text document will be created, an example 
            text will be inserted, and some English spelled words will be replaced 
            with US spelled words.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/java/com/sun/star/comp/demo/">DemoComponent</a></td>
          <td width="76%" valign="top">This Java program is a demo component, 
            which exports two services.</td>
        </tr>
      </table>
      <p>Additional informations:</p>
      <p><a href="http://udk.openoffice.org/java/man/java_component_howto.html">How 
        to write a UNO component in Java</a><br>
        <a href="http://udk.openoffice.org/java/man/index.html">Java in UNO and 
        OpenOffice.org</a></p>
    </TD>
  </TR>
  <tr> 
    <td colspan=3 width=100% bgcolor="#666699"> 
      <h3><a name="CPlusPlus"></a><font color="#ffffff">C++ examples</font></h3>
    </td>
  </tr>
  <tr> 
    <td colspan=3 width=100%> 
      <table width="100%" cellpadding="4" cellspacing="1" bgcolor="#ffffff">
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" bgcolor="#f0f0f0" valign="top"><b>Example</b></td>
          <td width="76%" valign="top"><b>Description</b></td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" bgcolor="#f0f0f0" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/cpp/officeclient/">Office 
            client</a></td>
          <td width="76%" valign="top"> This component provides a UNO demo component 
            which demonstrates the communication with a local office. The component 
            will create different document types and close them. </td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" bgcolor="#f0f0f0" valign="top"><a href="http://udk.openoffice.org/source/browse/udk/product/examples/cpp/counter/">Counter</a></td>
          <td width="76%" valign="top">This demo shows how to implement a very 
            simple UNO component and how to access the UNO component from an executable.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" bgcolor="#f0f0f0" valign="top"><a href="http://udk.openoffice.org/source/browse/udk/product/examples/cpp/remoteclient/">Remote 
            client</a></td>
          <td width="76%" valign="top">The uno.exe program is used to export an 
            arbitrary service to other processes. In this<br>
            example the com.sun.star.uno.Pipe service (which is built in io-module) 
            is exported. The client component implements the com.sun.star.lang.XMain 
            interface. In the run method, it connects to the servers process and 
            retrieves an instance and does some calls on the instance.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" bgcolor="#f0f0f0" valign="top">Car</td>
          <td width="76%" valign="top">The component <i>Car</i> is a very simple, 
            but complete component, which simulates the driving, acceleration, 
            and braking of a car. Moreover, the component demonstrates the use 
            of properties and their listeners.</td>
        </tr>
      </table>
      <p>Additional informations:</p>
      <p><a href="http://udk.openoffice.org/cpp/man/component_tutorial.html">Writing 
        a simple UNO component in C++<br>
        </a><a href="http://udk.openoffice.org/cpp/man/tutorial/unointro.html">A 
        guide to C++ UNO</a><br>
        <a href="http://udk.openoffice.org/cpp/ref/cpp-reference-index.html">C++ 
        UNO Reference</a></p>
    </td>
  </tr>
  <tr> 
    <td colspan=3 width=100% bgcolor="#666699"> 
      <h3><a name="Basic"></a><font color="#ffffff">OpenOffice.org Basic examples</font></h3>
    </td>
  </tr>
  <tr> 
    <td colspan=3 width=100%> 
      <p>The example programs are embedded in StarOffice/OpenOffice.org documents 
        in the samples directory.<br>
        To view or edit the StarOffice/OpenOffice.org Basic source, select the 
        appropriate document and then select Tools-&gt;Macro.</p>
      <p> Most of the examples are stand-alone, but two of them (Creating an Index 
        and Import/Export of ASCII Files) have an associated data file identified 
        by a .txt file name suffix).</p>
      <p>These examples are taken from the Programmer's Tutorial. Some of them 
        were ported to Java and you find them above.</p>
      <p>These examples are presented in the order in which they appear in Chapter 
        5.</p>
      <table width="100%" bgcolor="#ffffff" cellpadding="4" cellspacing="1">
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><b>Example</b></td>
          <td width="76%" valign="top"><b>Description</b></td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/basic/text/modifying_text_automatically/" target="_blank"><font face="Times New Roman, serif">Changing 
            Appearance</font></a></td>
          <td width="76%" valign="top">To change the style used for certain words, 
            you can start with the following example. This code searches for the 
            regular expression <font face="Courier New, Courier, mono">the[a-z]</font> 
            which stands for the text portion the followed by exactly one lowercase 
            letter. All occurrences of these four letters are then changed to 
            be displayed in bold characters. The same happens in the next part 
            of the program, this time changing the appearance of <font face="Courier New, Courier, mono">all[a-z]</font> 
            to italic. In order for this example to work, you must execute it 
            from an open text document.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/basic/text/modifying_text_automatically/" target="_blank"><font face="Times New Roman, serif">Replacing 
            Text</font></a></td>
          <td width="76%" valign="top"> 
            <p>If you regularly receive documents from other people for editing, 
              you might want to make sure that certain words are always written 
              the same. The next example<br>
              illustrates this by forcing certain words to be spelled in American 
              English.<br>
              In order for this example to work, you must execute it from an open 
              text document. For a real world application, you&#146;d probably 
              want to read the words from an external file.</p>
          </td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/basic/text/modifying_text_automatically/" target="_blank"><font face="Times New Roman, serif">Using 
            Regular Expressions</font></a></td>
          <td width="76%" valign="top"> 
            <p>Another application of automatic text modification is related to 
              stylistic questions. Suppose your company&#146;s policy is to avoid 
              the use of certain words. You want to replace these words, but you 
              can&#146;t do that automatically, because you have to find the appropriate 
              replacement which depends on the context. So instead of deleting 
              or replacing the offending words automatically, you change their 
              color to make them stand out during a subsequent manual review process.<br>
              The following example handles two kinds of unwanted wordings: those 
              which are absolutely forbidden and must be replaced by something 
              else, and those which are considered bad style. A subroutine is 
              responsible for the changes. It can be used to make all words in 
              a list appear in a certain color in the text document. To keep the 
              lists short, we are using regular expressions here which provide 
              for the variants of the words (plural, adjective etc.).</p>
          </td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/basic/text/modifying_text_automatically/" target="_blank"><font face="Times New Roman, serif">Inserting 
            Bookmarks</font></a></td>
          <td width="76%" valign="top"> 
            <p>The next example does something very similar. This time, however, 
              we do not<br>
              change the color of the words but insert a bookmark at each of them. 
              You can thus use the StarOffice navigator to jump directly from 
              word to word. Bookmarks have first to be created using <font face="Courier New, Courier, mono">createInstance()</font>. 
              They are then inserted with <font face="Courier New, Courier, mono">insertTextContent()</font> 
              at the current text range.</p>
            <p>The main difference to the preceding example is the For loop in 
              <font face="Courier New, Courier, mono">markList()</font>. Instead 
              of changing the color of the current word, it creates a new bookmark, 
              oBookmark, whose name is the current word with an integer appended. 
              It then<br>
              inserts this bookmark at the word.</p>
          </td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/basic/text/creating_an_index/" target="_blank"><font face="Times New Roman, serif">Creating 
            an Index</font></a></td>
          <td width="76%" valign="top">Indices for text documents can be created 
            manually in StarWriter by clicking on the words that shall appear 
            in the index. If the document is large or if you have to generate 
            indices for several documents, this task should be automated.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/basic/sheet/" target="_blank"><font face="Times New Roman, serif">Adapting 
            to Euroland</font></a></td>
          <td width="76%" valign="top">Most of the member of the European Union 
            will abandon their old currency in favor of the new Euro in 2001. 
            This requires modifications to all programs using the old currencies. 
            Since the exchange rates for the old currencies have been fixed at 
            the end of 1999, one can already convert old data. The following program 
            does this for all values in a table that are formatted with the currency 
            string DM.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/basic/drawing/" target="_blank"><font face="Times New Roman, serif">Import/Export 
            of ASCII Files</font></a> </td>
          <td width="76%" valign="top">You can use the drawing facilities of StarOffice 
            API to generate a picture from ASCII input. One application would 
            be a hierarchical representation of a directory listing, based on 
            textual data.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/basic/stock_quotes_updater/" target="_blank"><font face="Times New Roman, serif">Stock 
            Quotes Updater</font></a></td>
          <td width="76%" valign="top">If you want to display stock charts for 
            certain companies, you can fire up your browser every day, go to Yahoo, 
            look up the quote and copy it by hand into a table. Or you can use 
            a program that does all this automatically. The following example 
            relies on the sheet module. It uses URLs to obtain the current stock 
            quotes. The quotes are displayed in sheets, one for each company. 
            We show a line diagram and the numerical values for this company on 
            every sheet. The functionality is hidden in the three subroutines 
            <font face="Courier New, Courier, mono">GetValue()</font>, <font face="Courier New, Courier, mono">UpdateValue()</font>, 
            and <font face="Courier New, Courier, mono">UpdateChart()</font>.</td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/basic/forms_and_controls/" target="_blank"><font face="Times New Roman, serif">Forms 
            and Controls</font></a></td>
          <td width="76%" valign="top">The example document Burger Factory offers 
            you some forms and controls, which you can use to order your desired 
            burger type, beverage, topping, and sauce. By hitting the button &quot;Order 
            now !&quot;, your order will be placed.</td>
        </tr>
      </table>
      <p>Additional informations:</p>
      <p><a href="http://api.openoffice.org/basic/man/tutorial/tutorial.pdf">Programmer's 
        Tutorial</a></p>
    </td>
  </tr>
  <tr> 
    <td colspan=3 width=100% bgcolor="#666699"> 
      <h3><a name="OLE"></a><font color="#ffffff">OLE examples</font></h3>
    </td>
  </tr>
  <tr> 
    <td colspan=3 width=100%> 
      <table width="100%" cellpadding="4" cellspacing="1" bgcolor="#ffffff">
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><b>Example</b></td>
          <td width="76%" valign="top"><b>Description</b></td>
        </tr>
        <tr bgcolor="#f0f0f0"> 
          <td width="24%" valign="top"><a href="http://api.openoffice.org/source/browse/api/odk/examples/OLE/vbscript/">WriterDemo</a></td>
          <td width="76%" valign="top">This Visual Basic Script creates an empty 
            text document and inserts text, a table, and a text frame.</td>
        </tr>
      </table>
      <p>Additional informations:</p>
      <p><a href="http://udk.openoffice.org/common/man/spec/ole_bridge.html">The 
        OLE Bridge</a></p>
    </td>
  </tr>
  <TR> 
    <TD COLSPAN=3 WIDTH=100%> 
      <HR SIZE=1 NOSHADE>
    </TD>
  </TR>
  <TR> 
    <TD WIDTH=50% BGCOLOR="#666699"> 
      <P ALIGN=LEFT><FONT COLOR="#ffffff"> Author: <A HREF="mailto:Bertram.Nolte@sun.com"><FONT COLOR="#ffffff">Bertram 
        Nolte</FONT></A> ( 
        <!-- #BeginDate format:IS1a -->2001-10-16 4:07 PM<!-- #EndDate -->
        )<BR>
        <I>Copyright 2001 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, 
        CA 94303 USA.</I></FONT> </P>
    </TD>
  <TR> 
  <TR> 
    <TD COLSPAN=3 WIDTH=100%> 
      <HR SIZE=1 NOSHADE>
    </TD>
  </TR>
</TABLE>
<HR SIZE=3 NOSHADE>
</BODY>
</HTML>