Writing and Debugging a Basic UNO program
Enter the following source code in the Basic editor window. The example asks the user for the location of a graphics file and inserts it at the current cursor position of our document. Later, the example will be extended by a small insert graphics autopilot.
<!--[SOURCE:BasicAndDialogs/FirstStepsBasic.odt]--> Sub Main ' ask the user for a graphics file sGraphicUrl = InputBox("Please enter the URL of a graphic file", _ "Import Graphics", _ "file:///") if sGraphicURL = "" then ' User clicked Cancel exit sub endif ' access the document model oDoc = ThisComponent ' get the Text service of the document oText = oDoc.getText() ' create an instance of a graphic object using the document service factory oGraphicObject = oDoc.createInstance("com.sun.star.text.GraphicObject") ' set the URL of the graphic oGraphicObject.GraphicURL = sGraphicURL ' get the current cursor position in the GUI and create a text cursor from it oViewCursor = oDoc.getCurrentController().getViewCursor() oCursor = oText.createTextCursorByRange(oViewCursor.getStart()) ' insert the graphical object at the cursor position oText.insertTextContent(oCursor.getStart(), oGraphicObject, false) End Sub
If help is required on Basic keywords, press F1 while the text cursor is on a keyword. The OpenOffice.org online help contains descriptions of the Basic language as supported by OpenOffice.org.
Starting with the line oDoc = ThisComponent, where the document model is accessed, we use the UNO integration of OpenOffice.org Basic. ThisComponent is a shortcut to access a document model from the Basic code contained in it. Earlier, you created Module1 in FirstStepsBasic.odt, that is, your Basic code is embedded in the document FirstStepsBasic.odt, not in a global library below the My Macros container. The property ThisComponent therefore contains the document model of FirstStepsBasic.odt.
To observe the values of Basic variables during debugging, enter a variable name in the Watch field of the Basic editor and press the Enter key to add the watch, or point at a variable name with the mouse cursor without clicking it. In the example below, we can observe the variables sGraphicUrl and oGraphicObject:
Since OpenOffice.org 2.0 it is also possible to inspect the values of UNO objects in the Basic debugger during runtime.
|Content on this page is licensed under the Public Documentation License (PDL).|