Textfield als Variable deklarieren

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Textfield als Variable deklarieren

Re: Textfield als Variable deklarieren

von Jörg » Sa, 18.07.2015 14:00

@ Stephan
Danke auch Dir für die Hinweise. Hatte meine Antwort schon abgeschickt.

Re: Textfield als Variable deklarieren

von Jörg » Sa, 18.07.2015 13:59

Hallo clag,
das war`s. Danke.
Zu meinen anderen Überlegungen (eine Schaltfläche):
1. eine weitere Variable deklarieren -> Dim oirgendwas as String
2. oirgendwas (1)= omahnungsdatum
....
oirgendwas (6) = ostatus
3. for i = 1 to 6
if i <> "" then

meine makros zum Schreiben der Zellen.

Kann das so gehen?
Ansonsten vielen Dank und schönes WE.
Jörg

Re: Textfield als Variable deklarieren

von Stephan » Sa, 18.07.2015 13:54

also ohne die nachfolgenden Zeilen funktioniert mein Dialog.
aber nicht wenn sich das auf den ursprünglichen Code bezieht, und einen möglicherweise anderen Code kennt hier niemand.

Warum kann es nicht gehen?

Weil der Code beginnt mit:

Code: Alles auswählen

omahnungsdatum = oDialog4.getControl("TextField1")
jedoch die Objektvariable "oDialog4" erst 14 Zeilen später initialisiert bzw. mit Inhalt gefüllt wird, nämlich in der Zeile:

Code: Alles auswählen

oDialog4 = CreateUnoDialog(DialogLibraries.Standard.Dialog4)
weswegen völlig richtig die benannte Fehlermeldung "Objektvariable nicht belegt" erfolgt.

Daran ändert sich auch nichts dadurch das man einige Variablendeklarierungen streicht, wie Du es beschreibst.



Gruß
Stephan

Re: Textfield als Variable deklarieren

von clag » Sa, 18.07.2015 13:39

Hallo

schau dir doch mal deine Reihenfolge der Anweisungen an !
TestDialog4.ods
(12.06 KiB) 77-mal heruntergeladen

Re: Textfield als Variable deklarieren

von Jörg » Sa, 18.07.2015 12:46

Hallo clag,
also ohne die nachfolgenden Zeilen funktioniert mein Dialog.

Code: Alles auswählen

Dim ostatus as Object, omahnungsdatum as Object, oersteMahn as Object, ozweiteMahn as Object, odritteMahn as Object, oZins as Object

Code: Alles auswählen

omahnungsdatum = oDialog4.getControl("TextField1")         
ostatus = oDialog4.getControl("TextField2")         
oersteMahn = oDialog4.getControl("TextField3")
ozweiteMahn = oDialog4.getControl("TextField4")
odritteMahn = oDialog4.getControl("TextField5")   
oZins = oDialog4.getControl("TextField6")
Der Hintergrund ist folgender:
Mit den Textfeldern werden unterschiedliche NICHT zusammenhängende Zellen geschrieben. Nun habe ich hinter jedem Textfeld eine Schaltfläche ("Übernehmen"), so dass jedes Textfeld einzeln schreibt. Funktioniert auch. Mein Ziel ist es jedoch alles auf eine Schaltfläche zu legen.
Allerdings muß ich dann sicherstellen, dass die Zellen geschrieben werden, wenn Textfield1 usw. <> "" sind.

Gruß Jörg

Re: Textfield als Variable deklarieren

von clag » Sa, 18.07.2015 12:21

Hllo Jörg,

wenn das der ganze Code ist kann es nicht funtionieren, weil du noch gar keinen Dialog geladen hast.
http://www.dannenhoefer.de/faqstarbasic ... ml#Zweig85

Code: Alles auswählen

	sub Test	
	Dim oDialog as object
	Dim iDlgOK as integer
	DialogLibraries.loadLibrary( "Standard") 
	oDialogLib = DialogLibraries.getByName("Standard")
	oDialog = CreateUnoDialog(oDialogLib.getByName("Dialog1"))
	iDlgOK = oDialog.Execute() 
	if iDlgOK = 1 then 
		myString = oDialog.GetControl("TextField1").Text
	end if
	oDialog.dispose()
	msgbox myString , , "das war die Eingabe im Dialog"
end sub
TestDialog.ods
(10.79 KiB) 67-mal heruntergeladen
Viel Spaß

Textfield als Variable deklarieren

von Jörg » Sa, 18.07.2015 10:56

Hallo Fachleute,
beim Aufruf des Dialoges bekomme ich die Fehlermeldung: Objektvariable nicht belegt. Was hab ich falsch gemacht?
Danke für Eure Hilfe
Gruß Jörg

Code: Alles auswählen

omahnungsdatum = oDialog4.getControl("TextField1")

Code: Alles auswählen

Public oDialog4 as Object
Public osheet as Object
Public oZelle as Object
Public mycell as Object
Public mahnung1 as Object
Public mahnung2 as Object
Public mahnung3 as Object
Dim ostatus as Object, omahnungsdatum as Object, oersteMahn as Object, ozweiteMahn as Object, odritteMahn as Object, oZins as Object
sub Dialog4

omahnungsdatum = oDialog4.getControl("TextField1")			
ostatus = oDialog4.getControl("TextField2")			
oersteMahn = oDialog4.getControl("TextField3")
ozweiteMahn = oDialog4.getControl("TextField4")
odritteMahn = oDialog4.getControl("TextField5")	
oZins = oDialog4.getControl("TextField6")
odoc = ThisComponent
	osheet = odoc.Sheets().getByName("Tabelle12")
	oZelle = osheet.getCellRangebyName("H25")
	mycell =  osheet.getCellRangebyName("G24")
		mahnung1 =  osheet.getCellRangebyName("K25")
			mahnung2 =  osheet.getCellRangebyName("K26")
				mahnung3 =  osheet.getCellRangebyName("K27")

	DialogLibraries.loadLibrary("Standard")
	oDialog4 = CreateUnoDialog(DialogLibraries.Standard.Dialog4)
	oDialog4.execute
end sub

Nach oben