Dialogbox und Labelfelder

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

der_Zerstreute
***
Beiträge: 62
Registriert: Do, 01.05.2008 11:33

Dialogbox und Labelfelder

Beitrag von der_Zerstreute »

Hallo Leute ,

ich bin gerade dabei mir die Grundlagen in der Dialogboxgestalltung und programmierung beizubringen.
Ich bin heute über ein kleines Problem gestolpert für welches ich irgendwie keine Lösung ergoogeln konnte ;).

Folgendes ist Stand der Dinge :

Ich habe ein kleines Makro welches aus einer Datei 2 Array Variablen füllt .
Anschließend soll die erste Variable als Pulldown Menü in der Box auftauchen . Die Positionsnummer des ausgewählten Eintrags benötige ich für die 2. Array Variable - sollte also zurückgegeben werden.

mein Hauptaugenmerk liegt aber im Moment in etwas viel Banalerem :
Wie - bzw. geht es überhaupt - kann ich Textlabels in der Dialogbox mit dem Inhalt einer Variablen füllen ? Ich würde die Labels gern via Variable füllen da es einfach übersichtlicher zu schreiben und zu ändern ist.

anbei Beispielcode :

Code: Alles auswählen

Sub Main
globalScope.BasicLibraries.LoadLibrary("Tools") ' einbinden der OOBasic Funktionen 
'--------------------------------------------
' Variablen zuordnen
'--------------------------------------------
dim sModel as string
dim mModel as variant
dim sNo as string
dim mNo as variant
dim sArtNo as variant
dim count as integer
dim sWer as string
dim check as integer
dim document   as object
dim dispatcher as object
Dim MyDialog as Object ' Dialogbox
dim args1(0) as new com.sun.star.beans.PropertyValue rem Argumente
dim args2(0) as new com.sun.star.beans.PropertyValue rem Argumente
Dim Temp as String 'als temporärer Zwischenspeicher


'--------------------------------------------
' Variablen beschreiben 
'--------------------------------------------
'  Arrays füllen 
'--------------------------------------------

dim sFile as string
dim x as single

sFile="T:\Transfer\dk\Data\OOO Basic\ArtNo.txt"

Open sFile For Input As #1
x = 0
While Not eof(1)
input #1 mModel(x),mNo(x)
x=x+1
Wend
Close #1

'--------------------------------------------
' Dialogbox starten
'--------------------------------------------

DialogLibraries.LoadLibrary( "Standard" )
MyDialog = CreateUnoDialog(DialogLibraries.Standard.Abfrage)
'--------------------------------------------
' Hinweistext erstellen
'--------------------------------------------
temp = "Bitte hier die notwendigen Daten eintragen und auswählen ." & chr(13) & chr(10)
temp = temp & "Das Formular wird automatisch ausgefüllt." & chr(13) & chr(10)
temp = temp & "Es muß nur noch der Fehler eingetragen werden." & chr(13) & chr(10)
temp = temp & chr(13) & chr(10)
MyDialog.Model.tTitel1 = temp ' <- Wo ist der Denkfehler ? Schreibweise hab ich aus dem "StarBasicFAQ.pdf".

temp = ""
temp = temp & "Anschließend auf Drucken klicken , Dokument wird als PDF gespeichert und gedruckt ." & chr(13) & chr(10)
MyDialog.Model.tEnd = temp

MyDialog.eType.List = mModel() '<- Übergabe des Arrays an die Listbox "eType" siehe Grafik

MyDialog.execute
dialog.jpg
dialog.jpg (86.08 KiB) 406 mal betrachtet
box2.jpg
box2.jpg (127.34 KiB) 406 mal betrachtet

Danke schonmal vorweg für Eure Anregungen !!
Is mir so peinlich ständig nachfragen zu müssen ;) .. Aber mit der Anleitung allein kom ich nicht klar :D
Z.
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Dialogbox und Labelfelder

Beitrag von turtle47 »

Hi,
der_Zerstreute hat geschrieben:kann ich Textlabels in der Dialogbox mit dem Inhalt einer Variablen füllen ?
versuche es mal so:

Code: Alles auswählen

DialogLibraries.LoadLibrary( "Standard" )
MyDialog = CreateUnoDialog(DialogLibraries.Standard.Abfrage)
'--------------------------------------------
' Hinweistext erstellen
'--------------------------------------------
temp = "Bitte hier die notwendigen Daten eintragen und auswählen ." & chr(13)
temp = temp & "Das Formular wird automatisch ausgefüllt." & chr(13)
temp = temp & "Es muß nur noch der Fehler eingetragen werden." & chr(13)
temp = temp & chr(13)
ctl_tTitel1 = MyDialog.getControl("tTitel1")
ctl_tTitel1.model.Label = temp
Viel Erfolg.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
der_Zerstreute
***
Beiträge: 62
Registriert: Do, 01.05.2008 11:33

Re: Dialogbox und Labelfelder

Beitrag von der_Zerstreute »

super , das läuft schonmal soweit :D

jetzt ist nur noch die Frage wie bekomme ich das mModel Array auf die Dropdownbox "eType" bzw wie Frage ich ab welches ausgewählt wurde.

Danke nochmals
keksi1970
*****
Beiträge: 464
Registriert: So, 27.01.2008 11:47
Wohnort: DU

Re: Dialogbox und Labelfelder

Beitrag von keksi1970 »

Guck mal hier rein, da ist vieles beschrieben

http://www.dannenhoefer.de/faqstarbasic ... l#Zweig108

und noch einiges mehr . . .

LG
Andreas
Antworten