Startseite › Foren › Deutsches LiveCode-Forum › Variablen auf unterschiedlichen Cards verwenden
- Dieses Thema hat 2 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 6 Jahren, 7 Monaten von horest.
-
AutorBeiträge
-
-
März 20, 2018 um 16:28 Uhr #4737
Guten Abend zusammen,
ich bin mal dem aktuellen, politischen Aufruf “Jeder sollte programmieren können..!” gefolgt und versuche mich gerade mit großem Interesse in LiveCode. Aufmerksam geworden auf LiveCode bin ich beim Stöbern im EDV-Regal bei Thalia. Dort bin ich über das wohl bisher einzige deutschsprachige Buch über LiveCode gestolpert und war direkt überrascht, dass es multiplattformfähig und zudem kostenlos ist. Am meisten hat es mir die doch leicht zu erlernende Syntax angetan. Mal sehen, wie weit mich mein Eifer noch treiben wird, Ideen sind jedenfalls genügend vorhanden.
Nun zu meinem Grund, warum ich hier schreibe. Über das Thema “Variablen” weiß ich schon einiges, jedoch hänge ich jetzt bei folgender Herausforderung:
Auf der “Card 1” soll ein Name in ein Eingabefeld eingegeben werden.
Auf der “Card 2” soll dieser Name nach dem Card-Wechsel automatisch in einem Label angezeigt werden.Meine Frage hierzu wäre: Wo, also an welcher Stelle deklariere ich die Variable “VorName”, wann wird diese “gefüllt” und welcher Befehl fügt diesen Inhalt der Variable nach dem Card-Wechsel in das Label?
Über einen kleinen Denkanstoß würde ich mich sehr freuen 🙂
Grüße,
Jens -
März 20, 2018 um 17:08 Uhr #4741
Hallo Jens,
willkommen im Forum!
Du musst die Variable als GLOBAL deklarieren. Dann kann sie in allen geöffneten Stacks genutzt werden. Das geht so, ich nehme Dein Beispiel:
Auf der Karte “card 1” (bitte gewöhne Dir in deinem eigenen interesse an, aussagekräftige Namen für LC Objecte zu verwenden!) gibt es einen button, der die Variable füllt, vielleicht “getarnt” als “Weiter” button, verstehst Du? Hier prüfen wir auch, ob der blöde User auch wirklich etwas in das Feld eingegeben hat!on mouseup ## Das kleine g vorne im Namen gibt diese Variable sofort als GLOBAL zu erkennen! ## Ist aber nur ein Vorschlag ;-) global gVorName put fld "Eingabe" into tName ## user hat noch nichts eingegeben, also gibt es einen dezenten Hinweis ## und wir gehen noch nicht zur nächsten Karte weiter if tName = EMPTY then answer "Bitte einen Namen eingeben!" exit mouseup end if ## User hat einen Namen eigeben, we füllen die GLOBALE Variable damit ## und auch schon das LABEL auf Karte "card 2" put tName into gVorName put tName into fld "Dein Labelfeldname hier..." of cd "Card 2" ## So, alle Vorbereitungen getroffen, nun geht es weiter: go cd "Card 2" end mouseup
Soweit klar?
Die Variable gVorName ist nun überall verfügbar, Du musst nur immer angeben, daß Du diese Variabel benutzen möchtest. Blödes Beispiel: ein weiterer Knopf in Deinem Stack namens “wie heisse ich?”
on mouseup global gVorName answer "Du heisst" && gVorName & ", Du Eierkopp!" end mouseup
Blödes Beispiel wie gesagt, verdeutlicht aber hoffentlich das Prinzip der Verwendung von GLOBALEN Variablen.
Liebe Grüße
Klaus
-
März 20, 2018 um 17:34 Uhr #4742
Hallo Klaus,
herzlichen Dank für Deine Hilfe, es funktioniert jetzt 🙂
Ich konnte jetzt sogar schon nachvollziehen, wo mein Fehler gelegen hat.
An Deinen Rat für die ordentliche Benennung von Objekten werde ich mich halten, das macht das Ganze hinterher leichter nachvollziehbar und verständlicher.Beste Grüße,
Jens
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.