Label von 2 OptionButton auslesen, aber nur 1 übernehmen

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

Moderator: Moderatoren

Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Label von 2 OptionButton auslesen, aber nur 1 übernehmen

Beitrag von balu »

Hallo liebe Gemeinde,

ich hab momentan eine kleine Denkblokade, und hoffe deshalb das ihr mir helfen könnt.

Also ich habe in einem Dialog 2 OptionButton die unterschiedlich beschriftet sind. Nun möchte ich bei klick auf ein von beiden die Beschriftung (Label) auslesen und einer Variablen zuweisen.

Ich habe wohl eine kleine Sub (Danke schön an Karolus :)) die den nicht angeklickten OptionButton deaktiviert und den Status dementsprechend auf Null setzt.

Code: Alles auswählen

sub OptionButton1oder2Deaktiv()
	with oDialog1.model
		for opi = 1 to 2
		.getbyname("OptionButton" & opi).enabled = .getbyname("OptionButton" & opi).state
		next
	end with
end sub	
Es gelingt mir aber momentan nicht die Label-Abfrage ähnlich aufzubauen wie die andere Sub. Deshalb begnüge ich mich momentan mit dieser jämmerlichen Krüke.

Code: Alles auswählen

		if oDialog1.getControl("OptionButton1").model.State = 1 then
			WPMfest = oDialog1.getControl("OptionButton1").Model.Label
		end if
		if oDialog1.getControl("OptionButton2").model.State = 1 then
			WPMfest = oDialog1.getControl("OptionButton2").Model.Label
		end if
Wobei WPMfest die Variable ist der ich die Beschriftung zuweisen möchte.

Könnt ihr mir bitte schön helfen, auch wenn es ein Link zu einem ähnlichem Thread ist?

Für Eure Bemühungen bedanke ich mich schon mal.


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Label von 2 OptionButton auslesen, aber nur 1 übernehmen

Beitrag von F3K Total »

Hallo, meinst Du sowas?

Code: Alles auswählen

for i=1 to 2      
  if oDialog1.getControl("OptionButton"&i).model.State = 1 then
         WPMfest = oDialog1.getControl("OptionButton"&i).Model.Label
  end if
next i
oder sowas ...

Code: Alles auswählen

for i=1 to 2
omodel=Dialog1.getControl("OptionButton"&i).model
  if omodel.State = 1 then
         WPMfest = omodel.Label
  end if
next i
Gruß R
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Label von 2 OptionButton auslesen, aber nur 1 übernehmen

Beitrag von balu »

Hallo R,

oh man! Manchmal gibts Tage da steht man nur noch aufm Schlauch. Egal, Du hast mir aus meiner peinlichen Situation geholfen. Und dafür danke ich dir :D.
(hät ich auch selber draufkommen können. schäm)

Beide Vorschläge funktionieren. Und obwohl der zweite un eine Zeile länger ist, hab ich mich für ihn entschieden. Er ist in meinen Augen Optisch übersichtlicher.



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Label von 2 OptionButton auslesen, aber nur 1 übernehmen

Beitrag von DPunch »

Aloha

Wobei man der Vollständigkeit halber sagen sollte, dass Dein ursprünglicher Weg in dieser Situation prinzipiell der bessere, weil effizientere, Weg ist (ein <if..elseif...> wäre nochmal besser als zwei unabhängige <if>s).
Interessant wird eine Schleife erst bei einer größeren Anzahl an OptionButtons.
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Label von 2 OptionButton auslesen, aber nur 1 übernehmen

Beitrag von balu »

Hallo DPunch,

wie schon gesagt stand ich mit meiner Denkblokade aufm Schlauch. Was ja wohl bei jedem mal vorkommen kann. Jedenfalls sind die Behinderungen nun wieder beseitigt und ich kann momentan wieder klarer denken. Und dabei ist mir jetzt aufgefallen das der Lösungsvorschlag Nr.2 ausgebaut auf Überprüfung von 4 OptionButtons mein weiteres Vorgehen sehr erleichtert.



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Antworten