ScriptForge liburutegia
          
  
    
    Ireki  eta aukeratu  edukiontzia.
 
   
 
    ScriptForge liburutegiek makro-script baliabideen bilduma zabala osatzen dute, LibreOffice aplikazioan Basic makroetatik edo Python scriptetik deitu daitezkeenak.
  
    
• Basic makroak erabiltzkeo, ScriptForge liburutegia kargatu behar da honako instrukzioa erabiliz:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python scriptak erabiltzeko, berriz, scriptforge modulu baten inportazioa behar dute:
from scriptforge import CreateScriptService
 
  
  
  ScriptForge zerbitzuei deitzea
  Deskribatutako moduluak eta klseak "zerbitzu" gisa deitzen dira erabiltzaile-scriptetatik. Zerbitzu horien eraikitzaile orokor bat diseinatu da xede horretarako, lengoaia bakoitzerako.
  Dispose metodoa zerbitzu guztietan dago erabilgarri eta zerbitzua erabili ondoren baliabideak askatzeko deitu beharko litzateke:
  
  
    GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
    Set oSvc = CreateScriptService("servicename"[, arg0, arg1, ...])
    ' ...
    oSvc.Dispose()
  
    from scriptforge import CreateScriptService
    svc = CreateScriptService('servicename'[, arg0, arg1, ...])
    # ...
    svc.Dispose()
  
ScriptForge liburutegiak eskaintzen dituen zerbitzuak
  
    
      
  
  
  Dimentsio bakarreko matrizeak (bektoreak) eta bi dimentsiotakoak manipulatzeko eta transformatzeko metodoen bilduma bat eskaintzen du. Besteak beste, ezartze-eragiketak, ordenatzea, testu-fitxategiak inportatzea eta esportatzea ahalbidetzen du.
  Bi dimentsio baino gehiago dituzten matrizeak ezin dira erabili zerbitzu honetako metodoekin. Salbuespen bakarra CountDims metodoa da, horrek edozein dimentsio kopuru duten matrizeak onartzen baititu.
 
    
    
      
  
  
  Base zerbitzuak LibreOffice Base dokumentuak kudeatu eta maneiatzeko hainbat metodo eta propietate eskaintzen ditu.
  Zerbitzu hau LibreOffice dokumentuak, Base dokumentuak barne, maneiatzeko metodo orokorrak eskaintzen dituen Document zerbitzuarekin erlazionatuta dago. Base zerbitzu honek Document zerbitzua hedatzen du eta Base dokumentuetarako espezifikoak diren metodo gehiago eskaintzen ditu. Honakoak egin daitezke:
  
    - 
        Atzitu Base dokumentu batean gordetako datu-base bat. 
- 
        Ireki Base dokumentu batean biltegiratutako inprimaki-dokumentuak. 
- 
        Egiaztatu Base dokumentu bateko inprimaki-dokumentu bat kargatuta dagoen ala ez. 
 
    
    
      
    
  ScriptForge.Basic zerbitzuak Python testuinguruan exekutatu daitezkeen LibreOffice Basic metodoen bilduma bat proposatzen du. Basic zerbitzuko metodoek Basic funtzio integratuen sintaxi eta portaera bera dute.
 
    
    
      
    
    SFDocuments liburutegi partekatuak LibreOffice dokumentuak kudeatu eta maneiatzea errazten duten metodo eta propietateak eskaintzen ditu.
    SFDocuments.Calc zerbitzua SFDocuments.Document zerbitzuaren azpiklase bat da. Document zerbitzurako definitutako metodo eta propietate guztiak Calc zerbitzu-instantziaren bidez ere atzitu daitezke.
    Calc zerbitzua honetarako da:
    
        - 
            Calc dokumentu bateko orriak kudeatzeko (kopiatu, txertatu, lekuz aldatu, etab.) 
- 
            Basic datu-egituren eta Calc barrutien arteko datuak trukatzeko 
- 
            Datu kantitate masiboak kopiatzeko eta inportatzeko 
 
    
    
      
    
    Chart zerbitzuak Calc dokumentuetako diagramak maneiatzeko propietate eta metodoen multzo bat eskaintzen du. Zerbitzu honekin honakoak egin daitezke:
    
      - 
        Calc dokumentuetako diagrama-objektuak atzitzea eta haien propietateak moldatzea. 
