SFDialogs.DialogControl zerbitzua

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.

tip

SFDialogs.DialogControl zerbitzuak erlazio estua du SFDialogs.Dialog zerbitzuarekin.


Zerbitzuari deitzea

DialogControl zerbitzua erabili baino lehen, ScriptForge liburutegia kargatu edo inportatu behar da:

note

• 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


DialogControl zerbitzuari lehendik dagoen Dialog zerbitzu-instantzia batetik deitu behar zaio, Controls() metodoa erabilita. Elkarrizketa-koadroa SFDialogs.Dialog zerbitzuarekin hasi behar da.


      Dim myDialog As Object, myControl As Object
      Set myDialog = CreateScriptService("SFDialogs.Dialog", "GlobalScope", myLibrary, DialogName)
      Set myControl = myDialog.Controls("myTextBox")
      myControl.Value = "Elkarrizketa-koadroaren hasierako ordua: " & Now()
      myDialog.Execute()
      ' ... kontrolen uneko balioak prozesatzen ditu
      myDialog.Terminate()
   

     from time import localtime, strftime
     dlg = CreateScriptService('SFDialogs.Dialog', 'GlobalScope', lib_name, dlg_name)
     text = dlg.Controls('myTextBox')
     text.Value = "Elkarrizketa-koadroaren hasierako ordua: " + strftime("%a, %d %b %Y %H:%M:%S", localtime())
     dlg.Execute()
     # ... kontrolen uneko balioak prozesatzen ditu
     dlg.Terminate()
   

Kontrol-gertaera bat abiarazi duen DialogControl instantzia atzitzea

DialogControl zerbitzuaren instantziak SFDialogs.DialogEvent zerbitzuaren bidez eskuratu daitezke, betiere elkarrizketa-koadroa Dialog zerbitzuarekin hasieratu bada. Beheko adibidean, oControl aldagaiak kontrol-gertaera abiarazi duen DialogControl instantzia dauka.


      Sub aControlEventHandler(ByRef poEvent As Object)
          Dim oControl As Object
          Set oControl = CreateScriptService("SFDialogs.DialogEvent", poEvent)
          ' ...
      End Sub
  

Edo Python bidez:


     def control_event_handler(event: uno):
         oControl = CreateScriptService('SFDialogs.DialogEvent', event)
         # ...
  

Kontuan izan aurreko adibideetan "SFDialogs." aurrizkia ez dela derrigorrezkoa erabiltzea.

Salbuespenak maneiatzea gertaera-maneiatzaileekin

Kontroleko gertaeretarako maneiatzaileak sortzean, praktika ona izan ohi da erroreak azpierrutinan bertan maneiatzea. Adibidez, demagun botoia sakatzen denean beheko gertaera-maneiatzaileari deitzen zaiola.


    Sub OnButtonClicked(ByRef oEvent As Object)
    On Local Error GoTo Catch
        Dim oControl As Object
        oControl = CreateScriptService("DialogEvent", oEvent)
        ' Prozesatu gertaera
        Exit Sub
    Catch:
        MsgBox SF_Exception.Description
        SF_Exception.Clear
    End Sub
  
tip

Deitu SF_Exception.Clear funtzioari elkarrizketa-koadroaren exekuzioa amaitu ondoren errorea hedatu ez dadin nahi baduzu.


Python lengoaian, erabili jatorrizko try/except blokeak salbuespenak maneiatzeko, honela:


    def on_button_clicked(event=None):
        try:
            oControl = CreateScriptService("DialogEvent", event)
            # Prozesatu gertaera
        except Exception as e:
            # Beheko "bas" objektua Basic zerbitzuaren instantzia bat da
            bas.MsgBox(str(e))
  

Kontrol motak

DialogControl zerbitzua honako kontrol motetarako dago erabilgarri:

• Button
• CheckBox
• ComboBox
• CurrencyField
• DateField
• FileControl

• FixedLine
• FixedText
• FormattedField
• GroupBox
• Hyperlink
• ImageControl

• ListBox
• NumericField
• PatternField
• ProgressBar
• RadioButton
• ScrollBar

• TableControl
• TextField
• TimeField
• TreeControl


