Titel auf allen Card's

Startseite Foren Deutsches LiveCode-Forum Titel auf allen Card's

Ansicht von 8 Antwort-Themen
  • Autor
    Beiträge
    • #13764
      wupp66
      Teilnehmer

      Hallo liebe Livecode Gemeinde,

      sorry das ich schon wieder nerven muß, aber erstens möchte ich ja nicht das euch langweilig wird 🙂
      und zweitens ich komme nicht weiter:
      Folgendes Problem, ich möchte gerne den Titel meiner App, auf jeder Karte haben, sowie die Versionsnummer. Damit ich das nicht jedesmal eintippen muss, habe ich mir gedacht, ich weise den Text einer Variablen zu, mache sie global und lasse sie dann einfach in einem Field anzeigen.

      Klappt allerdings nicht, oder habe ich einen Denkfehler ?
      Im Stack steht:

      on preOpenStack
      global gHeader
      put „Text“ into gHeader
      put gHeader into fld „blabla“ on card „next“
      end preOpenStack

      Auf der card „next“ im fld „blabla“ wird allerdings nichts angezeigt, obwohl ich auf der Card auch global gHeader stehen habe.

      Vielen Dank schon mal an die fleisigen Helfer

      Gruß
      Andreas

    • #13766
      Klaus Major
      Verwalter

      1 Card, 2 Cards, wie 1 Auto, 2 Autos! Mit anderen Worten, bitte, bitte, bitte, keinen Apostroph beim Plural, nie und in keiner Sprache, sorry, das musste ich loswerden.

      Also Dein Skript sollte aber funktionieren, auch ohne global. Zeig doch mal deine Skripte. GLOBALs müssen aber in jedem Handler verfügbar sein, daher sollten sie oben in einem Skript stehen.

      global trallallalla
      
      on openstack
        put "Yo!" into trallallalla
      end preopenstack
      
      on closestack
          put "Good bye!" into trallallalla
      end closestack

      Aber es sollte: …OF cd „next“ heissen.

      Aber vielleicht reicht es, wenn du diese Info enfach im Fenstertiutel anzeigst?

      ...
      set the title of this stack to DeineVariableHier
      ...

      Gruß

      Klaus

    • #13768
      Klaus Major
      Verwalter

      Und bitte Deine alten Postings mal wieder ansehen!

    • #13770
      wupp66
      Teilnehmer

      Hallo Klaus,

      mein Stack sieht folgendermaßen aus:

      on preOpenStack
      global gHeader
      put „TIS Ticketprüfer Informations System“ + CR + „(c) Andreas Biller V2.5.0“ into gHeader
      put gHeader into fld „header“ on card „Blanko“

      set the fullscreenmode of me to „exactfit“
      go card „Menue“
      end preOpenStack

      der Code auf der card Blanko:

      on preopencard
      global gHeader
      end preopencard

      das Feld „Header“ existiert natürlich auch auf der card „Blanko“

    • #13780
      Klaus Major
      Verwalter

      Hallo Andreas,

      GLOBAL gilt nur für Skripte, nicht für Karten!
      Dein Skript auf der Karte „Blanko“ ist daher überflüssig, sofern sich nicht weitere Handler in dem Skript befinden. Falls doch solltest Du die Deklaration von GLOBAL über allen Handlern schreiben, wie in meinem Beispiel.

      Ausserdem ist der obige Fall kein Fall für eine globale Variable.
      Ich nehme mal an das Feld „header“ ist auf „sharedtext“ gestellt und gruppiert?
      Dann kannst Du es auf jeder Karte anzeigen lassen bzw. erst mal platzieren.
      Verusche es mal so ohne GLOBAL aber mit richtiger Syntax in der zweiten Zeile!

      on preOpenStack
        ## put "TIS Ticketprüfer Informations System" + CR + "(c) Andreas Biller V2.5.0" into gHeader
        ## das PLUS gibt einen Error (CR is not a number!) und das Skript hält an der Stelle an!
        ## Daher kein text im feld!
      
        put "TIS Ticketprüfer Informations System" & CR & "(c) Andreas Biller V2.5.0" into gHeader
        put gHeader into fld "header" on card "Blanko"
        set the fullscreenmode of me to "exactfit"
        go card "Menue"
      end preOpenStack

      Gruß

      Klaus

    • #13786
      wupp66
      Teilnehmer

      Hallo Klaus,
      sorry natürlich habe ich mein script mit dem & geschrieben und nicht mit +
      das CR steht natürlich un diesem Zusammenhang dafür, das der weitere Text eine Zeile tiefer steht.

      Was meinst du mit sharedtext und gruppiert. Habe ich noch nie gemacht, sollte ich vielleicht mal googlen 🙂

      lieben Gruß
      Andreas

    • #13788
      Klaus Major
      Verwalter

      Das mit CR war mir schon klar 😎
      Wollte nur aufzeigen, was die Engine denken würde!

      Du kannst ja GROUPS auf jeder Karte anzeigen lassen, das selbe gilt für EINZELNE gruppierte Objekte.
      1. Erstelle Dein Feld auf der ersten Karte, check „sharedtext“ im Inspektor für das Feld.
      Felder können den selben oder unterschiedlichen Text auf jeder Karte enthalten, wenn sie Teil einer Gruppe sind, und diese Property sorgt fürs Erstere, also daß der Text in diesem Feld auf jeder Karte gleich ist.
      2. Nun gruppiere dieses einzelne Feld und gib der Gruppe einen aussagekräftigen Namen.
      Am besten noch „Backgroundbehavior“ für diese Gruppe anklicken, dann taucht sie automatisch auf jeder neu erstellten Karte auf. Ansonsten kannst Du sie ja auf jeder Karte mit dem Menu:
      Object -> Place group -> Name der Gruppe
      plazieren.

      Auf diese Weise kannst Du einzelne Objekte, wie dein Info feld oder auch Hintergrundbilder effektiv auf mehr als einer Karte nutzen, ohne daß die Dateigröße anschwillt wegen ZIG eventuellen Kopien des Objektes.

      Gruß

      Klaus

    • #13790
      wupp66
      Teilnehmer

      Danke für deine tolle Beschreibung, jetzt klappt es.

      lieben Gruß
      Andreas

    • #13792
      Klaus Major
      Verwalter

      SUPER! 🙂

Ansicht von 8 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.