meta data for this page
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

konvertierungen-in-jscript [2011/06/02 09:31] (aktuell)
Zeile 1: Zeile 1:
 +====== Konvertierungen in JScript ======
 +\\ 
 +===== RGB-Wert und Farbreferenz (colorref) =====
 + Das Dialogelement **Color** liefert als Ergebnis den RGB-Wert ("000 000 000" bis "255 255 255"​).\\ ​ Viele FF-Befehle benötigen aber zur Farbangabe den Referenzwert **colorref** (0 - 16777215)\\ \\  Hier zwei Umrechnungsroutinen in JScript\\ ​
 +  // Farbwert in String wandeln
 +  function rgb2string(rgb)
 +  {
 +   var i,s = new Array((rgb & 255).toString(),​
 +                ((rgb >>>​ 8) & 255).toString(),​
 +               ((rgb >>>​ 16) & 255).toString() );
 +   ​for(i=0;​ i<3; i++)
 +      while( s[i].length < 3) { s[i] = "​0"​ + s[i] };
 +   ​return s.join("​ ");
 +  }
  
 +  // String in Farbwert wandeln
 +  function string2rgb(cols)
 +  {
 +   var c = cols.split("​ ");
 +   ​return (parseInt(c[2],​10) << 16) + (parseInt(c[1],​10) << 8) + parseInt(c[0],​10) ;
 +  }
 +
 +  // Test
 +  col = 0x123456;
 +  cols = rgb2string(col); ​ // in Text wandeln
 +  col2 = string2rgb(cols);​ // und wieder zurück
 +  /Anzeigen (rgb als Hexzahl)
 +  FF_MessageBox("​rgb\t " ​     + "​0x"​+col.toString(16) + "​\r\n"​ +
 +                "​=>​String\t " + cols                  + "​\r\n"​ +
 +                "​=>​rgb\t " ​   + "​0x"​+col2.toString(16) ​ ,1);
 +   
 +\\  Die Umwandlung einer Zahl in einen Text ist in JScript mit der Funktion toString(x) einfach möglich,​\\ ​ Hier wird noch eine Hlfsfunktion zum erzeugen einen festen Textlänge verwendet.\\ ​ Das Ergebnis wird mit der [[/​FF_MessageBox|FF_MessageBox]] Funktion angezeigt.\\ ​
 +  // Hilfsfunktion
 +  // Text auf der Linken Seite mit "​filler"​ erweitern bis der Text die gewünschte länge besitzt.
 +  function fillleft(s,​len,​filler)
 +  {
 +   var result = s;
 +   ​while(result.length < len)
 +     ​result=filler+result;​
 +   ​return result;
 +  }
 +
 +  // Tabelle erzeugen
 +  function CreateRadixTable ()
 +  {
 +     var s, x;
 +     s = "​Hex\tDec\tBin\n";​
 +     for (x = 0; x < 16; x++)
 +     {
 +      s +=   ​fillleft(x.toString(16),​8,'​0'​) + "​\t"​
 +           + x.toString(10) + "​\t"​
 +           + fillleft(x.toString(2),​8,'​0'​)+ "​\n";​
 +     }
 +     ​return(s);​
 +  }
 +
 +  // Tabelle anzeigen.
 +  FF_MessageBox( CreateRadixTable() , 1);
 +
 +