Propietateak

Izena

Irakurtzeko soilik

Mota

Honi aplikagarria:

Deskribapena

Border

Yes

String

Button, …

The Border property refers to the surrounding of the control: 3D, FLAT or NONE.

Cancel

Ez

Boolean

Button

Komando-botoi batek 'Utzi' botoi baten portaera duen ala ez zehazten du.

Caption

Ez

String

Button, CheckBox, FixedLine, FixedText, GroupBox, Hyperlink, RadioButton

Kontrolari lotutako testua zehazten du.

ControlType

Bai

String

Dena

Goian zerrendatutako motetako bat.

CurrentNode

Ez

UNO
objektua

TreeControl

Zuhaitz-kontrolean hautatutako goreneko uneko nodoa. Begiratu XmutableTreeNode Application Programming Interface (API) dokumentazioan informazio xeheagorako.

Default

Ez

Boolean

Button

Komando-botoi bat botoi lehenetsia ('Ados') den ala ez zehazten du.

Enabled

Ez

Boolean

Dena

Kontrola kurtsorearekin atzitu daitekeen ala ez zehazten du.

Format

Ez

String

DateField, TimeField, FormattedField

(irakurtzeko soilik)

Datak eta orduak bistaratzeko formatua zehazten du. Kate hauetako bat izan behar du:

Datetarako: "Standard (short)", "Standard (short YY)", "Standard (short YYYY)", "Standard (long)", "DD/MM/YY", "MM/DD/YY", "YY/MM/DD", "DD/MM/YYYY", "MM/DD/YYYY" , "YYYY/MM/DD", "YY-MM-DD", "YYYY-MM-DD".

Orduetarako: "24h short", "24h long", "12h short", "12h long".

ListCount

Bai

Long

ComboBox, ListBox, TableControl

Zerrenda-koadro, konbinazio-koadro edo taula-kontrol baten errenkada kopurua zehazten du.

ListIndex

Ez

Long

ComboBox, ListBox, TableControl

Zerrenda-koadro, konbinazio-koadro edo taula-kontrol batean zein elementu dagoen hautatuta zehazten du.

Locked

Ez

Boolean

ComboBox, CurrencyField, DateField, FileControl, FormattedField, ListBox, NumericField, PatternField, TextField, TimeField

Kontrola irakurtzeko soilik den zehazten du.

MultiSelect

Ez

Boolean

ListBox

Erabiltzaileak zerrenda-koadro batean hautapen anitz egin ditzakeen zehazten du.

Name

Bai

String

Dena

Kontrolaren izena.

Page

Ez

Integer

Dena

Elkarrizketa-koadro batek orri bat baino gehiago izan dezake. Erabiltzaileak banan banan joan daiteke batetik bestera. Elkarrizketa-koadroaren objektuaren 'Page' propietateak koadroaren zein orri dagoen aktibo definitzen du.

Kontrol baten 'Page' propietateak kontrola elkarrizketa-koadroko zein orritan egongo den ikusgai definitzen du.

Parent

Bai

Dialog
zerbitzua

Dena

SFDialogs.Dialog klase-objektuaren instantzia gurasoa.

Picture

Ez

String

Button, ImageControl

Zehaztutako kontrolean bistaratuko den bit-mapa edo beste motaren bateko grafikoa duen fitxategi-izena zehazten du. Fitxategi-izenak ScriptForge.FileSystem zerbitzuaren FileNaming atributuarekin bat etorri behar du.

RootNode

Bai

UNO
objektua

TreeControl

Erro-nodorik behekoena ordezkatzen duen objektu bat (normalean erro-nodo bakar bat dago). Begiratu XmutableTreeNode Application Programming Interface (API) dokumentazioan informazio xeheagorako.

RowSource

Ez

Array of strings

ComboBox, ListBox

Konbinazio-koadroan edo zerrenda-koadroan dauden datuak zehazten ditu.

TabIndex

Yes

Numeric

All

The TabIndex property specifies a control's place in the tab order in the dialog.

Text

Bai

String

ComboBox, FileControl, FormattedField, PatternField, TextField

Kontrolak erakusten duen testua atzitzeko aukera ematen du.

TipText

