Numerisches-/Zahlenfeld auslesen – brauche Hilfe

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

Moderator: Moderatoren

Benutzeravatar
Sybok
Beiträge: 4
Registriert: Do, 08.04.2004 14:28
Wohnort: Eckernförde
Kontaktdaten:

Numerisches-/Zahlenfeld auslesen – brauche Hilfe

Beitrag von Sybok »

Hi,

ich habe folgendes Problem. In einem Dialog habe ich ein numerisches Feld eingefügt, weil die User dort nur Zahlenwerte eingeben dürfen. Nun wollte ich den Wert aus dem Feld abrufen, aber die zurückgegebene Variable ist leer. Wohingegen der Wert aus einem Textfeld ohne Probleme ausgelesen wird. Wo ist mein Fehler?

Hier der Code

Code: Alles auswählen

   Sub Dialog2Show

   Dim Dlg As Object 'Dialogfeld
   Dim Zah As Object 'numerisches Feld
   Dim Tex As Object 'Textfeld

   DialogLibraries.LoadLibrary("Standard")
   Dlg = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
   Dlg.Execute()

   Zah = Dlg.getControl("NumericField1")
   MsgBox "'" & Zah.Text & "'" 'hier soll der Inhalt des numerischen Feldes
   				                'angezeigt werden. Aber die Variable ist leer.

   Tex = Dlg.getControl("TextField1")
   MsgBox "'" & Tex.Text & "'" 'hier wird der Inhalt des Text
   				                'Feldes angezeigt werden

   Dlg.dispose()

   End Sub

Zuletzt geändert von Sybok am Do, 13.04.2006 13:32, insgesamt 1-mal geändert.
Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
John James Osborne
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hallo Sybok,

ganz einfach: Ein numerisches Feld hat keine Eigenschaft "text". Also kannst du auch keine auslesen, es ist ja ein numerisches Feld!
Es gibt (ähnlich wie bei Zellen) verschiedene Inhaltseigenschaften:
.text ' liefert den Textinhalt von Textvariablen als string
.value ' liefert den Wert von numerischen Feldern als int bzw. long
.date ' liefert den Datumswert bei zeit und Datumsfeldern

Ersetze also einfach den "text" mit "value" und schon klappt es.

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Benutzeravatar
Sybok
Beiträge: 4
Registriert: Do, 08.04.2004 14:28
Wohnort: Eckernförde
Kontaktdaten:

Beitrag von Sybok »

:):):)

Jupp

Das war es was fehlte. Nun klappt alles.
Danke Toxitom.

Götz
Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
John James Osborne
Benutzeravatar
Sybok
Beiträge: 4
Registriert: Do, 08.04.2004 14:28
Wohnort: Eckernförde
Kontaktdaten:

Beitrag von Sybok »

Hallo Gast :)

Wenn Du in einem Dokument ein Zahlen-, Text-, Zeit- oder sonst ein Feld einfügst musst Du erst den Entwurfsmodus verlassen. Wenn Du das gleiche in einem Dialog machst musst du den Testmodus aktivieren damit etwas passiert. Siehe die beiden Bilder.

Grüsse
Götz

Bild
Zahlenfeld in einem Dokument

Bild
Zahlenfeld in einem Dialog
Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
John James Osborne
Antworten