Antwort auf: Variablen auf unterschiedlichen Cards verwenden

Startseite Foren Deutsches LiveCode-Forum Variablen auf unterschiedlichen Cards verwenden Antwort auf: Variablen auf unterschiedlichen Cards verwenden

#4741
Klaus Major
Administrator

    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