terça-feira, 14 de maio de 2002

Tabela ASCII Interativa

<% Option Explicit %>
<%
Dim iCols, iRows, iChar, sChar


Function StrZero(ifpVal,ifpTam)
Dim sfStr, ifI
   for ifI = 1 to ifpTam
      sfStr = sfStr & "0"
   next
   sfStr = sfStr & CStr(ifpVal)
   StrZero = Mid(sfStr,(Len(sfStr)-ifpTam)+1, ifpTam)
End Function


%>
<html>
<head>
<title>Tabela ASCII por Myers</title>
<script language="javascript">
d = document;
function CharOver(linha, coluna){
   //loop para mudar a cor da coluna
   for (iCols = 0; iCols < coluna; iCols++)
      d.all["r"+linha+"c"+iCols].className = "clOver";


   //loop para mudar a cor da linha
   for (iRows = 0; iRows < linha/10; iRows++)
      d.all["r"+iRows*10+"c"+coluna].className = "clOver";


   d.all["r"+linha].className  = "clOver"; //muda a cor do titulo da linha;
   d.all["c"+coluna].className = "clOver"; //muda a cor do titulo da coluna;
   d.all["r"+linha+"c"+coluna].className = "clSel";//muda a cor da celula do caraceter selecionado
   d.all.charnumber.innerHTML = parseFloat(linha)+parseFloat(coluna);//muda o numero do caractere selecionado e exibe na célula superior direita
   }


function CharOut(linha, coluna){


   for (iCols = 0; iCols < coluna; iCols++)
      d.all["r"+linha+"c"+iCols].className = "clNormal";


   for (iRows = 0; iRows < linha/10; iRows++)
      d.all["r"+iRows*10+"c"+coluna].className = "clNormal";


   d.all["r"+linha].className  = "Row"; //muda a cor do titulo da linha;
   d.all["c"+coluna].className = "Col"; //muda a cor do titulo da coluna;
   d.all["r"+linha+"c"+coluna].className = "clNormal";//muda a cor da celula do caraceter selecionado
   d.all.charnumber.innerHTML = "000";//muda o numero do caractere selecionado e exibe na célula superior direita
   }


</script>
<style type="text/css">
<!--
/* Célula Normal */
.clNormal {  text-align: center; text-decoration: none; background-color: #FFFFFF;
             font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000;
             font-size: 12px;
             border-bottom: 1px solid #E7E7E7; border-right: 1px solid #E7E7E7; }
/* Célula no evento de onMouseOver */
.clOver   {  text-align: center; text-decoration: none; background-color: #93BEE2;
             font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000;
             font-size: 12px;
             border-bottom: 1px solid #E7E7E7; border-right: 1px solid #E7E7E7; }
/* Célula do caractere selecionado */
.clSel    {  text-align: center; text-decoration: none; background-color: #FF0000;
             font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000 ;
             font-size: 12px;
             border-bottom: 1px solid #000000; border-right: 1px solid #000000;
             border-top: 1px solid #000000; border-left: 1px solid #000000; }
/* Célula de título das colunas */
.Col      {  text-align: center; text-decoration: none; background-color: #EFF7FF;
             font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000 ;
             font-size: 12px;
             border-bottom: 1px solid #CEE7FF; border-right: 1px solid #CEE7FF;
             border-top: 1px solid #CEE7FF; /*border-left: 1px solid #E7E7E7; */}
/* Célula de título das linhas */
.Row      {  text-align: center; text-decoration: none; background-color: #EFF7FF;
             font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000 ;
             font-size: 12px;
             border-bottom: 1px solid #CEE7FF; border-right: 1px solid #CEE7FF;
             /*border-top: 1px solid #E7E7E7; */border-left: 1px solid #CEE7FF; }
/* Célula de exibição do numero do caractere selecionado */
.CharSel  {  text-align: center; text-decoration: none; background-color: #EFF7FF;
             font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000 ;
             font-size: 12px; font-weight: bold;
             border-bottom: 1px solid #CEE7FF; border-right: 1px solid #CEE7FF;
             border-top: 1px solid #CEE7FF; border-left: 1px solid #CEE7FF; }
/* Links */
a {font-family: Verdana; color: #990000; font-size: 10px; text-decoration: none;}
a:hover {font-family: Verdana; color: #FF0000; font-size: 10px; text-decoration: none;
         background: #000000; }
-->
</style>
</head>
<body bgcolor="#FFFFFF">
   <div align="center"><b>
    <font face="Verdana, Arial, Helvetica, sans-serif" size="2">Tabela ASCII</font></b>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
   <tr>
<%
   iCols = 0
   iRows = 0


   '## for...next -> 0 a quantidade de caracteres (255)
   for iChar = 0 to 255
      if iCols = 0 and iRows = 0 then
         '## Cria célula para exibição do número do caractere ##
         response.write "<td class=""CharSel"" id=""charnumber"">000</td>"&vbCrlf


         '## Cria as colunas com seus respecivos números ##
         for iCols = 0 to 9
            response.write "<td class=""Col"" id=""c"&iCols&""">"&iCols&"</td>"&vbCrlf
         next
         iCols = 10 '## Iguala esta variável a 10 para quebrar a linha mais abaixo ##
      end if


      if iCols = 10 then
         '## Zera iCols e cria uma nova linha na tabela ##
         iCols = 0
         response.write "</tr><tr>"&vbCrlf
         response.write "<td width=""5%"" id=""r"&iRows&""" class=""Row"">"&_
                        StrZero(iRows,3)&"</td>"&vbCrlf
         '## São somados 10 a esta variável pq numera as linha de 10 em 10 ##
         iRows = iRows + 10
      end if


      '## Caracteres Nulos são convertidos para [espaço] ##
      if iChar = 0 or iChar = 9 or iChar = 10 or iChar = 11 or iChar = 12 or iChar = 13 or _
         iChar = 32 or iChar = 256 or iChar = 257 or iChar = 259 then
         sChar = "&nbsp;"
      else
         sChar = Chr(iChar)
      end if


      '## Constrói a linha com sua classe CSS, seu numero de linha e coluna
      '(id = rxcx -> 'r' = representa a lina e 'c' = representa a coluna)
      'e seus eventos de onMouseOver e onMouseOut ##
      response.write "<td class=""clNormal"" id=""r"&iRows-10&"c"&iCols&""" "&_
                     "onMouseOver=""CharOver("&iRows-10&","&iCols&")"" "&_
                     "onMouseOut =""CharOut("&iRows-10&","&iCols&")"">"&_
                     sChar&"</td>"&vbCrlf


      iCols = iCols + 1
   next


%>
</table>
<br>
</div>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000">Para ver
  o c&oacute;digo correspondente ao caractere segue-se a coluna mais o linha.<br>
  Ex. @ = coluna 4, linha 60 - corresponde ao c&oacute;digo 64.<br>
  <a href="mailto:malkeivin@yahoo.com">Myers Malkeivin - malkeivin@yahoo.com</a>
  </font>
  </p>


</body>
</html>



Esta matéria foi postada originalmente no ASP4Developers por Rafael "M4yers" Rossi (site), que na época era "...". Hoje, vai saber...

1 comentários:

Rossi disse...

Rubens,
Segue o meu e-mail atualizado malkeivin@gmail.com.

Abs