custom properties

Startseite Foren Deutsches LiveCode-Forum custom properties

Ansicht von 5 Antwort-Themen
  • Autor
    Beiträge
    • #3188
      gfz
      Teilnehmer

      Liebe Livecoder,
      ich komme mal wieder nicht weiter und bin mit meinem Latein am Ende.

      Was mache ich da falsch, dass ich nicht auf einen Array-Eintrag meiner Custom Property am Stack zugreifen kann?

      on openStack
         local tActualUser, tStackCP
         put the cAllowedUsers of this stack into tStackCP
         set the hideConsoleWindows to true
         put shell("echo %USERNAME%") into tActualUser
         if (tActualUser is among the keys of tStackCP) then
            answer tStackCP[tActualUser]
         end if
         answer tActualUser
      end openStack

      liebe Grüße,
      Georg

    • #3193
      Klaus Major
      Verwalter

      Hallo Georg,

      ist „the cAllowedUsers of this stack“ wirklich ein Array?
      Sonst mal das Resultat von SHELL gechecked?
      Bist Du auf Windows oder Linux?

      Sieht eigentlich OK aus das Skript!?

      Gruß

      Klaus

    • #3197
      gfz
      Teilnehmer

      Danke Klaus,
      Du hast recht – cAllowedUsers scheint kein Array zu sein. Das habe ich mit dem Property Inspector erstellt, den ich etwas eigenartig hinsichtlich Erstellen von Custom Properties finde. Wenn ich das Array per Skript erstelle und dann als Custom Property dem Stack zuweise sollte es klappen. Allerdings bin ich nach Lektüre dieses Artikels (http://revolution.byu.edu/arrays/introToArrays.php) nicht mehr sicher, ob das in meinem Fall zielführend ist.
      liebe Grüße
      Georg

    • #3214
      Klaus Major
      Verwalter

      Du kannst auch Array in einer Custom Property speichern, aber das hast Du wohl nicht gemacht.
      Was genau hast Du denn gemacht? Un dwas gnau möchtest Du damit anfangen?

    • #3215
      gfz
      Teilnehmer

      Hallo Klaus,
      was habe ich gemacht: Im Stack habe ich mittels Property Inspector ein CustomPropertySet durch anklicken des „+“-zeichens neben der Dropdown-Liste namens cAllowedUsers erstellt. Anschließend habe ich mittels „+“ im Feld darunter meine „Usernamen“ als „Keys“ definiert und mit dem Namen des Benutzers im Klartext als „Values“ ergänzt. So dachte ich, dass ich ein Array namens cAllowedUsers erstellt habe.
      Dann habe ich obiges Skript erstellt und gehofft, es tut was ich mir vorgestellt habe – nämlich erkennen, wer eingeloggt ist und aus dem Array den Benutzernamen im Klartext auszulesen.

      Was möchte ich machen?:
      Ein Tool für meinen Arbeitsplatz, zur Erfassung der Überstunden meiner KollegInnen, zur Eingabe des „Vordienstplanes“, zur Verwaltung der Praktikantendienstpläne und zum Einlesen der bestehenden Dienstpläne aus PDF bzw. zum Festhalten eventueller Dienstplanänderungen durch Krankheit und/oder Diensttausch. Aber fürs erste wollte ich mit der Überstundenerfassung beginnen.
      Wenn das alles klappt, spielte ich mit dem Gedanken die Indy-Version zu erstehen, um mein „geistiges Eigentum“ und vor allem die viele investierte Zeit zu schützen und eventuell etwas Kapital daraus zu schlagen :-).
      In dem Zusammenhang würde mich auch interessieren, wie man unter LC eine Art Lizenzsystem implementieren könnte, sodass man zum Beispiel ein Lizenzfile an den Kunden schickt, sodass dieser dann den vollen Umfang der Anwendung nutzen kann. Ist in der Community-Version von LC Verschlüsselung von Strings möglich?

      Das war viel Text auf einmal – sorry!
      liebe Grüße,
      Georg

    • #3218
      Klaus Major
      Verwalter

      AHA, Custom Property Set, alles klar! 🙂
      OK, die Syntax dafür ist wie ein Array, daher wohl die leichte Konfusion 🙂

      Here we go:

      ...
      ## Keys dieses CP Sets auslesen:
      put the customkeys["cAllowedUsers"] of this stack into tKeys
      put shell("echo %USERNAME%") into tActualUser
      if (tActualUser is among tKeys) then
            ## Inhalt des gefundenen "Keys" auslesen:
            answer the cAllowedUsers[tActualUser] of this stack 
      end if
      ...

      Das sollte funktionieren.

      Gruß

      Klaus

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