Ez

String

Dena

Saguaren erakuslea kontrolaren gainean jartzen denean agertzen den aholkuaren testua zehazten du.

TripleState

Ez

Boolean

CheckBox

Kontrol-laukia grisean agertu daitekeen ala ez zehazten du.

URL

No

String

Hyperlink

The URL to open when the control is clicked.

Value

Ez

Variant

Refer to Value property

Visible

Ez

Boolean

Dena

Kontrola ezkutuan dagoen ala ikusgai dagoen zehazten du.

XControlModel

Bai

UNO
objektua

Dena

Kontrol-eredua ordezkatzen duen UNO objektua. Begiratu APIaren dokumentazioko XControlModel eta UnoControlDialogModel informazio xeheagorako.

XControlView

Bai

UNO
objektua

Dena

Kontrol-bista ordezkatzen duen UNO objektua. Begiratu APIaren dokumentazioko XControl eta UnoControlDialog informazio xeheagorako.

XTreeDataModel

Bai

UNO
objektua

TreeControl

Zuhaitz-kontrolaren datu-eredua ordezkatzen duen UNO objektua. Begiratu APIaren dokumentazioko XMutableTreeDataModel informazio xeheagorako.


The Value property

Kontrol mota

Mota

Deskribapena

Button

Boolean

Txandakatze-botoietarako soilik

CheckBox

Boolearra edo osoa

0, False: markatu gabea
1, True: markatua
2: grisean, ezezaguna

ComboBox

String

Hautatutako balioa. ListIndex propietatea ordezko aukera bat da.

CurrencyField

Zenbakia

DateField

Date

FileControl

String

ScriptForge.FileSystem zerbitzuaren FileNaming propietatearen arabera formatua eman zaion fitxategi-izen bat.

FormattedField

Katea edo zenbakia

ListBox

Kate edo kateen matrizea

Hautatutako errenkada(k) eskalar gisa edo matrize gisa, MultiSelect atributuaren arabera.

NumericField

Zenbakia

PatternField

String

ProgressBar

Zenbakia

Muga aurredefinituen barruan egon behar du

RadioButton

Boolean

Botoi bakoitzak bere izen propioa du. Elkarrekin lotuta daude beren TAB kokaguneak elkarren albokoak badira. Aukera-botoi baten balioa True bada, erlazionatutako gainerako botoiei automatikoki False ezarriko zaie.

ScrollBar

Zenbakia

Muga aurredefinituen barruan egon behar du

TableControl

Array

Dimentsio bakarreko matrizea, unean hautatutako errenkadaren datuak dituena.

TextField

String

Eremuan ageri den testua

TimeField

Date


note

There's no Value property for GroupBox, Hyperlink, ImageControl and TreeControl dialog controls.


Gertaeraren propietateak

On… properties return a URI string with the reference to the script triggered by the event. On… properties can be set programmatically.
Read its specification in the scripting framework URI specification.

Izena

Irakurtzeko soilik

Deskripzioa, Basic IDEan etiketatu den moduan

OnActionPerformed

Bai

Exekutatu ekintza

OnAdjustmentValueChanged

Bai

Doitzean

OnFocusGained

Bai

Fokua hartzean

OnFocusLost

Bai

Fokua galtzean

OnItemStateChanged

Bai

Elementuaren egoera aldatzean

OnKeyPressed

Bai

Tekla sakatzean

OnKeyReleased

Bai

Tekla askatzean

OnMouseDragged

Bai

Tekla sakatuta dagoenean sagua arrastatzean

OnMouseEntered

Bai

Sagua barnean dagoenean

OnMouseExited

Bai

Sagua kanpoan dagoenean

OnMouseMoved

Bai

Sagua mugitzean

OnMousePressed

Bai

Saguaren botoia sakatzean

OnMouseReleased

Bai

Saguaren botoia askatzean

OnNodeExpanded

Ez

(Ez Basic IDEan) hedatze-botoia zuhaitz-kontroleko nodo batean sakatzen denean

OnNodeSelected

Ez

(Ez Basic IDEan) zuhaitz-kontroleko nodo bat hautatzen denean

OnTextChanged

Bai

Testua aldatzean


