Dalia: debugen?????

Hallo,

welche ist die schnellste Moeglichkeit zum debug-en.
ohne den alert Fenster zu benutzen
alert(MeinTestwert)...

vielen Dank,

Dalia

  1. Hi,

    welche ist die schnellste Moeglichkeit zum debug-en.
    ohne den alert Fenster zu benutzen

    warum nicht das alertfenster. Sag es mal bitte etwas genauer, was genau
    du debuggen willst.

    Wenn dich das permanente <Enter>-drücken stört, schlage ich vor ein
    textarea einzubinden und alle relevanten daten dortrein auszugeben. oder
    du öffnest ein seperates browser fenster und lässt dir die daten dort
    anzeigen

    bye eddie

    1. oops, hätte ich ja fast vergessen...

      mozilla und seine möglichkeiten.
      1. Die javascript-console ist wirklich goldwert
      2. der JS-Debugger, habe ich noch nicht probiert

      bye eddie

    2. Hi,

      ich habe das folgende
      function formatDecimal(Number, dec)
      {
      Number += "";
      RoundNumber = Math.floor(Number*Math.pow(10,dec)+0.5)*Math.pow(10,-dec);
      RoundNumber +=  "";
      //alert(RoundNumber);
      if ( RoundNumber.indexOf(".") != -1)
        {
         //alert(RoundNumber.length);
        //alert("index= " + RoundNumber.indexOf("."));
         decPoint=(RoundNumber.length - RoundNumber.indexOf(".")-1);
         //alert("decimal" + decPoint);
         switch(decPoint)
         {
       case 0:
         //RoundNumber += "00";
         break;
       case 1:
         RoundNumber += "0";
         break;
       }
        }
        else
        { RoundNumber += ".00";}

      return RoundNumber;
      }

      und es wirdt in einer Schleife aufgerufen 20 * 3
      document.Purchase["txtAmount"+i].value = formatDecimal(Amount,2);
      document.Purchase["txtUnitPrice"+i].value = formatDecimal(Price,2);
      document.Purchase.txtTotal.value = formatDecimal(Total,2);
      und kann nie die Daten aendern.
      Gruss,

      Dalia

      warum nicht das alertfenster. Sag es mal bitte etwas genauer, was genau
      du debuggen willst.

      Wenn dich das permanente <Enter>-drücken stört, schlage ich vor ein
      textarea einzubinden und alle relevanten daten dortrein auszugeben. oder
      du öffnest ein seperates browser fenster und lässt dir die daten dort
      anzeigen

      bye eddie

      1. Hi,

        vorneweg, ich würde das zeugs per textarea ausgeben. Also
        document.form.textarea.value += "\n " + aktuellerWert;
        etc.

        zu deiner funktion (wir sollen ja mal kompetenz beweisen)
        http://forum.de.selfhtml.org/archiv/2002/2/3870/  :-)

        function formatDecimal(Number, dec)
        {
        Number += "";

        warum konvertierst du das zum string, wenn du bereits in der nächsten
        Zeile wieder numerisch damit rechnest?

        RoundNumber = Math.floor(Number*Math.pow(10,dec)+0.5)*Math.pow(10,-dec);
        RoundNumber +=  "";

        Warum konvertierst du nicht dierekt mit
        RoundNumber = String( Rechenausdruck );
        und warum deklarierst du die variable nicht lokal mit
        var RoundNumber = ....

        //alert(RoundNumber);
        if ( RoundNumber.indexOf(".") != -1)
          {
           //alert(RoundNumber.length);
          //alert("index= " + RoundNumber.indexOf("."));
           decPoint=(RoundNumber.length - RoundNumber.indexOf(".")-1);
           //alert("decimal" + decPoint);
           switch(decPoint)
           {
        case 0:
           //RoundNumber += "00";
           break;
        case 1:
           RoundNumber += "0";
           break;
        }
          }
          else
          { RoundNumber += ".00";}

        return RoundNumber;
        }

        dieser code ist unflexibel, für jede menge von gewünschten
        dezimalstellen brauchst du 'ne case anweisung

        hier mein vorschlag:
        function formatDecimal(Number, dec) {
          if (dec==0)
           return Math.round(Number);

        var zerostring="";
          for (var i=0; i<=dec; i++)
           zerostring += "0";

        if ( String(Number).indexOf(".") != -1 )
           Number = String( Math.floor(Number*Math.pow(10,dec)+0.5)*Math.pow(10,-dec) );
          else
           Number += ".";

        Number += zerostring;
          if (dec > 0)
           return ( Number.substring(0, Number.indexOf(".")+dec+1) );
         }

        bye eddie

  2. Hallo,

    Die Browser bringen teilweise schon entsprechende Tools mit.
    Im Mozilla (www.mozilla.org) unter Tasks/Tools/Javascript Debugger
    Zu Netscape Navigator 4.x gibt es ebenfalls ein exzellenten Debugger auf der Netscape-Homepage (http://developer.netscape.com/software/jsdebug.html).
    Zum IE gibt es natürlich auch ein entsprechendes Tool. Ich glaube bei Frontpage ist u.a. sowas dabei. Einfach mal auf der Microsoft-Seite suchen (www.microsoft.com).

    Gruss
       Michael