ETH Zuerich - Startseite
Professur für CAAD

 


caad d-arch


Caad Teaching
 

 
Bachelor of Architecture: CAAD II ss07

 
Master of Advanced Studies
in Architecture, CAAD


 
DWF-Processing
Programmieren statt Zeichnen


 
Graustufen - Ein Atlas
Schweizer Wohngebäude als XML Daten


 
DWF- Denken in Systemen:
In Collaboration with the Technical University Vienna


 
Seminarwoche:
BlowUp


 
Archiv

 
Caad Projects
 

 
Theory
 
Design
 
Building
 
Practice

 
Related pages
 

 
Swiss Federal Institute of Technology Zurich
 
Institute of Building Technology
 
Faculty of Architecture

 
Other pages

 










hbt d-arch

MAS ETH ARCH/CAAD - 2005/06 - STUDENT PAGES
Master of Advanced Studies in Architecture, Specialization in Computer Aided Architectural Design | 065-0005/6
Supervision: Prof. Dr. Ludger Hovestadt, Philipp Schaerer
Chair of CAAD, ETH Zurich





Toni Kotnik Module 4: Configurator|Mini-Assignment 1
calculator




display.text = "0";   // angezeigten text leeren
ergebnis.text = 0;

var faktor1 = 0;   // die zu verknüpfenden Faktoren
var faktor2 = 0;

// funktion zur aktualisierung der ausgabe

function aktualisieren()
{   if(display.text == "0")   // falls anzeige 0, dann mit aktuellem wert überschreiben
   {   display.text = this.wert;
   }else
   {   display.text = display.text + this.wert;   // sonst aktuellen wert an angezeigten text anhängen
   }
}

// abfragen der zahl und display ergänzen

var i;       //counter
var btn_a;    // button
for (i=0; i<10; i++)
{   btn_a = _root["btn"+i];   // button auf tastatur setzen 
   btn_a.wert = i;   // dem button eine eigenschaft zuordnen
   btn_a.onRelease = aktualisieren;   // bei tastendruck display aktualisieren
}
btnPoint.onRelease = function()   // punkt separat abfragen
{   display.text = display.text + ".";
}

// berechnung durchführen

var operator;   // operator zwischenspeichern
var flag = 1;    // anzahl der vorhandenen zahlen
function calculate()
{   var op = this.wert;
   if(flag == 2) // zwei zahlen vorhanden
   {faktor2 = Number(display.text);   // aktuellen wert aus display einlesen
    switch(operator)   // entsprechend letztem operator berechung durchführen
       {   case "Plus" : faktor1 = faktor1 + faktor2;
                   break;
          case "Minus" : faktor1 = faktor1 - faktor2;
                  break;
          case "Mult" : faktor1 = faktor1 * faktor2;
                  break;
          case "Div" : faktor1 = faktor1 / faktor2;
                  break;
          }
   }else   // nur eine zahl vorhanden
   {   faktor1 = Number(display.text);
   }
   flag = 2;
   if (op == "Equal")   // berechnung abschliessen
   {   display.text = String(faktor1); // ergebnis ausgeben
      operator = "";   // kein neuer operator
      flag = 1;   // nur noch eine zahl vorhanden
   }else
   {   display.text = "0";   // display zurücksetzen für eingabe der nächsten zahl   
      operator = op;
   }
   if (String(faktor1) == "Infinity")   // division durch 0 wurde durchgeführt
   {   display.text = "division by zero";
   }
   ergebnis.text = faktor1;   // zwischenergebnis im fenster ausgeben
}

// abfagen der gedrückten Operation

operatoren = new Array();
operatoren = ["Plus","Minus","Mult","Div","Equal"]; // operatoren als array auflisten
var btn_b;
for (i=0; i<5; i++)
{   btn_b = _root["btn"+operatoren[i]];   
   btn_b.wert = operatoren[i];   // dem button eine eigenschaft zuordnen
   btn_b.onRelease = calculate;   // berechnung durchführen mit dem operator
}

// löschen der letzten eingabe

btnClear.onRelease = function()
{   display.text = "0";   // eingabefenster löschen
   if(operator == "")   // falls aktuelle zahl der erste faktor ist
   {   ergebnis.text = 0; // zwischenergebnis löschen
   }
}

// löschen der gesamten eingabe

btnReset.onRelease = function()
{   display.text = "0";   // alle werte zurück setzen
   ergebnis.text = 0;
   faktor1 = 0;
   faktor2 = 0;
    operator = "";
    flag = 1;
}






Revision r1.9 - 29 Mar 2006 - 07:48 - NDSToniKotnik
Parents: NDSToniKotnik
Copyright © 1999-2003 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.

This website has been archived and is no longer maintained.