warning

Assigning events via the Basic IDE and assigning events via macros are mutually exclusive.


Metodoak

DialogControl zerbitzuaren metodoen zerrenda

AddSubNode
AddSubTree
CreateRoot

FindNode
Resize
SetFocus

SetTableData
WriteLine


AddSubNode

Sortu eta itzuli zuhaitzaren nodo berria, nodo guraso baten azpiko UNO objektu gisa. Begiratu XMutableTreeNode Application Programming Interface (API) dokumentazioan informazio xeheagorako.

Metodo hau elkarrizketa-koadroa bistaratu baino lehen deitu daiteke, hasierako zuhaitza eraikitzeko. Zuhaitza dinamikoki osatzeko ere deitu daiteke, bai elkarrizketa-koadro batetik bai kontrol-gertaera batetik (OnNodeExpanded gertaera erabilita).

Sintaxia:

svc.AddSubNode(parentnode: uno, displayvalue: str, opt datavalue: any): uno

Parametroak:

parentnode: Nodo motako UNO objektu bat, com.sun.star.awt.tree.XMutableTreeNode motakoa.

displayvalue: Zuhaitzaren kontrol-laukian ageri den testua.

datavalue: Nodo berriari lotutako edozein balio. datavalue kate bat, data bat edo zenbaki bat izan daiteke. Aplikagarria ez bada, ez erabili argumentu hau.

Adibidea:

LibreOffice Basic eta Python adibideek uneko dokumentuaren myDialog elkarrizketa-koadroa Standard liburutegitik hartzen dute.

Basic lengoaian

      Dim oDlg As Object, myTree As Object, myNode As Object, theRoot As Object
      Set oDlg = CreateScriptService("Dialog",,, "myDialog")
      Set myTree = oDlg.Controls("myTreeControl")
      Set theRoot = myTree.CreateRoot("Tree top")
      Set myNode = myTree.AddSubNode(theRoot, "A branch ...")
   
Python lengoaian

     dlg = CreateScriptService('SFDialogs.Dialog', None, None, 'myDialog')
     tree = dlg.Controls('myTreeControl')
     root = tree.CreateRoot('Tree top')
     node = tree.AddSubNode(root, 'A branch ...')
   

AddSubTree

True (egia) itzultzen du nodo guraso baten mendeko azpizuhaitz bat zuhaitz-kontrol batean ongi txertatu daitekeenean. Nodo gurasok dagoeneko nodo haurrak baditu metodo honi deitu baino lehen, nodo haurrak ezabatu egingo dira.

Metodo hau elkarrizketa-koadroa bistaratu baino lehen deitu daiteke, hasierako zuhaitza eraikitzeko. Zuhaitza dinamikoki osatzeko ere deitu daiteke, bai elkarrizketa-koadro batetik bai kontrol-gertaera batetik (OnNodeExpanded gertaera erabilita).

Sintaxia:

svc.AddSubTree(parentnode: uno, flattree: any, opt withdatavalue: bool): bool

Parametroak:

parentnode: Nodo motako UNO objektu bat, com.sun.star.awt.tree.XMutableTreeNode motakoa.

flattree: Bi dimentsiotako matrize bat, bistaratze-balioak dituen zutabeetan ordenatuta. Horrelako matrize bat bidaltzeko, erabili GetRows metodoa SFDatabases.Database zerbitzuan aplikatuta. Bistaratuko den testua duen matrize-elementu bat Empty edo Null bada, ez da azpinodo berririk sortuko eta errenkadaren gainerakoa saltatu egingo da.


      Zuhaitz laua    >>>>    Emaitza gisa sortutako azpizuhaitza
      A1	B1	C1             |__   A1	
      A1	B1	C2                   |__   B1
      A1	B2	C3                         |__  C1
      A2	B3	C4                         |__  C2
      A2	B3	C5                   |__   B2
      A3	B4	C6                         |__  C3
                             |__   A2
                                   |__   B3
                                         |__  C4
                                         |__  C5
                             |__   A3
                                   |__   B4
                                         |__  C6
   

