Startseite › Foren › Deutsches LiveCode-Forum › Durch Gruppen blättern
- Dieses Thema hat 22 Antworten und 3 Teilnehmer, und wurde zuletzt aktualisiert vor 11 Monaten, 3 Wochen 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.