- 
        Calc dokumentu batean diagrama berriak sortu eta txertatzea. 
- 
        Diagramak irudi-fitxategi gisa esportatzea. 
 
    
    
      
    
    Database zerbitzuak Base dokumentuetan kapsulatutako edo deskribatutako datu-baseak atzitzea ahalbidetzen du. Zerbitzu honek honakoak egiteko metodoak ditu:
    
      - 
        Datu-baseetako tauletako datuak atzitzeko. 
- 
        SELECT kontsultak exekutatzeko eta funtzio agregatuak gauzatzeko. 
- 
        SQL ekintza-instrukzioak exekutatzeko, adibidez INSERT, UPDATE, DELETE, etab. 
 
    
    
      
    
    The Dataset service is used to represent tabular data produced by a database. With this service it is possible to:
    
   
    
    
      
  
  
  Datasheet zerbitzuari esker, datu-base baten taulen edukiak eta kontsulten eta SQL instrukzioen emaitzak bistaratu daitezke, horretarako Base aplikazioaren 'Datu-ikuspegia' erabiliz. Horrez gain, zerbitzuak zera ahalbidetzen du:
  
    - 
        Datu-ikuspegiari menu pertsonalizatuak gehitzea. 
- 
        Datu-ikuspegiaren kokagune jakinetan dauden balioak atzitzea. 
- 
        Kurtsorea datu-ikuspegiaren gelaxka jakin batean kokatzea. 
 
    
    
      
  
  The Dialog service contributes to the management of dialogs created with the Basic Dialog Editor or dialogs created on-the-fly. Each instance of the current class represents a single dialog box displayed to the user.
 
    
    
      
   
  
  DialogControl zerbitzuak Basic-en elkarrizketa-koadroen editorearekin definitutako elkarrizketa-koadro baten kontrolak kudeatzen ditu. Uneko zerbitzuaren instantzia bakoitzak elkarrizketa-koadro bateko kontrol bakun bat ordezkatzen du.
  
  Fokua elkarrizketa-koadroko kontrolek bistaratzen dituzten balioak eskuratzen eta ezartzen ezarrita dago. Formatua atzitzeko, XControlModel and XControlView propietateak erabiltzen dira.
  Ikusi nola DialogControl.Value propietatearen eduki bakarra aldatzen den kontrol motaren arabera.
  Arreta berezia eskaini zaie zuhaitz-kontrol motako kontrolei. Erraza da zuhaitz bat betetzea, bai adarrez adar, bat adar sorta oso bat aldi berean. Zuhaitz-kontrol bat estatikoki zein dinamikoki bete daiteke.
 
    
    
      
  
  
  Hiztegi bat gako-elementu bikoteen bilduma bat da
  
 
    
    
      
    
  SFDocuments liburutegiak LibreOffice dokumentuen kudeaketa eta manipulazioa errazteko metodoak eta propietateak eskaintzen ditu.
  SFDocuments.Document zerbitzuak dokumentu mota guztietan (testu-dokumentuak, kalkulu-orriak, aurkezpenak, etab.) aplikagarriak diren metodoak eskaintzen ditu. Zenbait adibide:
  
  - 
    Dokumentuak irekitzea, ixtea eta gordetzea 
- 
    Dokumentuen propietate estandarrak edo pertsonalizatuak atzitzea 
 
    
    
      
  
  
  Exception zerbitzua Basic eta Python scripten kodea garbitzen laguntzeko eta Basic scripten erroreak maneiatzeko metodoen bilduma bat da.
  Basic scriptetan, exekuzio-garaiko errore bat gertatzen denean, Exception zerbitzuko metodo eta propietateek errorearen testuingurua identifikatzen eta hura maneiatzen laguntzen dute.
 
    
    
      
  
  FileSystem zerbitzuak fitxategiak eta karpetak maneiatzeko errutinak ditu. Ondoren, zerbitzu honek eskaintzen dituen zenbait eginbide erakusten dira:
  
    - 
      Fitxategi edo karpeta bat existitzen dela egiaztatzea. 