withdatavalue: Balio lehenetsia den False erabiltzen denean, flattree matrizeko zutabe bakoitzak zuhaitz-kontrolean bistaratuko diren testuak ditu. Balioa True bada, bistaratuko diren testuak (displayvalue) 0, 2, 4... zutabeetan daude eta datu-balioak (datavalue) 1, 3, 5... zutabeetan daude.

Adibidea:

Basic lengoaian

      Dim myTree As Object, theRoot As Object, oDb As Object, vData As Variant
      Set myTree = myDialog.Controls("myTreeControl")
      Set theRoot = myTree.CreateRoot("By product category")
      Set oDb = CreateScriptService("SFDatabases.Database", "/home/.../mydatabase.odb")
      vData = oDb.GetRows("SELECT [Category].[Name], [Category].[ID], [Product].[Name], [Product].[ID] " _
          & "FROM [Category], [Product] WHERE [Product].[CategoryID] = [Category].[ID] " _
          & "ORDER BY [Category].[Name], [Product].[Name]")
      myTree.AddSubTree(theRoot, vData, WithDataValue := True)
   
Python lengoaian

     SQL_STMT = "SELECT [Category].[Name], [Category].[ID], [Product].[Name], [Product].[ID] \
         FROM [Category], [Product] WHERE [Product].[CategoryID] = [Category].[ID] \
         ORDER BY [Category].[Name], [Product].[Name]"
     tree = dlg.Controls('myTreeControl')
     root = tree.CreateRoot('By Product category')
     db = CreateScriptService('SFDatabases.Database', '/home/.../mydatabase.odb')
     sub_tree = db.GetRows(SQL_STMT)
     tree.AddSubTree(root, sub_tree, withdatavalue=True)
   

CreateRoot

Zuhaitz-kontrolaren erro-nodo berri bat itzultzen du, com.sun.star.awt.tree.XMutableTreeNode motako UNO objektu mota gisa. Zuhaitz-erro berria lehendik dauden erro-nodoen aurrean txertatuko da. Begiratu XMutableTreeNode Application Programming Interface (API) dokumentazioan informazio xeheagorako.

Metodo honi elkarrizketa-koadroa bistaratu baino lehen deitu dakioke, hasierako zuhaitza eraikitzeko. Zuhaitza dinamikoki osatzeko ere deitu dakioke elkarrizketa-koadro batetik edo kontrol-gertaera batetik.

Sintaxia:

svc.CreateRoot(displayvalue: str, opt datavalue: any): uno

Parametroak:

displayvalue: Zuhaitzaren kontrol-koadroan ageri den testua.

datavalue: Nodo berriari lotutako edozein balio. datavalue kate bat, data bat edo zenbaki bat izan daiteke. Aplikagarria ez bada, ez erabili argumentu hau.

Adibidea:

Basic lengoaian

      Dim myTree As Object, myNode As Object
      Set myTree = myDialog.Controls("myTreeControl")
      Set myNode = myTree.CreateRoot("Tree starts here ...")
   
Python lengoaian

     tree = dlg.Controls('myTreeControl')
     node = tree.CreateRoot('Tree starts here ...')
   

FindNode

Zuhaitza zeharkatzen du eta, modu errekurtsiboan eta errotik hasita, irizpideren bat betetzen duen nodo bat aurkitzen du. Aski da bat etortze batekin, bai bistaratze-balioa displayvalue ereduarekin bat etortzea bai bere datu-balioa datavalue parametroarekin bat etortzea. Konparazioak maiuskulak/minuskulak kontuan hartu ditzakete edo ez. Bat datorren lehen agerraldia com.sun.star.awt.tree.XMutableTreeNode nodo motako UNO objektu gisa itzuliko da. Begiratu XMutableTreeNode Application Programming Interface (API) dokumentazioan informazio xeheagorako.

Aurkitzen ez bada, metodoak Nothing itzuliko du, IsNull() funtzio integratuarekin probatuko dena.

Metodo honi elkarrizketa-koadroa bistaratu baino lehen deitu dakioke, hasierako zuhaitza eraikitzeko. Elkarrizketa-koadro batetik edo kontrol-gertaera batetik ere deitu dakioke.

Sintaxia:

svc.FindNode(displayvalue: str = '', opt datavalue: any, casesensitive = False): uno

