von Toxitom » Sa, 17.07.2004 09:13
Hallo Stefan,
ch unterscheide nicht die Optionsfelder anhand des Namens, sondern des Labels (der Beschriftung), die Namen müssen für eine Gruppe gleich sein, aber die Label können beliebig sein.
Sorry, da hast du natürlich recht. Hab ich verwechselt, da ich normalerweise natürlich nach dem Namen suche... Mit der Suche nach dem Label ist es natürlich mögllich, diese zu unterscheiden.
Radio_Gruppe.RefValue
Das ist schon der richtige Ausdruck, liefert einen String zurück (kannst du in den Eigenschaften setzen). Der Fehler liegt aber wahrscheinlich daran, dass dein Code (noch) nicht fehlersicher ist. Die Eigenschaft
RefValue gibt es nur bei Optionsfeld-Objekten. Bei deiner Schleife werden aber alle Objekte zunächst referiert, so dass durchaus auch ein Objekt zuerst auftaucht, das keine RevValue Eigenschaft hat. Und dann gibt es einen Fehler.
Noch ein eSchäche wiest dein Code aktuell auf: Die Abfrage der Werte funktioniert zwar so wie gewünscht, nur die Anzeige der Werte aller Optionsbutons ist ja selten das Ziel einer Optionsfeldgruppe. Dieses wäre eher, eine spezielle Aktion, wenn ein bestimmtes Optionsfeld ausgewählt ist. Das ist aber so nicht direkt möglich. Denn schon bei der ersten Namensgleichheit würde ja die Aktion ausgelöst, und dann nochmals bei jeder weiteren... Da braucht man schon noch eine eindeutige Unterscheidung.
Insofern wäre mein Codevorschlag schon der bessere:
Über die Schleife suchen nach dem
Namen der Optionsfelder, dadurch ist die Optionsfeldgruppe eindeutig bestimmt. Innerhalb dieser eine entsprechende Bedingungsverzweigung, festgemacht man RefValue wert, der natürlich eindeutig vergeben werden muss.
Deine Beispieldatei ist übrigens sehr gut, wenn wir (bzw. du - Ehre wem Ehre gebührt) den Code noch anpassen, sollte diese Beispiel gleich als Refernezbeispiel und eventuell Schulungsbeispiel mit Dokumentation dem OpenOffice-Projekt zur Verfügung gestellt werden.
Bleibt nur noch ein Nachsatz: Eigentlich finde ich den Weg dennoch ziemlich umständlich, verglichen mit den anderen Möglichkeiten der Formularansprache. Irgendwie glaube ich immer noch, es müsste einen einfacheren geben.
Gruss
Thomas
Hallo Stefan,
[quote]ch unterscheide nicht die Optionsfelder anhand des Namens, sondern des Labels (der Beschriftung), die Namen müssen für eine Gruppe gleich sein, aber die Label können beliebig sein.[/quote]
Sorry, da hast du natürlich recht. Hab ich verwechselt, da ich normalerweise natürlich nach dem Namen suche... Mit der Suche nach dem Label ist es natürlich mögllich, diese zu unterscheiden.
[quote]Radio_Gruppe.RefValue[/quote]
Das ist schon der richtige Ausdruck, liefert einen String zurück (kannst du in den Eigenschaften setzen). Der Fehler liegt aber wahrscheinlich daran, dass dein Code (noch) nicht fehlersicher ist. Die Eigenschaft [b]RefValue[/b] gibt es nur bei Optionsfeld-Objekten. Bei deiner Schleife werden aber alle Objekte zunächst referiert, so dass durchaus auch ein Objekt zuerst auftaucht, das keine RevValue Eigenschaft hat. Und dann gibt es einen Fehler.
Noch ein eSchäche wiest dein Code aktuell auf: Die Abfrage der Werte funktioniert zwar so wie gewünscht, nur die Anzeige der Werte aller Optionsbutons ist ja selten das Ziel einer Optionsfeldgruppe. Dieses wäre eher, eine spezielle Aktion, wenn ein bestimmtes Optionsfeld ausgewählt ist. Das ist aber so nicht direkt möglich. Denn schon bei der ersten Namensgleichheit würde ja die Aktion ausgelöst, und dann nochmals bei jeder weiteren... Da braucht man schon noch eine eindeutige Unterscheidung.
Insofern wäre mein Codevorschlag schon der bessere:
Über die Schleife suchen nach dem [b]Namen[/b] der Optionsfelder, dadurch ist die Optionsfeldgruppe eindeutig bestimmt. Innerhalb dieser eine entsprechende Bedingungsverzweigung, festgemacht man RefValue wert, der natürlich eindeutig vergeben werden muss.
Deine Beispieldatei ist übrigens sehr gut, wenn wir (bzw. du - Ehre wem Ehre gebührt) den Code noch anpassen, sollte diese Beispiel gleich als Refernezbeispiel und eventuell Schulungsbeispiel mit Dokumentation dem OpenOffice-Projekt zur Verfügung gestellt werden.
Bleibt nur noch ein Nachsatz: Eigentlich finde ich den Weg dennoch ziemlich umständlich, verglichen mit den anderen Möglichkeiten der Formularansprache. Irgendwie glaube ich immer noch, es müsste einen einfacheren geben.
Gruss
Thomas