打印

谁有wmls的实际程序共享一下

m3gate的例子:


extern function reset()
{
       WMLBrowser.setVar("user", "0");
       WMLBrowser.setVar("memory", "0");
       WMLBrowser.setVar("op", "1");         // +
       WMLBrowser.setVar("flush", "true");
       WMLBrowser.refresh();
}

//-------------------------------------------------------------------------------

extern function digit(digit)
{
       var wmlFlush = WMLBrowser.getVar("flush");
       var wmlUser = WMLBrowser.getVar("user");
       var fUser = Lang.parseFloat(wmlUser);

       if (wmlFlush == "true")
       {
              wmlUser = "";
              WMLBrowser.setVar("flush", "false");
       }
       if (digit < 10)
       {
              wmlUser += String.toString(digit);
       }
       else if (digit == 10)        // +/-
       {
              if (String.length(wmlUser) == 0 || fUser == 0.0)
              {
                     return;
              }
              if (String.charAt(wmlUser, 0) == "-")
              {
                     wmlUser = String.subString(wmlUser, 1, String.length(wmlUser) - 1);
              }
              else
              {
                     wmlUser = "-" + wmlUser;
              }
       }
       else if (digit == 11)        // .
       {
              var nPos = String.find(wmlUser, ".");
              if (nPos == -1)
              {
                     if (String.length(wmlUser) == 0)
                     {
                            wmlUser = "0";
                     }
                     wmlUser += ".";
              }
       }

       WMLBrowser.setVar("user", wmlUser);
       WMLBrowser.refresh();
}


//-------------------------------------------------------------------------------

extern function operation(op)
{
       var wmlUser = WMLBrowser.getVar("user");
       var fUser = Lang.parseFloat(wmlUser);

       if (fUser == invalid)
       {
              WMLBrowser.go("index.wml#cError");
              return;
       }
       
       var wmlMemory = WMLBrowser.getVar("memory");
       var fMemory = Lang.parseFloat(wmlMemory);
       
       var wmlOp = WMLBrowser.getVar("op");
       var nOp = Lang.parseInt(wmlOp);
       
       if (nOp == 1)           // +
       {
              fMemory += fUser;
       }
       else if (nOp == 2)      // -
       {
              fMemory -= fUser;
       }
       else if (nOp == 3)      // *
       {
              fMemory *= fUser;
       }
       else if (nOp == 4)      // /
       {
              fMemory /= fUser;
       }

       WMLBrowser.setVar("flush", "true");

       fUser = fMemory;
       nOp = op;

       if (op == 0)
       {
              nOp = 1;
              fMemory = 0.0;
       }
       
       WMLBrowser.setVar("user", String.toString(fUser));
       WMLBrowser.setVar("memory", String.toString(fMemory));
       WMLBrowser.setVar("op", String.toString(nOp));
       WMLBrowser.refresh();
}