Parametroak:

Bi argumentutako bat, displayvalue edo datavalue, zehaztu behar da. Biak badaude, bat etortze bakarra aski da nodoa hautatzeko..

displayvalue: Bat etortzeetarako erabiliko den eredua. Begiratu SF_String.IsLike() metodoa erabili daitezkeen balizko komodinak ezagutzeko. Zero luzerako kate baten berdina bada (modu lehenetsia), bistaratze-balioa ez da bilatuko.

datavalue: Nodo berriari lotutako edozein balio. datavalue kate bat, data bat edo zenbaki bat izan daiteke. Aplikagarria ez bada, ez erabili argumentu hau.

casesensitive: Balio lehenetsia False da.

Adibidea:

Basic lengoaian

      Dim myTree As Object, myNode As Object
      Set myTree = myDialog.Controls("myTreeControl")
      Set myNode = myTree.FindNode("*Sophie*", CaseSensitive := True)
   
Python lengoaian

     tree = dlg.Controls('myTreeControl')
     node = FindNode('*Sophie*', casesensitive=True)
     if node is None:
         # ...
   

Resize

Move the top-left corner of a dialog control to new coordinates and/or modify its dimensions. Return True if resizing was successful.

Sintaxia:

svc.Resize(opt Left: int, opt Top: int, opt Width: int, opt Height: int): bool

Parametroak:

All distances are expressed in Map AppFont units and are measured from the top-left corner of the parent dialog. Without arguments the method resizes the control to its "preferred size", a size adjusted depending on its actual content. Missing arguments are left unchanged.

Left: The horizontal distance from the top-left corner

Top: The vertical distance from the top-left corner

Width: the horizontal width of the rectangle containing the control

Height: the vertical height of the rectangle containing the control

Adibidea:

Basic lengoaian

      Dim oControl As Object
      Set oDlg = CreateScriptService("SFDialogs.Dialog",,, "myDialog")
      Set oControl = oDlg.Controls("thisControl")
      oControl.Resize(100, 200, Height:=6000) ' Width is unchanged
    
Python lengoaian

      dlg = CreateScriptService('Dialog', None, None, 'myDialog')
      ctrl = dlg.Controls('thisControl')
      ctrl.Resize(300, 200, 1500)  # Height is unchanged
    

SetFocus

Ezarri fokua kontrolean. True itzuliko du fokuratzea ongi gauzatu bada.

Metodo honi sarritan elkarrizketa-koadro batetik edo kontrol-gertaera batetik deitzen zaio.

Sintaxia:

svc.SetFocus(): bool

Adibidea:

Basic lengoaian

      Dim oControl As Object
      Set oDlg = CreateScriptService("SFDialogs.Dialog",,, "myDialog")
      Set oControl = oDlg.Controls("thisControl")
      oControl.SetFocus()
    
Python lengoaian

      dlg = CreateScriptService('Dialog', None, None, 'myDialog')
      ctrl = dlg.Controls('thisControl')
      ctrl.SetFocus()
    

SetTableData

TableControl emandako datuekin betetzen du. Aurretik dauden datu guztiak garbituko dira argumentu gisa pasatu diren datu berriak txertatu baino lehen.

Elkarrizketa-koadroari TableControl gehitzen bazaio, posible da Basic IDEa erabiltzea zutabe- eta errenkada-goiburukoak taulan erakutsiko diren ala ez definitzeko. TableControl elementuak zutabe- edota errenkada-goiburukoak baditu, emandako datu-matrizearen lehen zutabea edota errenkada taula-goiburukoak sortzeko etiketa modura erabiliko dira.

Metodoak True itzultzen du arrakasta duenean.

Sintaxia:

svc.SetTableData(dataarray: any[0..*, 0..*], widths: int[0..*], alignments: str, RowHeaderWidth = 10): bool

Parametroak:

dataarray: Taulan sartuko diren datuak, matrizeen matrize gisa adierazita Basic lengoaian eta tuplen tupla gisa Pythonen. Datuek zutabeen zein errenkaden goiburukoak izan behar dituzte TableControl baten bidez bistaratuko badira.

