Startseite › Foren › Deutsches LiveCode-Forum › Durch Gruppen blĂ€ttern
- Dieses Thema hat 22 Antworten und 3 Teilnehmer, und wurde zuletzt aktualisiert vor 2 Jahren, 8 Monaten von Klaus Major.
-
AutorBeitrÀge
-
-
MĂ€rz 17, 2022 um 15:08Â Uhr #42766
Guten Tag.
Mir stellt sich immo folgendes Problem:Eine Gruppe „Leistung 2022“ enthĂ€lt weitere Untergruppen.
„Leistung KW_01“
„Leistung KW_02“
„Leistung KW_03“
„Leistung KW_04“Diese „Untergruppen“ werden mit jeder neuen Woche automatisch erstellt.
AuĂerdem gibt es zwei Button „vorblĂ€ttern“ und „zurĂŒckblĂ€ttern“
Ăber diese beiden Button möchte ich nun durch diese Unterordner blĂ€ttern.Dazu habe ich folgendes Script im Netz gefunden:
##Das folgende Beispiel fĂŒhrt die Schleifenaktion nur dann aus,
##wenn der Name der aktuellen Karte den Buchstaben „e“ enthĂ€lt://repeat for the number of cards of this stack //go to next card //if "e" is in the short name of this card then //next repeat //end if //put the short name of this card & return after myCardsList //end repeat Wie kann man diesen Code fĂŒr meine Zwecke Ă€ndern? Immo habe ich folgendes Script im Button "vorblĂ€ttern stehen:
global gAktuelleKalenderwoche
on mouseUp
if the Visible of grp „LeistungHeute“ is true and the short name of me is „Vorb“ then
set the Visible of grp „LeistungHeute“ to false
## play sound
if the environment = „mobile“ then
put specialFolderPath(„resources“) & „/sound/blĂ€ttern.wav“ into tSound
mobilePlaySoundOnChannel tSound, 1 ,“now“
##LautstÀrke einstellen unter Mobile:
## 0 – 100 pro Kanal
mobileSetSoundChannelVolume 1, 60
else
play audioClip „blĂ€ttern.wav“
set the playloudness to 60
end if## Ab hier die Gruppe anzeigen in AbhÀngigkeit der Gruppe die gerade angezeigt wird!
## D.h. wenn z.B. die Gruppe „Leistung KW_9“ angezeigt wird, dann
## die Gruppe „Leistung KW_10“ anzeigen usw.if there is a grp („Leistung “ & (gAktuelleKalenderwoche)) then show grp („Leistung “ & (gAktuelleKalenderwoche)) with visual effect „scroll left“ fast
-
MĂ€rz 17, 2022 um 15:26Â Uhr #42768
Hi akrages,
bitte die CODE Tags benutzen nach einfĂŒgen von Skripten!
Tut mir leid, ich weiĂ nicht, was jetzt genau die Frage ist? đ
Vielleicht „the visible“ abfragen?GruĂ
Klaus
-
MĂ€rz 17, 2022 um 15:33Â Uhr #42769
Hi Klaus.
Sorry wegen der fehlenden Code Tags.Eine Gruppe „Leistung 2022“ enthĂ€lt weitere Untergruppen.
„Leistung KW_01“
„Leistung KW_02“
„Leistung KW_03“
„Leistung KW_04“Diese „Untergruppen“ werden mit jeder neuen Woche automatisch erstellt.
AuĂerdem gibt es zwei Button „vorblĂ€ttern“ und „zurĂŒckblĂ€ttern“
Ăber diese beiden Button möchte ich nun durch diese Unterordner blĂ€ttern. -
MĂ€rz 17, 2022 um 15:57Â Uhr #42771
Hi akrages,
1. Dein Script ist unvollstÀndig, es fehlt ein end if und ein end mouseup
2. Es ist nicht klar, ob das Script im Button, in der Card oder im Stack liegt.
3. Wenn es das Button-Script ist (short name of me is „Vorb“?), fehlt der Teil, in dem der ZĂ€hler gAktuelleKalenderwoche hochgesetzt wird.
4. set the Visible of grp „LeistungHeute“ to false ==> das fĂŒhrt doch auch dazu, dass die Untergruppe auch nicht angezeigt wird, oder?Happy Scripting
Torsten -
MĂ€rz 17, 2022 um 16:14Â Uhr #42772
Liegen alle diese Gruppen auf der selben Karte?
Auf unterschiedlichen oder den selben Positionen (LOC)?
Sind Gruppen bereits sichtbar?
Soll die „vorherige“ Gruppe wieder verschwinden, wenn eine neue Gruppe angezeigt wird?
Kannst Du nicht die Gruppen auf separate Karten legen, dann wĂ€re das alles ein Klacks?! đTut mir leid, ich habe keine Idee, wie Du Dir das vorstellst?
-
MĂ€rz 17, 2022 um 16:15Â Uhr #42773
Eventuell kannst Du ein separate Karte zur Darstellung erstellen und dann dort die einzelnen Gruppen dort „PLACE“n bzw „REMOVE“n beim „BlĂ€ttern? Verstehst Du?
-
MĂ€rz 17, 2022 um 16:30Â Uhr #42774
end if und mouseup sind natĂŒrlich vorhanden.
Und
Immo habe ich folgendes Script im Button „vorblĂ€ttern stehen:Steht doch alles da.
Aber vergiss mal mein Script.
Das hĂ€tte ich gar nicht erwĂ€hnen sollen. Es verwirrt offensichtlich nur.Ich möchte einfach nur mit einem vor und einem zurĂŒck Button durch die vorhandenen Untergruppen blĂ€ttern.
Also wenn die Gruppe Leistung KW_01 angezeigt wird, dann soll nach Klick auf den Button vor die nÀchste Gruppe
Also Gruppe Leistung KW_02 angezeigt werden usw.Und natĂŒrlich kann ich das mit einer if visible Abfrage lösen.
Aber 52 mal if Visiible is ja wohl ein bisschen umstÀndlich.
Deshalb meine Frage nach einer eleganteren Lösung. -
MĂ€rz 17, 2022 um 17:19Â Uhr #42776
Beantworte doch mal meine Fragen, sonst sitzen wir Ostern noch hier… đ
Oder denk mal ĂŒber meinen letzten Vorschlag nach, den mit einer separaten Karte, auf der nur EINE Gruppe ist und Du dort auch „blĂ€ttern“ kannst. Das wĂ€re eine elegante Lösung!Ich werde mal schnell eine kleine Demo zusammenschustern…
-
MĂ€rz 17, 2022 um 17:33Â Uhr #42777
Liegen alle diese Gruppen auf der selben Karte? JA
Auf unterschiedlichen oder den selben Positionen (LOC)? Alle auf dem selben Loc
Sind Gruppen bereits sichtbar? Ja beim Wechsel auf die Karte zunÀchst die Gruppe LeistungHeute
Soll die „vorherige“ Gruppe wieder verschwinden, wenn eine neue Gruppe angezeigt wird? Ja
Kannst Du nicht die Gruppen auf separate Karten legen, dann wÀre das alles ein Klacks?! Leider nein. -
MĂ€rz 17, 2022 um 17:58Â Uhr #42779
OK, hier eine kleine Demo meines Konzepts, die Gruppen auf einer separaten Kaerte anzuzeigen und dort auch durchblĂ€ttern zu lassen! Bei Fragen bitte fragen! đ
https://www.dropbox.com/s/eqscwfx8khy8rl8/gruppen_bl%C3%A4ttern.livecode.zip?dl=1 -
MĂ€rz 17, 2022 um 18:21Â Uhr #42780
Bin gerade nicht an meinem Rechner.
Ich schaue es mir spÀter an.
Vielen Dank schon mal. -
MĂ€rz 17, 2022 um 18:34Â Uhr #42782
Gern geschehen.
Falls das Nichts fĂŒr Dich ist, hier noch ein paar weitere Ideen:
1. Zuerst ALLE Gruppen „Leistung KW_xx“ verstecken
2. Dann die Gruppe „Leistung KW_01“ anzeigen
3. Name dieser angezeigten Gruppe in lokaler Variablen merken
4. Danach mit Buttons wie in meiner kleinen Demo BlÀttern, also Gruppe in 3. verstecken und die nÀchste oder vorige Gruppe anzeigen. -
April 3, 2022 um 16:28Â Uhr #43020
Hallo Klaus
Erstmal schönen Sonntag.
-Und was ist denn nun mit „Durch Gruppen blĂ€ttern“?-
HabÂŽs bis jetzt leider nicht hinbekommen. -
April 3, 2022 um 17:13Â Uhr #43021
Nicht hinbekommen oder noch nicht probiert?
Falls Ersteres, woran hapert’s, kann ich helfen? -
April 3, 2022 um 17:27Â Uhr #43023
Ja ich hoffe, dass Du mir helfen kannst.
Also ich bin bis hierher gekommen:global gMyKWListe2, gActualYear, gZuletztSichtbar
local gAnzahlon mouseUp if there is a grp "LeistungHeute" and the visible of grp "LeistungHeute" is true then hide grp "LeistungHeute" --show grp (line -1 of (gMyKWListe2)) with visual effect "scroll up" fast end if put anzahl_gruppen() into tAnzahl -- 1. Alle Gruppen "Leistung KW_.." der Gruppe ("Leistung " & gActualYear) verstecken. repeat for each line i in gMyKWListe2 hide grp i end repeat -- 2. Dann die Gruppe "Leistung KW_01" anzeigen if there is a grp (line 1 of (gMyKWListe2)) and the visible of grp (line 1 of (gMyKWListe2)) is false then show grp (line 1 of (gMyKWListe2)) with visual effect "scroll up" fast -- 3. Name dieser angezeigten Gruppe in lokaler Variablen merken put (line 1 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche von der Gruppe grp "LeistungHeute" sichtbar war end if -- bis hier alles ok. -- 4. Danach mit Buttons wie in meiner kleinen Demo BlÀttern, also Gruppe in 3. verstecken und die nÀchste oder vorige Gruppe anzeigen.
Das alles habe ich in einem Button btn „raufblĂ€ttern“ stehen.
Aber beim Rest deines Sciptes (der wecher im Stack steht) weiĂ ich einfach nicht,
wo ich ihn einfĂŒgen soll.Die Scripte in den beiden Button „vorblĂ€ttern“ und „zurĂŒckblĂ€ttern“ habe ich 1:1 ĂŒbernommen.
-
April 3, 2022 um 17:57Â Uhr #43024
Wie hast Du es denn gemacht? Anzeige auf separater Karte?
Das mĂŒsste ich im Zusammenhang sehen, bitte schick den Stack mal rĂŒber: klaus AT major-k.de
-
April 3, 2022 um 18:14Â Uhr #43026
Nein, nicht auf separater Karte.
Geht nicht, wegen zuvieler AbhĂ€ngigkeiten.Immo habe ich -als Behelf- zwei Button btn „zurĂŒckblĂ€ttern“ und „btn „vorblĂ€ttern“
Im btn „zurĂŒckblĂ€ttern“ steht folgendes Script:global gActualYear, gMyKWListe2, gZuletztSichtbar on mouseUp pMouseButton ## Wenn die grp "LeistungHeute" sichtbar ist mouseUp abbrechen. if there is a grp "LeistungHeute" and the visible of grp "LeistungHeute" is true then exit mouseUp -- Eine Liste der Gruppen "Leistung KW_.." erstellen aber vorher eine vorhandene Variable mit diesem Namen leeren! put empty into gMyKWListe2 repeat with x = 1 to the num of Groups of grp ("Leistung " & gActualYear) put short name of group x of grp ("Leistung " & gActualYear) & cr after gMyKWListe2 end repeat ## Fertig :-) ## play sound if the environment = "mobile" then if the visible of grp (line 1 of (gMyKWListe2)) <> true then put specialFolderPath("resources") & "/sound/blĂ€ttern.wav" into tSound mobilePlaySoundOnChannel tSound, 1 ,"now" ##LautstĂ€rke einstellen unter Mobile: ## 0 - 100 pro Kanal mobileSetSoundChannelVolume 1, 60 end if else if the visible of grp (line 1 of (gMyKWListe2)) <> true then play audioClip "blĂ€ttern.wav" set the playloudness to 60 end if end if ##Die Liste mit jedem Klick absteigend einzeln anzeigen if there is a grp (line 14 of (gMyKWListe2)) and the visible of grp (line 14 of (gMyKWListe2)) is true then if there is a grp (line 13 of (gMyKWListe2)) and the visible of grp (line 13 of (gMyKWListe2)) is false then hide grp (line 14 of (gMyKWListe2)) show grp (line 13 of (gMyKWListe2)) with visual effect "scroll right" fast put (line 13 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 13 of (gMyKWListe2)) and the visible of grp (line 13 of (gMyKWListe2)) is true then if there is a grp (line 12 of (gMyKWListe2)) and the visible of grp (line 12 of (gMyKWListe2)) is false then hide grp (line 13 of (gMyKWListe2)) show grp (line 12 of (gMyKWListe2)) with visual effect "scroll right" fast put (line 12 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 12 of (gMyKWListe2)) and the visible of grp (line 12 of (gMyKWListe2)) is true then if there is a grp (line 11 of (gMyKWListe2)) and the visible of grp (line 11 of (gMyKWListe2)) is false then hide grp (line 12 of (gMyKWListe2)) show grp (line 11 of (gMyKWListe2)) with visual effect "scroll right" fast put (line 11 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 11 of (gMyKWListe2)) and the visible of grp (line 11 of (gMyKWListe2)) is true then if there is a grp (line 10 of (gMyKWListe2)) and the visible of grp (line 10 of (gMyKWListe2)) is false then hide grp (line 11 of (gMyKWListe2)) show grp (line 10 of (gMyKWListe2)) with visual effect "scroll right" fast put (line 10 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 10 of (gMyKWListe2)) and the visible of grp (line 10 of (gMyKWListe2)) is true then if there is a grp (line 9 of (gMyKWListe2)) and the visible of grp (line 9 of (gMyKWListe2)) is false then hide grp (line 10 of (gMyKWListe2)) show grp (line 9 of (gMyKWListe2)) with visual effect "scroll right" fast put (line 9 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 9 of (gMyKWListe2)) and the visible of grp (line 9 of (gMyKWListe2)) is true then if there is a grp (line 8 of (gMyKWListe2)) and the visible of grp (line 8 of (gMyKWListe2)) is false then hide grp (line 9 of (gMyKWListe2)) show grp (line 8 of (gMyKWListe2)) with visual effect "scroll right" fast put (line 8 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 8 of (gMyKWListe2)) and the visible of grp (line 8 of (gMyKWListe2)) is true then if there is a grp (line 7 of (gMyKWListe2)) and the visible of grp (line 7 of (gMyKWListe2)) is false then hide grp (line 8 of (gMyKWListe2)) show grp (line 7 of (gMyKWListe2)) with visual effect "scroll right" fast put (line 7 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 7 of (gMyKWListe2)) and the visible of grp (line 7 of (gMyKWListe2)) is true then if there is a grp (line 6 of (gMyKWListe2)) and the visible of grp (line 6 of (gMyKWListe2)) is false then hide grp (line 7 of (gMyKWListe2)) show grp (line 6 of (gMyKWListe2)) with visual effect "scroll right" fast put (line 6 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 6 of (gMyKWListe2)) and the visible of grp (line 6 of (gMyKWListe2)) is true then if there is a grp (line 5 of (gMyKWListe2)) and the visible of grp (line 5 of (gMyKWListe2)) is false then hide grp (line 6 of (gMyKWListe2)) show grp (line 5 of (gMyKWListe2)) with visual effect "scroll right" fast put (line 5 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 5 of (gMyKWListe2)) and the visible of grp (line 5 of (gMyKWListe2)) is true then if there is a grp (line 4 of (gMyKWListe2)) and the visible of grp (line 4 of (gMyKWListe2)) is false then hide grp (line 5 of (gMyKWListe2)) show grp (line 4 of (gMyKWListe2)) with visual effect "scroll right" fast put (line 4 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 4 of (gMyKWListe2)) and the visible of grp (line 4 of (gMyKWListe2)) is true then if there is a grp (line 3 of (gMyKWListe2)) and the visible of grp (line 3 of (gMyKWListe2)) is false then hide grp (line 4 of (gMyKWListe2)) show grp (line 3 of (gMyKWListe2)) with visual effect "scroll right" fast put (line 3 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 3 of (gMyKWListe2)) and the visible of grp (line 3 of (gMyKWListe2)) is true then if there is a grp (line 2 of (gMyKWListe2)) and the visible of grp (line 2 of (gMyKWListe2)) is false then hide grp (line 3 of (gMyKWListe2)) show grp (line 2 of (gMyKWListe2)) with visual effect "scroll right" fast put (line 2 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 2 of (gMyKWListe2)) and the visible of grp (line 2 of (gMyKWListe2)) is true then if there is a grp (line 1 of (gMyKWListe2)) and the visible of grp (line 1 of (gMyKWListe2)) is false then hide grp (line 2 of (gMyKWListe2)) show grp (line 1 of (gMyKWListe2)) with visual effect "scroll right" fast put (line 1 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if end if end if end if end if end if end if end if end if end if end if end if end if end if end mouseUp
Und im btn „zurĂŒckblĂ€ttern“ dieses Script:
global gActualYear, gMyKWListe2, gZuletztSichtbar on mouseUp pMouseButton ## Wenn die grp "LeistungHeute" sichtbar ist mouseUp abbrechen. if there is a grp "LeistungHeute" and the visible of grp "LeistungHeute" is true then exit mouseUp ## play sound if the environment = "mobile" then if the visible of grp (line -1 of (gMyKWListe2)) <> true then put specialFolderPath("resources") & "/sound/blÀttern.wav" into tSound mobilePlaySoundOnChannel tSound, 1 ,"now" ##LautstÀrke einstellen unter Mobile: ## 0 - 100 pro Kanal mobileSetSoundChannelVolume 1, 60 end if else if the visible of grp (line -1 of (gMyKWListe2)) <> true then play audioClip "blÀttern.wav" set the playloudness to 60 end if end if ##Die Liste mit jedem Klick aufsteigend einzeln anzeigen if there is a grp (line 1 of (gMyKWListe2)) and the visible of grp (line 1 of (gMyKWListe2)) is true then if there is a grp (line 2 of (gMyKWListe2)) and the visible of grp (line 2 of (gMyKWListe2)) is false then hide grp (line 1 of (gMyKWListe2)) show grp (line 2 of (gMyKWListe2)) with visual effect "scroll left" fast put (line 2 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 2 of (gMyKWListe2)) and the visible of grp (line 2 of (gMyKWListe2)) is true then if there is a grp (line 3 of (gMyKWListe2)) and the visible of grp (line 3 of (gMyKWListe2)) is false then hide grp (line 2 of (gMyKWListe2)) show grp (line 3 of (gMyKWListe2)) with visual effect "scroll left" fast put (line 3 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 3 of (gMyKWListe2)) and the visible of grp (line 3 of (gMyKWListe2)) is true then if there is a grp (line 4 of (gMyKWListe2)) and the visible of grp (line 4 of (gMyKWListe2)) is false then hide grp (line 3 of (gMyKWListe2)) show grp (line 4 of (gMyKWListe2)) with visual effect "scroll left" fast put (line 4 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 4 of (gMyKWListe2)) and the visible of grp (line 4 of (gMyKWListe2)) is true then if there is a grp (line 5 of (gMyKWListe2)) and the visible of grp (line 5 of (gMyKWListe2)) is false then hide grp (line 4 of (gMyKWListe2)) show grp (line 5 of (gMyKWListe2)) with visual effect "scroll left" fast put (line 5 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 5 of (gMyKWListe2)) and the visible of grp (line 5 of (gMyKWListe2)) is true then if there is a grp (line 6 of (gMyKWListe2)) and the visible of grp (line 6 of (gMyKWListe2)) is false then hide grp (line 5 of (gMyKWListe2)) show grp (line 6 of (gMyKWListe2)) with visual effect "scroll left" fast put (line 6 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 6 of (gMyKWListe2)) and the visible of grp (line 6 of (gMyKWListe2)) is true then if there is a grp (line 7 of (gMyKWListe2)) and the visible of grp (line 7 of (gMyKWListe2)) is false then hide grp (line 6 of (gMyKWListe2)) show grp (line 7 of (gMyKWListe2)) with visual effect "scroll left" fast put (line 7 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 7 of (gMyKWListe2)) and the visible of grp (line 7 of (gMyKWListe2)) is true then if there is a grp (line 8 of (gMyKWListe2)) and the visible of grp (line 8 of (gMyKWListe2)) is false then hide grp (line 7 of (gMyKWListe2)) show grp (line 8 of (gMyKWListe2)) with visual effect "scroll left" fast put (line 8 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 8 of (gMyKWListe2)) and the visible of grp (line 8 of (gMyKWListe2)) is true then if there is a grp (line 9 of (gMyKWListe2)) and the visible of grp (line 9 of (gMyKWListe2)) is false then hide grp (line 8 of (gMyKWListe2)) show grp (line 9 of (gMyKWListe2)) with visual effect "scroll left" fast put (line 9 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 9 of (gMyKWListe2)) and the visible of grp (line 9 of (gMyKWListe2)) is true then if there is a grp (line 10 of (gMyKWListe2)) and the visible of grp (line 10 of (gMyKWListe2)) is false then hide grp (line 9 of (gMyKWListe2)) show grp (line 10 of (gMyKWListe2)) with visual effect "scroll left" fast put (line 10 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 10 of (gMyKWListe2)) and the visible of grp (line 10 of (gMyKWListe2)) is true then if there is a grp (line 11 of (gMyKWListe2)) and the visible of grp (line 11 of (gMyKWListe2)) is false then hide grp (line 10 of (gMyKWListe2)) show grp (line 11 of (gMyKWListe2)) with visual effect "scroll left" fast put (line 11 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 11 of (gMyKWListe2)) and the visible of grp (line 11 of (gMyKWListe2)) is true then if there is a grp (line 12 of (gMyKWListe2)) and the visible of grp (line 12 of (gMyKWListe2)) is false then hide grp (line 11 of (gMyKWListe2)) show grp (line 12 of (gMyKWListe2)) with visual effect "scroll left" fast put (line 12 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 12 of (gMyKWListe2)) and the visible of grp (line 12 of (gMyKWListe2)) is true then if there is a grp (line 13 of (gMyKWListe2)) and the visible of grp (line 13 of (gMyKWListe2)) is false then hide grp (line 12 of (gMyKWListe2)) show grp (line 13 of (gMyKWListe2)) with visual effect "scroll left" fast put (line 13 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if else if there is a grp (line 13 of (gMyKWListe2)) and the visible of grp (line 13 of (gMyKWListe2)) is true then if there is a grp (line 14 of (gMyKWListe2)) and the visible of grp (line 14 of (gMyKWListe2)) is false then hide grp (line 13 of (gMyKWListe2)) show grp (line 14 of (gMyKWListe2)) with visual effect "scroll left" fast put (line 14 of (gMyKWListe2)) into gZuletztSichtbar ##Die Gruppe grp "Leistung KW_.." merken, welche vor der Gruppe grp "LeistungHeute" sichtbar war. end if end if end if end if end if end if end if end if end if end if end if end if end if end if end mouseUp
Viele if Abfragen aber funzt.
-
April 3, 2022 um 18:44Â Uhr #43028
Au Mann!
Nun stell Dir 100 Gruppen vor! đNee, das geht auch anders:
1. Zuerst alle Gruppen namens „Leistung KW…“ suchen... ## Vielleicht on opencard global allegruppen,anzahlgruppen ... put the groupnames of this cd into allegruppen filter allegruppen with "Leistung KW*" ## Eventuell noch sortieren. ## Nun hast Du in allegruppen nur die wichtigen Gruppen, durch die Du blĂ€ttern willst. put the num of lines of allegruppen into anzahlgruppen ...
2. Alle diese Gruppen verstecken
... global aktuellegruppe lock screen repeat for each line tGruppe in allegruppen hide grp tGruppe end repeat show grp (line 1 of allegruppen) put 1 into aktuellegruppe unlock screen ...
3. Nun die erste dieser Gruppen anzeigen und 1 in die globale Variable aktuellegruppe legen
4. VorblÀttern:on mouseup global aktuellegruppe ## Wir können noch eins weiter: if aktuellegruppe < anzahlgruppen then hide grp (line aktuellegruppe of allegruppen) add 1 to aktuellegruppe show grp (line aktuellegruppe of allegruppen) else ## Wieder vorne anfangen hide grp (line aktuellegruppe of allegruppen) put 1 into aktuellegruppe show grp (line aktuellegruppe of allegruppen) end if end mouseup
5. zurĂŒckblĂ€ttern:
on mouseup global aktuellegruppe ## Wir können noich rĂŒckwĂ€rts: if aktuellegruppe > 1 then hide grp (line aktuellegruppe of allegruppen) subtract 1 from aktuellegruppe show grp (line aktuellegruppe of allegruppen) else ## Wir sind bei der ersten Gruppe angelangt hide grp (line aktuellegruppe of allegruppen) ## Wieder hinten anfangen put anzahlgruppen intoto aktuellegruppe show grp (line aktuellegruppe of allegruppen) end if end mouseup
Das war’s! đ
-
April 3, 2022 um 18:56Â Uhr #43030
Das sieht sehr gut aus.
Bin gerade beim Essen.
Sobald ich wieder loslegen kann, probiere ich es aus.
Du bekommst auf jedenfall heute noch Feedback.
Bis dahin erstmal vielen Dank. -
April 3, 2022 um 19:17Â Uhr #43031
Am wichtigsten ist es, die Logik dahinter zu verstehen!
Wir sprechen keine Gruppe mit Namen an, daher funktioniert das
auch mit 1000 Gruppen oder mehr. -
April 3, 2022 um 19:52Â Uhr #43033
Dein Problem war, daĂ Du zu sehr „computerisch“ gedacht hast!
Stell Dir vor, wie Du es mit Stift und Papier machen wĂŒrdest:
1. Alle Gruppen aufschreiben
2. Die erste davon anzeigen und die 1 auf den Zettel als Merker schreiben
3. Diese Gruppe wieder verstecken und die nÀchste auf der Liste anzeigen.
Also 1 zur gemerkten Zahl addieren.
4. Sind wir bei der letzten auf der Liste angelangt, fangen wir wieder von vorne bei 1 an.RĂŒckwĂ€rts halt analog dazu, eben hinten (unten auf der Liste) anfangen und 1 von der
gemerkten Zahl subtrahieren bis wir vorne (oben auf der Liste) angekommen sind.
Dann wieder hinten anfangen.Dann kann man das fast 1:1 in Livecode ĂŒbertragen.
-
April 3, 2022 um 21:42Â Uhr #43035
…daĂ Du zu sehr „computerisch“ gedacht hast!
đ Stimmt!-Stell Dir vor, wie Du es mit Stift und Papier machen wĂŒrdest:-
Das ist eine gute Idee und die werde ich in Zukunft anwenden. Danke dafĂŒr.So, ich habe es -dank deiner Hilfe- geschafft.
Alles funktioniert so wie es soll.
Ein paar Ănderungen waren allerdings notwendig.
Vielen Dank fĂŒr deine Hilfe. -
April 3, 2022 um 21:49Â Uhr #43036
Stell Dir vor, wie Du es mit Stift und Papier machen wĂŒrdest:-
Das ist eine gute Idee und die werde ich in Zukunft anwenden. Danke dafĂŒr.Dazu hatte ich sogar mal einen Vortrag auf einer LC (damals noch Revolution) Konferenz auf Malta gehalten.
Das war 2004: „Observing and analyzing real life situations in order to develop solutions in LiveCode.Creating a memory game to demonstrate how the steps necessary to solve problems are translated
into the LiveCode programming language.“Ein paar Ănderungen waren allerdings notwendig.
Dachte ich mir schon, hatte ich aus dem Kopf so geschrieben, ohne Deine App genauer zu kennen
Vielen Dank fĂŒr deine Hilfe.
Gern geschehen!
-
-
AutorBeitrÀge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.