![]() |
![]() |
| ||||
Fejezet 5Munka a StarOffice-dokumentumokkalA StarOffice API úgy van felépítve, hogy a lehető legtöbb részét univerzálisan fel lehessen használni különböző feladatoknál. Ez magában foglalja dokumentumok létrehozásához, megnyitásához, mentéséhez, konvertálásához és nyomtatásához, valamint a sablonok kezeléséhez használt felületeket és szolgáltatásokat. Mivel ezek a funkciók minden dokumentumban előfordulnak, ezért ez a fejezet először velük foglalkozik. A StarDesktopAmikor dokumentumokkal dolgozunk, leggyakrabban két szolgáltatást használunk:
A com.sun.star.frame.Desktop szolgáltatás automatikusan megnyílik a StarOffice indításakor. Ehhez a StarOffice létrehoz egy objektumot, amely a StarDesktop globális néven érhető el. A StarDesktop legfontosabb felülete a com.sun.star.frame.XComponentLoader. Ez tulajdonképpen a loadComponentFromURL metódust fedi le, amely felelős a dokumentumok létrehozásáért, importálásáért és megnyitásáért. A StarDesktop objektum neve a StarOffice 5 programból származik, ahol minden dokumentumablak egyetlen közös, StarDesktop nevű alkalmazásba volt beágyazva. A StarOffice jelenlegi verziójában a látható StarDesktop objektum már nem használt. Ennek ellenére a StarDesktop név megmaradt a StarOffice keretobjektuma számára, mert ez egyértelműen jelzi, hogy ez a teljes alkalmazás keretobjektuma. A StarDesktop objektum a StarOffice 5 Application objektumának szerepét tölti be, amely a régebbi verzióban a gyökérobjektum volt. De a régi Application objektummal ellentétben ez elsődlegesen az új dokumentumok megnyitásáért felelős. A régi Application objektumban megtalálható, a StarOffice megjelenítését végző függvények (például a FullScreen, FunctionBarVisible, Height, Width, Top, Visible) már nem használtak. Megjegyzés - Míg Wordben az aktív dokumentumot az Application.ActiveDocument objektumon keresztül lehet elérni, és Excelben az Application.ActiveWorkbook objektummal, addig a StarOffice programban a StarDesktop felelős ezért. A StarOffice 7 programban a dokumentumobjektum a StarDesktop.CurrentComponent tulajdonsággal érhető el. Alapvető információk a StarOffice-dokumentumokrólA StarOffice-dokumentumokkal végzett munka során hasznos lehet, ha ismerjük a dokumentumok alapvető kezelését a StarOffice programban. Ez magában foglalja a StarOffice-dokumentumok fájlnevei strukturálásának módját, akárcsak a nem mentett fájlok formátumát. Fájlnevek URL-jelölésbenMivel a StarOffice egy platformfüggetlen alkalmazás, ezért URL-jelölést használ (amely független az operációs rendszertől), amely a fájlnevekről szóló RFC 1738-as internetszabványban van definiálva. A fájlnevek ebben a rendszerben a előtaggal kezdődnek, amelyet a helyi elérési út követ. Ha a fájlnév alkönyvtárakat tartalmaz, akkor ezek törtjellel elválasztva szerepelnek, és nem fordított törtjellel, ahogy azt a Windows használja általában. A következő elérési út a C: meghajtó doc könyvtárának test.sxw fájljára hivatkozik. file:///C:/doc/test.sxw A helyi fájlnevek URL-lé történő konvertálásához a StarOffice a ConvertToUrl függvényt biztosítja. Egy URL helyi fájlnévvé történő konvertálásához a StarOffice a ConvertFromUrl függvényt biztosítja. Ez a példa konvertálja a helyi fájlnevet URL-lé, és megjeleníti azt egy üzenetablakban. Ezután konvertálja az URL-t helyi fájlnévvé, és azt is megjeleníti. Az RFC 1738-as internetszabvány, amelyen ez alapul, a 0-9, a-z és A-Z karakterek használatát engedélyezi. Az összes többi karakter vezérlőkódként lesz beszúrva az URL-ekbe. Ehhez át lesznek konvertálva az ISO 8859-1 (ISO-Latin) kódolás szerinti hexadecimális értékükre, és egy százalékjel előzi meg őket. Például a szóköz a fájlnevekben a %20 karakterláncra lesz konvertálva az URL-ekben. Az XML fájlformátumA 6.0-s verzió óta a StarOffice XML alapú fájlformátumot használ. Az XML használatának köszönhetően a felhasználó megnyithatja és szerkesztheti a fájlokat más programokban is. Fájlok tömörítéseMivel az XML normál szövegfájlokon alapul, az eredmény általában meglehetősen nagy méretű. Éppen ezért a StarOffice tömöríti a fájlokat, és ZIP-fájlként menti őket. A storeAsURL metódus használatával lehetőség van közvetlenül az eredeti XLM-fájlok mentésére. Lásd: A storeAsURL metódus lehetőségei. Dokumentumok létrehozása, megnyitása és importálásaA dokumentumok megnyitását, importálását és létrehozását a
A loadComponentFromURL első paramétere az adott fájl URL-jét adja meg. Második paraméterként a loadComponentFromURL a StarOffice által belsőleg létrehozott ablak keretobjektumának a nevét várja. Általában ez az előre definiált _blank név, amelynek hatására a StarOffice egy új ablakot hoz létre. Megadható még a _hidden név is, amely lehetővé teszi, hogy az adott dokumentum betöltődjön, de rejtve maradjon. Ezekkel a paraméterekkel a felhasználó megnyithat egy StarOffice-dokumentumot, mert az utolsó két paraméterként helyfoglalók (üres értékek) is megadhatók:
Ez a metódushívás megnyitja a text.sxw fájlt és megjeleníti egy új ablakban. Tetszőleges számú dokumentum megnyitható így a StarOffice Basic programban, majd szerkeszthető a visszaadott dokumentumobjektum használatával. Megjegyzés - A StarDesktop.loadComponentFromURL metódus leváltotta a régi StarOffice API Documents.Add és Documents.Open metódusát. A dokumentumablak tartalmának lecseréléseA _blank és a _hidden érték a Frame paraméterben azt eredményezi, hogy a StarOffice új ablakot hoz létre a loadComponentFromURL minden meghívásakor. Néhányszor hasznos lehet egy meglévő ablak tartalmának lecserélése. Ebben az esetben az ablak keretobjektumának egy nevet kell tartalmaznia. Ez a név nem kezdődhet aláhúzással. Ezenfelül a SearchFlags paramétert úgy kell beállítani, hogy a megfelelő keretobjektum létrejöjjön, ha még nincs létrehozva. A SearchFlags megfelelő állandója a következő:
A következő példa bemutatja, hogyan cserélhető le egy megnyitott ablak tartalma a keretparaméter és a SearchFlags használatával:
| ||||
| ||||