widths: Array containing the relative widths of each column. In other words, widths = (1, 2) means that the second column is twice as wide as the first one. If the number of values in the array is smaller than the number of columns in the table, then the last value in the array is used to define the width of the remaining columns.

alignments: Zutabe bakoitzeko lerrokatzeak definitzen ditu, kate gisa, non karaktere bakoitza "L" (ezkerra), "C" (erdia), "R" (eskuina) or " " (zuriunea, lehenetsia, horrek esan nahi du ezkerra kateentzako eta eskuina zenbakientzako) izan daitekeen. Katearen luzera taulako zutabe kopurua baino txikiagoa bada, kateko azken karakterea gainerako zutabeen lerrokatzea definitzeko erabiliko da.

RowHeaderWidth: width of the row header column expressed in Map AppFont units. Default = 10. The argument is ignored when the TableControl has no row header.

Adibidea:

Basic lengoaian

Hurrengo adibidean, myDialog elkarrizketa-koadroak Grid1 izeneko TableControl bat du eta horrek "Erakutsi errenkada-goiburukoa" eta "Erakutsi zutabe-goiburukoa" propietateetan "Bai" aukera du ezarrita.


     Dim myDialog As Object, oTable As Object, tableData As Variant
     myDialog = CreateScriptService("Dialog", "GlobalScope", "Standard", "myDialog")
     oTable = myDialog.Controls("Grid1")
     tableData = Array("Column A", "Column B", "Column C")
     tableData = SF_Array.AppendRow(tableData, Array("Row 1", 1, 2))
     tableData = SF_Array.AppendRow(tableData, Array("Row 2", 3, 4))
     tableData = SF_Array.AppendRow(tableData, Array("Row 3", 5, 6))
     vAlignments = "LCC"
     vWidths = Array(2, 1, 1)
     oTable.SetTableData(tableData, vWidths, vAlignments)
     myDialog.Execute()
   

Value propietateak taulan hautatutako errenkada itzultzen du. Ez badago errenkadarik hautatuta, hutsik dagoen Array objektu bat itzuliko da. Hurrengo kode-zatiak taulan errenkadaren bat hautatuta dagoen ala ez nola probatu erakusten du.


     rowValues = oTable.Value
     If UBound(rowValues) < 0 Then
         MsgBox "Ez da errenkadarik hautatu."
     Else
         MsgBox oTable.ListIndex & ". errenkada hautatu da."
     End If
   
Python lengoaian

     dlg = CreateScriptService("Dialog", "GlobalScope", "Standard", "myDialog")
     table_control = dlg.Controls("Grid1")
     table_data = (("Column A", "Column B", "Column C"),
                   ("Row 1", 1, 2),
                   ("Row 2", 3, 4),
                   ("Row 3", 5, 6))
     alignments = "LCC"
     widths = (100, 50, 50)
     table_control.SetTableData(table_data, widths, alignments)
     dlg.Execute()
   

     bas = CreateScriptService("Basic")
     row_values = table_control.Value
     if len(row_values) == 0:
         bas.MsgBox("No row selected.")
     else:
         bas.MsgBox(f"Row {table_control.ListIndex} is selected.")
   

WriteLine

Gehitu lerro bat lerro anitzeko testu-eremu baten amaierari. Lerro berriaren karakterea txertatuko da halakoa behar denean. Metodoak True itzuliko du ongi gauzatzen denean.

Errore bat gertatuko da kontrola ez bada TextField motakoa edo lerro anitzekoa ez bada.

Sintaxia:

svc.WriteLine(opt line: str): bool

Parametroak:

Line: Txertatuko den katea. Balio lehenetsia lerro hutsa da.

Adibidea:

Basic lengoaian

      Dim oDlg As Object, oControl As Object
      Set oDlg = CreateScriptService("SFDialogs.Dialog",,, "myDialog")
      Set oControl = oDlg.Controls("thisControl")
      oControl.WriteLine("a new line")
   
Python lengoaian

     dlg = CreateScriptService('SFDialogs.Dialog', None, None, 'myDialog')
     ctrl = dlg.Controls('thisControl')
     ctr.WriteLine("a new line")
   
warning

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.


Emaguzu laguntza!