Seite 1 von 2

"alles Außer" operator?

Verfasst: 29.03.2007 18:57
von D4uS1
Ich habe eine Liste auf der man einzelne Segmente auswählen kann. Diese Segmente sind Arrays. Wenn ich aber nun ein Segment auswähle, kann ich immer noch die andren hinzufügen, ich hätte es aber gerne so das immer nur eine Auswahl möglich ist. Gibt es einen "alles Ausser" operator für solche zwecke?

Code: Alles auswählen

initSprite()
initKeyboard()

OpenScreen(1024, 768, 16, "Liste")

Structure Liste
  x.w
y.w
Auswahl.w
endStructure

dim ListenAbschnitt.Liste(30)

for x = 0 to 30 
 Liste(x)\x = 10
 Liste(x)\y = x*20
next

repeat
examineMouse()
examineKeyboard()

for x = 0 to 30
 If mouseX() > Liste(x) and mouseX() < Liste(x) + Listenabschnittbreite and MouseY() > Liste(x)\y and MouseY() < Liste(x)\y + listenabschnitthöhe

If mousebutton(1) = #True and   ;Jetzt die Zeile die ich Brauche, übersetzt: Wenn noch keine Auswahl getroffen wurde... 
  Liste(x)\Auswahl = 1
elseif  ... Wenn eine Andre auswahl getroffen wurd und die eine schon existiert, so entferne die eine und erstelle die neue
endif
endif
next

Until Keyboardpushed(1)
EDIT: Warum hat der das hier so verwurschtelt? Nicht drauf achten bitte.

Verfasst: 29.03.2007 19:26
von HeX0R
Hä ?
Meinst du:

Code: Alles auswählen

If mousebutton(1) = #True and Liste(x)\Auswahl <> 1
?

Verfasst: 29.03.2007 20:15
von D4uS1
nicht ganz,

Ich möchte sozusagen eine Exel Tabelle haben bei der nur ein Abschnitt auf einmal gewählt werden kann.

Verfasst: 29.03.2007 20:41
von HeX0R
Auch auf die Gefahr hin mich jetzt völlig zum Affen zu machen (weil ichs immernoch nicht blicke)

So ?

Code: Alles auswählen

InitSprite()
InitKeyboard()

OpenScreen(1024, 768, 16, "Liste")

Structure Liste
	x.w
	y.w
	Auswahl.w
EndStructure

Dim ListenAbschnitt.Liste(30)

For x = 0 To 30
	Liste(x)\x = 10
	Liste(x)\y = x*20
Next

Auswahl.l = -1
Repeat
	ExamineMouse()
	ExamineKeyboard()

	For x = 0 To 30
		If MouseX() > Liste(x)\x And MouseX() < Liste(x)\x + Listenabschnittbreite And MouseY() > Liste(x)\y And MouseY() < Liste(x)\y + listenabschnitthöhe

			If MouseButton(1) = #True
				If Auswahl = -1
					Liste(x)\Auswahl = 1
					Auswahl          = x
				Else
					Liste(Auswahl)\Auswahl = 0
					Auswahl                = -1
				EndIf
			EndIf
		EndIf
	Next

Until KeyboardPushed(1)

Verfasst: 29.03.2007 20:48
von Kaeru Gaman
keiner macht sich hier zum affen (auch ich nich, obwohl ich über 2°% poste)

der punkt is... sowas proggt man selber.

also sorry, aufrecht stehender inflatio, WO ist dein problem?

Verfasst: 29.03.2007 21:15
von D4uS1
danke @ Hexor!!!!!

@Kaeru Gaman: Aufrecht stehender Inflatio, das muss ich mir merken^^

Verfasst: 29.03.2007 22:06
von Xaby
Mmmm, komisch komisch.

Sucht du wirklich einen Operator wie AND, OR, XOR ... NOT

oder suchst du einfach sowas wie

#PB_ListView_Multiselect | #PB_ListView_ClickSelect

nur davon das Gegenteil?


Oder doch lieber AUSWAHL UMKEHREN ...

Ne, ich versteh es nicht. :roll: :allright:

Verfasst: 29.03.2007 22:30
von ts-soft

Code: Alles auswählen

Macro AllesAusser
  <>
EndMacro
Funktioniert :mrgreen:

Verfasst: 30.03.2007 06:16
von Kaeru Gaman
> @Kaeru Gaman: Aufrecht stehender Inflatio, das muss ich mir merken^^

...war auch nicht böse gemeint, nur eine spontane lyrische umsetzung deines nicknames...

(meine güte, dass ich gestern noch gepostet hab... hoffentlich hab ich nicht wo anders richtig scheiße geschrieben...)

Verfasst: 01.04.2007 17:01
von D4uS1
ich weiß das das nicht böse gemeint war, aber <> hat auch nicht funktioniert, ich hab eine zweite for dingens da eingefügt und hab sozusagen beide gegeneinander ausgespielt, jetzt hats funktioniert, ich kann nur noch teile wählen wenn keine anderen gewählt sind, trotzdem thx an alle die mir helfen wollten!