- 
      Karpetak eta fitxategiak sortzea eta ezabatzea. 
- 
      Fitxategiak irekitzeko/gordetzeko elkarrizketa-koadroak abiaraztea. 
- 
      Karpeta bateko fitxategien zerrenda atzitzea, etab. 
 
    
    
      
  
  Form zerbitzuak LibreOffice dokumentuetako inprimakiak kudeatzeko metodoak eta propietateak eskaintzen ditu. Zerbitzu horrek Base, Calc eta Writer dokumentuetako inprimakiak onartzen ditu eta honakoak egiteko balio du:
  
    - 
        Ireki eta aktibatu inprimakiak. 
- 
        Nabigatu inprimakian erakutsitako erregistro batetik bestera. 
- 
        Atzitu inprimakian dauden kontrolak. 
- 
        Atzitu inprimaki guraso baten azpinprimakiak. 
 
    
    
      
  
  FormControl zerbitzuak FormDocument bateko inprimaki, azpinprimaki edo taula-kontrol batenak diren kontrolak atzitzea ahalbidetzen du. FormControl zerbitzuaren instantzia bakoitzak inprimakiaren kontrol bakarrari egiten dio erreferentzia. Zerbitzu honi esker, erabiltzaileak honakoak egin ditzake:
  
    - 
        FormControl instantziak ordezkatzen duen kontrolaren propietateak eskuratu eta ezarri. 
- 
        Kontrolak bistaratzen duen uneko balioa atzitu. 
- 
        Fokua desiratutako kontrolean ezarri. 
 
    
    
      
    
    The FormDocument service allows to access form documents stored in LibreOffice Base documents.
    In a Base document, existing form documents can be viewed by selecting  in the user interface. Each form document may be composed of one or more forms, including the main form and other sub-forms.
   
    
    
      
    
    Zerbitzu honek kateak itzultzeko balio duten metodoak eskaintzen ditu, eta inpaktu oso txikia du programaren iturburu-kodean. L10N zerbitzuak eskaintzen dituen metodoak hurrengoetarako erabili daitezke batez ere:
    
 
    
    
      
    
    Menu zerbitzua LibreOffice dokumentu-leiho bateko menu-barraren menuak sortu eta kentzeko erabili daiteke. Menu-sarrera bakoitza script batekin edo UNO komando batekin lotu daiteke. Zerbitzuak honako kapazitateak eskaintzen ditu:
    
      - 
        Sarrera pertsonalizatuak, kontrol-laukiak, biratze-botoiak eta bereizleak dituzten menuen sorrera. 
- 
        Menu-elementuak ikonoekin eta aholkuekin apaintzea. 
 
    
    
      
    
  Platform zerbitzuak uneko exekuzio-inguruneari eta -testuinguruneari buruzko propietateen bilduma bat eskaintzen du, adibidez:
  
      - 
          Hardware-plataforma (arkitektura, PUZ zenbaketa, makina mota, etab.) 
- 
          Sistema eragilearen buruzko informazioa (mota, argitalpena, bertsioa, etab.) 
- 
          LibreOffice bertsioa 
- 
          Uneko erabiltzailearen izena 
 
    
    
      
    
    PopupMenu zerbitzua gertaerei lotuta dauden edo scripten bidez exekutatzen diren laster-menuak sortzeko erabili daiteke. Zerbitzu horrek honako ezaugarriak eskaintzen ditu:
    
      - 
        Sarrera, kontrol-lauki eta aukera-botoi pertsonalizatuak dituzten laster-menuen sorrera. 
- 
        Menu-elementuen apainketa ikonoekin eta aholkuekin. 
 
    
    
      
  
  Region zerbitzuak eskualde-ezarpenei lotutako programazio-kontuak maneiatzeko erabili daitezkeen propietateen bilduma bat eskaintzen du. Honakoak egiteko erabili daitezke:
  
    - 
      Eskualdearen araberako ezarpenak, adibidez zenbakien formatua, moneta eta denbora-zonak, atzitzea. 
- 
      Denbora-zonak bihurtzea eta udako ordutegiaren (DST) desplazamenduak kalkulatzea. 
