Startseite › Foren › Deutsches LiveCode-Forum › Programmierte Button erstellen
Schlagwörter: Programmierte Button erstellen
- Dieses Thema hat 12 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 4 Jahren, 7 Monaten von Klaus Major.
-
AutorBeiträge
-
-
Juni 11, 2020 um 16:23 Uhr #21347
Hallo zusammen,
ich war lange weg, brauche aber jetzt mal wieder Hilfe.
Ich möchte programmierte Button in einer grp erstellen.
Die Button Art und Löschen erstellt er, auch als grp.weiterhin benutze ich folgendes Script
edit script of btn "Löschen" of grp ("gruppe"&x)
und
on editscript theObject end editscript
In den Löschen Button der grp soll nur das Script, dass er beim Betätigen die grp löscht.
„gruppe“&x, daher weil die Nummer, bei jeder neuen Gruppe um eins erhöht wird, damit der Name unterschiedlich ist.Jann mir nun einer helfen, wie ich das Script in den btn bekomme?
ich würde es zuerst mit
delete grp ("gruppe"&x)
versuchen. Dieses Skript muss aber im btn Löschen stehen. Wie bekomme ich das da rein.
Normalerweise stet das dann ja unter on mouseUp, was auch erst in das Skript muss. -
Juni 11, 2020 um 17:03 Uhr #21349
Hallo Oliver,
mal sehen, ob ich alles richtig verstanden habe:
1. Du möchtest per Skript diverse Gruppen inklusive Inhalt erstellen.
2. Pro Gruppe soll es EINEN Button geben, der nach Klick DIESE Gruppe löscht.Soweit korrekt?
OK, Du benötigst kein „edit script of…“ o.ä., wenn Du ein Behavior erstellst und das den „Löschen“ Buttons zuweist.
gib dem Behavior dieses Skript:
on mouseup put the short name of the owner of me into tGruppe ## -> gruppeX! ## Der Trick: send "delete grp tGruppe" to this cd in 1 end mouseup
Zuweisung des Verhaltens:
... create btn "Löschen" in grp ("gruppe" & X) set the behavior of btn "Löschen" of grp ("gruppe" & X) to the long ID of btn "löschen_behavior" ...
Mit dem Befehl „delete grp xxxxx“ im Button wirst Du einen ERROR bekommen, weil LC kein Objekt löschen kann, desesn Skript gerade abgearbeitet wird!
Aber siehe oben für die Lösung…Gruß
Klaus
-
Juni 11, 2020 um 17:25 Uhr #21350
Hallo Klaus,
danke für deine Antwort.
Ja die Fragestellung hast du richtig verstanden.
Also ich habe die Zeile
set the behavior of btn "Löschen" of grp ("gruppe" & X) to the long ID of btn "löschen_behavior"
dann direkt in das Script zur Erstellung der grp gepackt.
aber wie kann ich dem behavior dein erstes Script denn geben?
-
Juni 11, 2020 um 17:29 Uhr #21351
Was ist überhaupt sie Long ID?
-
Juni 11, 2020 um 17:31 Uhr #21352
Den Button, der das Behavior enthält, solltest Du manuell erzeugen, der ist quasi Grundaustattung Deines Stacks.
Aber wenn nicht, niemand hindert Dich daran, so etwas zu skripten:
... put "on mouseup" & CR & "put the short name of the owner of me into tGruppe" & CR & "send" && QUOTE & "delete grp tGruppe" & QUOTE && "to this cd in 1" & CR & "end mouseup" into tSkript set the script of btn "löschen_bahavior" to tSkript ...
🙂
-
Juni 11, 2020 um 17:34 Uhr #21353
Was ist überhaupt sie Long ID?
You can say You to me! 😀
Probiere es doch einfach aus oder schau im Dictionary nach!
-
-
Juni 11, 2020 um 18:02 Uhr #21354
Danke für deine Hilfe.
Es klappt noch nicht ganz. Muss mal schauen. Ich schreibe eventuell noch was dazu.Er wirft immer den Fehler no such objekt aus
beiset the behavior of btn "Löschen" of grp ("gruppe"&x) to the long ID of btn "Löschen_behavior"
Der Button Löschen kann nicht von Beginn an da stehen, weil die gesamte grp erst mit einem
Klick auf einen anderen btn erstellt wird. Daher auch X. Ich befürchte aber da ein Problem -
Juni 11, 2020 um 18:08 Uhr #21355
Der Button „Löschen_behavior“ MUSS nicht innerhalb der Gruppe sein, DARF er auch nicht,
da ein einziger Button als Behavior ausreicht und er auch nicht gelöascht werden soll!Der Button „Löschen_behavior“ muss NICHT sichtbar sein, er kann irgendwo im Stack liegen!
Aber vorhanden sollte er schon sein, damit Du diese Meldung nicht mehr siehst.
Du kannst auch einem Objekt mit dem Inspector ein Behavior an die Backe kleben!Soweit klar? 🙂
-
Juni 11, 2020 um 18:38 Uhr #21356
Danke,
funktioniert zwar noch nicht ganz, aber jetzt habe ich das Prinzip verstanden
-
Juni 11, 2020 um 19:00 Uhr #21357
Was hast Du denn bisher und welchen Error bekommst Du damit?
-
Juni 11, 2020 um 19:25 Uhr #21358
Habe das jetzt genau so gemacht und dem behavior Button das Script gegeben
on moudeUp put the short name of the owner of me into tGruppe send "delete grp tGruppe" to this cd in 1 end mouseUp
tGruppe habe ich auch testweise durch („gruppe“&x) ersetzt
Ergebnis ist
Er erstellt die Gruppe aber wenn ich auf den btn Löschen drücke, ändert er das Script aufdelete grp gruppe
und wirft folgende Fehlermeldung aus:
button „löschen_behavior“: execution error at line 2 (Chunk: can’t find background), char 1
-
Juni 11, 2020 um 19:27 Uhr #21359
Typo: on mouDeup
-
Juni 11, 2020 um 19:32 Uhr #21360
OK, klappt aber wohl nicht so…
OK, das hier ist getestet und funktioniert!
Kartenskript:command löschen was delete grp was end löschen
Und das Behavior Skript ändern in:
on mouseUp put the short name of the owner of me into tGruppe send "löschen tGruppe" to this cd in 1 end mouseUp
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.