Collabora Office 24.04 laguntza
Pythonen irteera-fitxategi estandarra ez dago erabilgarri Python makroak input(), print(), repr() eta str() eta beste zenbait eginbide Python kontsolan soilik daude erabilgarri.
... menutik exekutatzen direnean. Modulu baten irteera erakusteko, Pythonen shell interaktiboa behar da.Collabora Office msgbox Python moduluak proposatzen duen msgbox() metodoa Gertaeren entzuleak sortzea eta Elkarrizketa-koadroen maneiatzailea sortzea adibideko orrietan azaltzen dira.
Collabora Office Basic lengoaiak InputBox(), Msgbox() eta Print() funtzioak proposatzen ditu pantailaren sarrerarako/irteerarako. Badaude horretarako Pythonen ordezkoak, Collabora Office API Abstract Windowing Toolkiten oinarritutakoak edo Pythonetik Basic-erako funtzio-deietan oinarritutakoak. Azkenak proposatzen duen sintaxia Basic lengoaiarenaren antzekoa da, nahita, eta Basic modulu baten hurbilekoa den Python modulu bat erabiltzen du. API Scripting Framework erabiltzen da Basic, BeanShell, JavaScript eta Python lengoaien arteko funtzio-deiak gauzatzeko.
MsgBox(txt, buttons=0, title=None)
InputBox(txt, title=None, default=None)
Print(txt)
>>> import screen_io as ui
>>> reply = ui.InputBox('Please enter a phrase', title='Dear user', defaultValue="here..")
>>> rc = ui.MsgBox(reply, title="Confirmation of phrase")
>>> age = ui.InputBox('How old are you?', title="Hi")
>>> ui.Print(age)
Kopiatu screen_io Python modulua Nire makroak karpetan, <UserProfile>/Scripts/python/pythonpath barruan,
Kopiatu uiScripts Basic modulua Nire makroak Standard Basic liburutegian,
Berrabiarazi Collabora Office.
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
def MsgBox(prompt: str, buttons=0, title='LibreOffice') -> int:
""" Mezu bat duen elkarrizketa-koadro bat bistaratzen du eta balio bat itzultzen du."""
xScript = _getScript("_MsgBox")
res = xScript.invoke((prompt,buttons,title), (), ())
return res[0]
def InputBox(prompt: str, title='LibreOffice', defaultValue='') -> str:
""" Gonbita bistaratzen du elkarrizketa-koadro batean, erabiltzaileak testua sartu ahal izateko."""
xScript = _getScript("_InputBox")
res = xScript.invoke((prompt,title,defaultValue), (), ())
return res[0]
def Print(message: str):
"""Elkarrizketa-koadroan zehaztutako kateak edo zenbakizko adierazpenak ematen ditu."""
xScript = _getScript("_Print")
xScript.invoke((message,), (), ())
import uno
from com.sun.star.script.provider import XScript
def _getScript(script: str, library='Standard', module='uiScripts') -> XScript:
sm = uno.getComponentContext().ServiceManager
mspf = sm.createInstanceWithContext("com.sun.star.script.provider.MasterScriptProviderFactory", uno.getComponentContext())
scriptPro = mspf.createScriptProvider("")
scriptName = "vnd.sun.star.script:"+library+"."+module+"."+script+"?language=Basic&location=application"
xScript = scriptPro.getScript(scriptName)
return xScript
ScriptForge liburutegietako Basic zerbitzuko MsgBox eta InputBox metodoek zuzenean jatorrizko Basic lengoaiako beren parekoei deitzen diete.
Option Explicit
Private Function _MsgBox( prompt As String, Optional buttons As Integer, _
Optional title As String ) As Integer
_MsgBox = MsgBox( prompt, buttons, title )
End Function
Private Function _InputBox( prompt As String, Optional title As String, _
Optional default As String) As String
_InputBox = InputBox( prompt, title, default )
End Function
Private Sub _Print( msg As String )
Print msg
End Sub
Alternative Python Script Organizer (APSO) hedapenak msgbox() funtzio bat eskaintzen du apso_utils moduluaren bidez.