Rechnen mit Variablen

Startseite Foren Deutsches LiveCode-Forum Rechnen mit Variablen

Ansicht von 11 Antwort-Themen
  • Autor
    Beiträge
    • #3953
      YoloBolo
      Teilnehmer

      Hallo,

      geht es, dass wenn ich in Variable 1 eine Zahl und ein Rechenoperator und in Variable 2 nur ein Zahl rein tut ([Variable]1[Variable 2]), dass man dann so rechnen kann ohne nochmal extra einen Rechenoperator hinzufügen ([Variable]1 + [Variable 2] ….das will ich nicht!!!!!!!)muss…

    • #3955
      Torsten
      Teilnehmer

      Ich weiss nicht genau, was Du damit willst, aber im Prinzip geht sowas:

      put "1 + 2" into einsUndZwei
      answer value(einsUndZwei)

      oder gar:

      put "1 +" into einsPlus
      put 2 after einsPLus
      answer value(einsPlus)
    • #3957
      YoloBolo
      Teilnehmer

      Mein Projekt ist ein erweiterter Taschrechner, meinst du das wäre anders bzw. besser zu lösen?

      LG Max

    • #3961
      Torsten
      Teilnehmer

      Hi Max,

      hast Du das Video von Hauke schon mal angesehen? https://www.youtube.com/watch?v=N93qGiCmdtQ

      Hier hat er einen sehr genialen Ansatz per Karten-Skript gewählt.

      Hier http://www.loper-os.org/?p=568 ist nochmal ein anderer Ansatz demonstriert, per Skript in den einzelnen Buttons. Einfach die Bilder anschauen, dort ist der komplette Weg beschrieben. Zwar geht es in dem Aufsatz um den „Großvater“ von Livecode, aber die Skripte funktionieren immer noch.

      Beschreib‘ doch mal, was der Taschenrechner genau für Funktionen haben soll und wie Du dir die Interaktion vorstellst, d.h. was soll der Benutzer machen, damit was passiert.

      Beste Grüße
      Torsten

    • #3971
      YoloBolo
      Teilnehmer

      Hallo Torsten,

      wenn man auf einen Button klickt (0-9) werden die Zahlen in ein Feld getan, wenn dann ein Button mit einem Rechenoperator klickt wird die Zahl in eine Variable geklickt und das Feld wird geleert, wenn man dann eine weitere Zahl und einen Button mit dem „=“ drückt wird das Ergebnis angezeigt…..weißt du ob es einen Befehl gibt, der überprüft ob ein Rechenoperator in der Variable ist, weil wenn ich mit dem Befehl if zahl1 is a number then.... und in der Variable „3*“ steht dann wird dieser Befehl nicht ausgeführt….

      LG Max

    • #3973
      YoloBolo
      Teilnehmer
      on mouseup
         if field "Eingabe" is a number then
            if "*" is in field "Anzeige" then 
               put field "Eingabe" after zahl1  
               clear the last word in field "Eingabe"
               clear the last word in field "Anzeige"
               clear the first word in field "Anzeige"
               put zahl1 into field "Eingabe"
            else 
               put field "Eingabe" into zahl1  
               clear the last word in field "Eingabe"
               put " * " after zahl1
               put zahl1 into field "Anzeige"
            end if
         end if
      end mouseup

      Habe jetzt das Script so, es funktioniert alles, bis auf das dann mir nicht das Ergebnis Angezeigt wird, sondern als Bsp. ich drücke Button 3 und dann *, 3 * wird dann in eine Variable getan und aus dem Feld gelöscht. wenn ich dann den Button 2 und dann *, dann wird 3 * 2 in das Textfeld gepackt und nicht das Ergebnis….
      Wenn du für das obere Script Verbesserungsvorschläge hast, gerne…

      LG Max

    • #3980
      gfz
      Teilnehmer

      Hallo Max,
      ich habe mich etwas mit deiner Anfrage beschäftigt und mir ist der Einsatz deiner Felder nicht ganz klar. „Eingabe“ erhält immer die Eingaben des Benutzers bzw. soll nach Ausgabe eines Zwischenergebnisses gelöscht werden(?). Wo erfolgt die Ausgabe der (Zwischen-)Ergebnisse? Sind die Felder „Eingabe“ und „Anzeige“ beide sichtbar?
      liebe Grüße,
      Georg

    • #3982
      Klaus Major
      Verwalter

      Und das kompiliert ohne Error? Ich bin völlig irritiert!

      Wie kommst Du auf diese Syntax?
      „clear“ ist definitiv kein Befehl in Livecode, sondern eine der vielen INK Einstellungen!?

    • #3984
      Klaus Major
      Verwalter

      Gerade getestet, das funktioniert wirklich, ich lach mich tot! 😀
      Max, woher wusstest Du das?

    • #3988
      Klaus Major
      Verwalter

      OK, hab es im Dictionary gefunden, steht aber nicht unter „clear“, sondern unter „clear chunk“ und ist wohl ein Aequivalent zu „delete“.

      Kannte ich vorher gar nicht, danke Max, wieder was gelernt!

    • #3990
      YoloBolo
      Teilnehmer

      Habe mir das mit dem clear aus dem Englischen hergeleitet und ausprobiert

    • #3992
      YoloBolo
      Teilnehmer

      @Klaus Major
      ich habe zudanken

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