Seite 1 von 1

Datumsformat in Feldbefehl-Variablen

Verfasst: Do, 22.07.2010 16:39
von TheGambler
Hi *,

heute lass ich es hier richtig krachen, aber vielleicht hilft es ja noch mehr Leuten, die dann nicht mehr fragen müssen. ;)
Angenommen ich möchte eine Feldvariable mit einem Datum der Form "2009-05-01" füllen, aber in der Ausgabe "01.05.2009" erhalten.

Dieser Code:

Code: Alles auswählen

oTextFieldCon = thisComponent.getTextFields()
oTextFields = oTextFieldCon.createEnumeration()
Do while oTextFields.hasMoreElements()
	oTextField = oTextFields.nextElement()
		
	if oTextField.VariableName = "TEST" then
		oTextField.NumberFormat = 5036
		oTextField.setPropertyValue("Content", "2009-05-01")
	end if
loop
oTextFieldCon.refresh()
...erzeugt folgendes:
DatumFehler.jpg
DatumFehler.jpg (6.14 KiB) 952 mal betrachtet
Vielleicht kann mir auch hier die Zeile

Code: Alles auswählen

oTextField.CurrentPresentation
irgendwie helfen, ich weiß aber leider nicht wie... alle Tests waren bisher erfolglos!

Hier mal das File zum rumspielen:
TEST.odt
(9.38 KiB) 82-mal heruntergeladen

Re: Datumsformat in Feldbefehl-Variablen

Verfasst: Di, 27.07.2010 09:48
von komma4
Du setzt den Wert auf 2009-5-1 = 2003. Das ist, als Datum formatiert, der 25.06.1905.

Ansonsten scheint hier ein Bug vorzuliegen... die .CurrentPresentation ändert sich nicht durch den .refresh()-Befehl (per Code). Die Anzeige wird erst korrekt, wenn das Format über die Oberfläche umgestellt wird.

Code: Alles auswählen

Sub Main
	
	oTextFieldCon = thisComponent.getTextFields()
	oTextFields = oTextFieldCon.createEnumeration()
	Do while oTextFields.hasMoreElements()
		oTextField = oTextFields.nextElement()
		
		if oTextField.VariableName = "TEST" then
			oTextField.Content =  FORMAT( "2010-04-04" , "DD.MM.YYYY" )

			oFormats = ThisComponent.NumberFormats
			Dim aLocale As New com.sun.star.lang.Locale
			Dim lMeinFormat as Long
			lMeinFormat = oFormats.queryKey( "TT.MM.JJJJ" , aLocale, True )

			oTextField.NumberFormat = lMeinFormat
XRAY oTextField 			
		end if
	loop
	oTextFieldCon.refresh()
XRAY oTextField
End Sub
NumberFormats frage ich deswegen ab, da die Codes sich pro Installation ändern können

XRAY zeigt mir den ansich korrekten Inhalt an... bin ratlos, wie Dir das weierhelfen kann... :cry:

Re: Datumsformat in Feldbefehl-Variablen

Verfasst: Di, 27.07.2010 13:50
von TheGambler
Ok. Vielen Dank für deinen motivierten Versuch. Das heißt, wir sind uns einig, dass es ein Bug ist? Kann/sollte ich den irgendwo reporten?

Re: Datumsformat in Feldbefehl-Variablen

Verfasst: Di, 27.07.2010 14:27
von komma4