21.07.2012, 04:49
(
Последний раз редактировалось ipsBruno; 22.09.2012 в 02:18.
)
Tуpico editado dia 21/09 com a segunda versгo do projeto !! 23:23
Tabulador e Analisador de Cуdigos
- Deixa seu cуdigo indentado/tabulado e organizado
- Analisa se os brackets {} de seu cуdigo estгo fechados e abertos de forma correta (chega dos 26 erros por falta de } )
- Rбpido e fбcil uso. Cole seu cуdigo abaixo e clique em analisar !!
Site:
http://ipsteam.atwebpages.com/ VERSAO 1
http://tabulador.medianewsonline.com VERSAO 2
Na nova versгo:
- ProgressBar com porcentagem incluнdo
- Status do processamento da linha atual
- Maior velocidade para cуdigos grandes (foi usado um sistema de alivio com setTimeOut. Assim o navegador tende a travar menos)
- Foi melhorado o algorнtimo de {}.Agora as linhas sгo mostradas mais prуximas
Nгo й publicaзгo nгo Й onde a pбgina estб hospedada
_________________________________________
DICA DO BRUNO:
Caso esteja procurando brackets { perdidos.
Faзa o seguinte:
Por exemplo:
Me deu aqui "O erro foi encontrado antes da linha 7"
Note que o erro estб 3 linhas antes do verdadeiro erro (na linha 4) entгo selecione todo cуdigo antes da callback fusn e coloque denovo para analisar, caso nгo tiver erro vocк sabe que o erro foi na callback fusn
_________________________________________
Cуdigo Fonte
Versгo 1:
Versгo 2:
Teste Importante: Nos testes testei um gamemode de 24.160 linhas e levou quase 3 minutos para analisar todo o cуdigo .. Apуs isto, demorou uns 15 segundos para imprimir o cуdigo na tela.
Demonstraзгo V2:
[ame]http://www.youtube.com/watch?v=3_MsuvjqhrA[/ame]
(qualidade horrнvel)
Bom uso!
Criado por Bruno da Silva. Projeto licenciado.
Testado por dMagnus e Kmatsu
Tabulador e Analisador de Cуdigos
- Deixa seu cуdigo indentado/tabulado e organizado
- Analisa se os brackets {} de seu cуdigo estгo fechados e abertos de forma correta (chega dos 26 erros por falta de } )
- Rбpido e fбcil uso. Cole seu cуdigo abaixo e clique em analisar !!
Site:
http://ipsteam.atwebpages.com/ VERSAO 1
http://tabulador.medianewsonline.com VERSAO 2
Na nova versгo:
- ProgressBar com porcentagem incluнdo
- Status do processamento da linha atual
- Maior velocidade para cуdigos grandes (foi usado um sistema de alivio com setTimeOut. Assim o navegador tende a travar menos)
- Foi melhorado o algorнtimo de {}.Agora as linhas sгo mostradas mais prуximas
Nгo й publicaзгo nгo Й onde a pбgina estб hospedada
_________________________________________
DICA DO BRUNO:
Caso esteja procurando brackets { perdidos.
Faзa o seguinte:
Por exemplo:
Код:
1 -fun () { 2 -} 3 - 4 -fusn () { 5 -{ 6 - ///sadasd 7 -} 8 - 9 -fun() { 10 - }
Note que o erro estб 3 linhas antes do verdadeiro erro (na linha 4) entгo selecione todo cуdigo antes da callback fusn e coloque denovo para analisar, caso nгo tiver erro vocк sabe que o erro foi na callback fusn
_________________________________________
Cуdigo Fonte
Versгo 1:
pawn Код:
<center><font face=verdana><font size=5 color=green><b>T</b>abulador e Analisador de Cуdigos</font></br></br>
- Deixa seu cуdigo indentado/tabulado e organizado</br>
- Analisa se os brackets {} de seu cуdigo estгo fechados e abertos de forma correta</br>
- Rбpido e fбcil uso. Cole seu cуdigo abaixo e clique em analisar !!</br>
</font></br>
<script>
function indent(parametros) {
var linha = parametros.split("\n");
var bck = 0;
var filtro = " \t\n\r\f";
document.write("<textarea>");
for(i = 0; i != linha.length; i++) {
j = 0;
while((filtro.indexOf(linha[i][j]) != -1)) {
j++;
}
f = j;
document.write("\n");
for(b = 0 ; linha[i][j]; j++) {
if(linha[i][j] == "{") {
bck++;
ultimobrack = i;
if(j == f) {
f = -1;
}
}
if(linha[i][j] == "}") {
bck--;
}
if(bck < 0) {
alert("[ERRO] Existem bck '}' demais na linha " + i);
}
if(!b && bck) {
for(x = 0; x < (f == -1 ? bck - 1 : bck); x++) {
document.write('\t');
}
}
document.write(linha[i][j]);
b = 1;
u = bck;
if(f == -1 && linha[i].length > 1) {
document.write("\n");
for(x = 0; x < (bck); x++) {
document.write('\t');
}
f --;
}
}
}
if(bck) {
alert("[ERRO] Existem bck '{' demais na linha " + ultimobrack-1);
}
document.write("</textarea>");
return true;
}
String.prototype.rtrim = function () {
return this.replace(/\s+$/,"");
}
</script>
<textarea width="600" heigth="600" id="area" style="margin: 2px; width: 630px; height: 201px; ">Cole seu cуdigo aqui !!
</textarea></br>
<input type=button onClick=indent(document.getElementById('area').value) value=Analisar />
</center>
</br></br>
Por <b>Bruno da Silva</b> @ <b>iPs TeaM 2010-2012</b>
pawn Код:
<center><font face=verdana><font size=5 color=green><b>T</b>abulador e Analisador de Cуdigos</font></br></br>
- Deixa seu cуdigo indentado/tabulado e organizado</br>
- Analisa se os brackets {} de seu cуdigo estгo fechados e abertos de forma correta</br>
- Rбpido e fбcil uso. Cole seu cуdigo abaixo e clique em analisar !!</br>
</font></br>
<script>
/*
* Copyright © 2012 [iPs]TeaM
* Bruno da Silva (brunoemail@r7.com)
* Simples e eficiente biblioteca para criar efeito progressbar em javascript canvas
* http://www.brunodasilva.com.br
* http://www.ips-team.forumeiros.com
*/
function createProgressBar(x, y, largura, altura, color, maximo, canvasid) {
this.valorprogresso = 0
this.maximo = maximo
this.largura = largura
this.altura = altura
this.cnv = document.getElementById(canvasid).getContext('2d')
this.background = document.getElementById(canvasid).style.background;
this.posicaox = x
this.posicaoy = y
this.cor = color
this.updateProgress = function () {
if (this.valorprogresso < this.maximo) {
this.cnv.fillStyle = this.cor
this.cnv.fillRect(this.posicaox + ((this.largura / this.maximo) * (this.valorprogresso)), y,this.largura / this.maximo, this.altura)
this.valorprogresso+=1
if (this.textmiddle) {
this.cnv.fillStyle =this.background
this.cnv.fillRect(this.posicaox - 3, y + (this.tamanhof + this.altura), this.tamanhof * 5, this.tamanhof + this.altura - 1)
this.cnv.fillStyle = this.textcolor
this.cnv.font = this.textfonte
if ((((this.valorprogresso / this.maximo) * 100) >> 0) == 100) {
this.cnv.fillText("Completo!", this.posicaox - 1, this.altura + y + (this.tamanhof * 2)-3)
} else {
this.cnv.fillText((((this.valorprogresso / this.maximo) * 100) >> 0) + " %", this.posicaox - 2, this.altura + y + (this.tamanhof * 2))
}
}
}
return (this.valorprogresso < this.maximo);
}
this.getProgress = function () {
return this.valorprogresso;
}
this.setProgress = function (v) {
return this.valorprogresso = v;
}
this.showText = function (ativado, color, fonte, tamanho) {
this.textcolor = color
this.tamanhof = tamanho
this.textfonte = tamanho + "pt " + fonte
this.textmiddle = ativado;
}
return true;
}
/*
* Copyright © 2012 [iPs]TeaM
* Bruno da Silva (brunoemail@r7.com)
* Simples e eficiente indentador de cуdigos manipulado com settimeout thread em javascript
* http://www.brunodasilva.com.br
* http://www.ips-team.forumeiros.com
*/
var i = 0;
var filtro = " \t\n\r\f";
var bla = 0;
var bck = 0;
var rs = [' ', ' '];
var linha = rs;
var impressaofinal = "";
function indent(parametros) {
linha = parametros.split("\n");
document.write("<div style=\"background-color:black; width:800;\" id='status' ></div><canvas style=\"background-color:black\" id='canvasID' width=" + 800 + " height=" + 600 +"></canvas><textarea id='novocodigo' style='display:none;'>");
bar = new createProgressBar(400-200, 600/2, 400, 10, "green", linha.length, "canvasID");
bar.showText(true, "white", "verdana", 10);
setTimeout( function () { processar(i, bar, bck, bla, linha, filtro ); } , 100);
//document.getElementById('area').style.display = "none";
return true;
}
function terminar (bck) {
if(bck) {
alert("Existem { demais no cуdigo");
alert("O erro foi encontrado antes da linha " + (ultimobrack-1) );
}
else alert("Fechando o cуdigo ... Aguarde ");
document.write(impressaofinal + "</textarea>");
document.getElementById("canvasID").style.display = "none";
document.getElementById("novocodigo").style.display = "block";
document.getElementById('status').innerHTML = "<font face=\"Verdana\" color=\"green\" size=\"3\">Foi finalizado !!" ;
}
function processar(i, bar, bck, bla, linha, filtro ) {
//
bar.updateProgress();
//
document.getElementById('status').innerHTML = "<font face=\"Verdana\" color=\"white\" size=\"3\">Processando: <font size=1>" + linha[i] ;
j = 0;
while((filtro.indexOf(linha[i][j]) != -1)) {
j++;
}
f = j;
//document.write("\n");
impressaofinal += "\n";
for(b = 0 ; linha[i][j]; j++) {
if(linha[i][j] == "{") {
bck++;
ultimobrack = i;
if(j == f) {
f = -1;
}
}
if(linha[i][j] == "}") {
bck--;
}
if(bck < 0) {
alert("Existem } demais no cуdigo");
alert("O processo foi parado proximo a linha que houve o erro");
terminar (0);
return true;
}
if(!b && bck) {
for(x = 0; x < (f == -1 ? bck - 1 : bck); x++) {
//document.write('\t');
impressaofinal += "\t";
}
}
// document.write(linha[i][j]);
impressaofinal += linha[i][j];
b = 1;
u = bck;
if(f == -1 && linha[i].length > 1) {
//document.write("\n");
impressaofinal += "\n";
for(x = 0; x < (bck); x++) {
//document.write('\t');
impressaofinal += "\t";
}
f --;
}
}
if(i < linha.length-1) {
i++;
linha[i-1][0] = 0;
setTimeout( function () { processar(i, bar, bck, bla, linha, filtro ); }, 2);
}
else {
terminar (bck);
}
return true;
}
String.prototype.rtrim = function () {
return this.replace(/\s+$/,"");
}
</script>
<textarea width="600" heigth="600" id="area" style="margin: 2px; width: 630px; height: 201px; ">Cole seu cуdigo aqui !!
</textarea></br>
<input type=button onClick=indent(document.getElementById('area').value) value=Analisar />
</center>
</br></br>
Por <b>Bruno da Silva</b> @ <b>iPs TeaM 2010-2012 - [url]www.brunodasilva.com.br[/url] www.ips-team.forumeiros.com</b>
Demonstraзгo V2:
[ame]http://www.youtube.com/watch?v=3_MsuvjqhrA[/ame]
(qualidade horrнvel)
Bom uso!
Criado por Bruno da Silva. Projeto licenciado.
Testado por dMagnus e Kmatsu