- 
      Zenbakiak testu bihurtzea onartutako edozein hizkuntzatan. 
 
    
    
      
  
  
  Servicesmoduluaren xede nagusia CreateScriptService metodora sartzeko aukera ematea da. Metodo hori erabiltzaile-scriptetatik deitu daiteke ScriptForge lan-markoaren bidez inplementatzen diren zerbitzuen instantziak sortzeko.
 
    
    
      
    
    
    Session zerbitzuak xede orokorreko zenbait metodo biltzen ditu, honakoei lotutakoak:
    
   
    
    
      
  
  String zerbitzuak kateak prozesatzeko metodoen bilduma bat eskaintzen du. Metodo horiek hurrengo helburuetarako erabili daitezke:
  
    - 
      Kateen edukiak balioztatzeko 
- 
      Kateei formatua emateko, haien edukiak moztuz, justifikatuz edo egokituz 
- 
      Adierazpen erregularrak erabiltzeko azpikateak bilatu eta ordezteko 
- 
      Kateetan hash algoritmoak aplikatzeko, etab. 
 
    
    
      
  
  TextStream zerbitzua ScriptForge.FileSystem zerbitzuaren bidez ireki edo sortu diren fitxategiak sekuentzialki irakurtzeko edo idazteko erabiltzen da.
  FileSystem zerbitzuaren OpenTextFile eta CreateTextFile metodoek TextStream zerbitzuaren instantzia bat itzultzen dute.
 
    
    
      
  
  Timer zerbitzuak erabiltzaile-scriptak exekutatzeak zenbat denbora behar duen neurtzen du.
  Timer batek iraupena neurtzen du. Honakoak egin daitezke zerbitzu horrekin:
  
    - 
      Abiarazi, denbora neurtzen noiz hasiko den adierazteko. 
- 
      Eten, denbora neurtzea pausatzeko. 
- 
      Berrekin, kronometroa eten ondoren denboraren igarotzea monitorizatzen jarraitzeko. 
- 
      Berrabiarazi, aurreko neurketak bertan behera uzteko eta Timer zerbitzua zerotik hasteko. 
 
    
    
      
    
    The Toolbar service allows to retrieve information related to the toolbars available for a specific document window. With this service it is possible to:
    
   
    
    
      
    
    The ToolbarButton service allows to retrieve information related to the toolbar buttons available in a given toolbar. With this service it is possible to:
    
   
    
    
      
   
UI zerbitzuak (erabiltzaile-interfazearenak) LibreOffice aplikazio osoa osatzen duten leiho anitzen identifikazioa eta manipulazioa sinplifikatzen du:
   - 
      Leihoen hautapena 
- 
      Leihoak lekuz eta tamainaz aldatzea 
- 
      Egoera-barraren ezarpenak 
- 
      Aurrerapen-barra mugikor bat bistaratzea 
- 
      Leiho berriak sortzea 
- 
      Azpiko "dokumentuak" atzitzea 
 
    
    
      
  
  UnitTest zerbitzuak unitate-probak automatizatzeko lan-markoa eskaintzen du Basic lengoaiarako. Besteak beste, honakoak egin ditzake:
  
    - 
      proba-kasuak proba-suitetan eta unitate-probetan bildu. 
- 
      Unitate-proben artean konfiguraziorako eta itzaltzerako kodea partekatu. 
- 
      Proben emaitzak jakinarazi Console bidez. 
 
    
    
      
    
    SFDocuments liburutegi partekatuak LibreOffice dokumentuak kudeatu eta maneiatzea errazten duten metodo eta propietateak eskaintzen ditu.
    Zenbait metodo dokumentu mota guztietarako generikoak dira eta SF_Document modulutik heredatutakoak dira, eta beste batzuk Writer dokumentuetarako espezifikoak dira eta SF_Writer moduluan definituta daude.
    
 
    
    
    Oharra: Deskribatu ez diren beste ScriptForge moduluak barneko erabilerarako erreserbatuta daude. Haien edukia abisurik gabe aldatu daiteke.
    
      
Azpimarraren karaktere bat, "_", aurrizki gisa duten ScriptForge Basic errutina edo identifikatzaile guztiak barneko erabilerarako erreserbatuta daude. Ez dira Basic makroetan edo Python scriptetan erabili behar.