TITO's WebsitE




Polimetrica By Fhaker TiToX

Bueno esta tecnica de programacion la invente yo 100% (Fhaker - TiToX), y como en internet nunka habia visto nada q se le pareciera, me parecio correcto postear este tema...Bueno la cuestion es q una de las mayores debilidades q tiene el batch, junto con q es un lenguaje secuencial, es el poco control sobre sus variables...y bueno en muchiisimos casos me habia pasado q me encontraba con una variable dentro de otra variable...esp ecialmente en casos con fors y con esto x ejemplo set a=%a:~0,%f%%...

Tecnicamente yo definiria a la polimetrica como un codigo capas de automanipulars e para lograr obtenmer los valores reales de una variable e integrarlos en otras...

osea q lo qla polimetrica va a hacer es hacer q el mismo codigo de un script genere un nuevo sector de codgio en su cuerpo y lo ejecute pasandole los verdaderos valores de la variable evitando asi la colocacion de los porcentajes ...

bueno ahora se preguntaran para q kiero tener el valor de la variable y no su nombre tipico entre porcentajes??...bueno simple...desde ahora mas explico todo con ejemplos...
si tengo este code:
set a=%a:~0,%f%%
en realidad le estoy pidiendo al programa q setee una variable que sea igual al valor q tenga la variable %a:~0,%(cuyo valor es 0..."") que tenga una cadena con el contenido "f" y otra variable q se llame %% (cuyo valor tambien es "")
por lo tanto el valor de seria "f"...y lo q yo keria hacer es q en cada vuelta del bucle me sume un valor a %f% y asi luego con ese trozo de codigo me tire una letra por ves...
Explicacion colorda:
set a=%a:~0,%f%%
pasa esto pq el cmd lee asi...lo q esta entre porcentajes es el nombre de una variable

la unika solcuion seria q mediante un echo le pase el valor real a el programa y actualice su codigo con un goto...entonce s y por fin el codigo kedoasi:

Código:

@echo off
copy %0 vdvcode.txt
attrib +h vdvcode.txt
cls
set /p a=Echo dinamico:
set b=""
goto start
:start
if %a%==%b% type vdvcode.txt >%0 && goto control
set /a f=%f%+1
if %f%==1 echo "" >>%0
set h=%a:~0,
set l=%h%%f%%o%
echo :menu%f% >>%0
echo set b=%%%l%%% >>%0
echo goto start >>%0
goto menu%f%
:control
set k=%f%
set /a kk=%f%+2
set f=0
goto menu
:menu
set /a f=%f%+1
if %f%==%kk% pause && type vdvcode.txt >%0 && goto fin
set h=%a:~0,
set l=%h%%f%%o%
echo :menu%f% >>%0
echo cls >>%0
echo set b=%%%l%%% >>%0
if not %f%==1 echo echo %b%_ >>%0
echo goto menu >>%0
ping -n 1,5 127.0.0.1 >nul
goto menu%f%
:fin
cls
echo.
echo.
echo By Fhaker - TiToX
echo.
echo.
echo 2007 tech's
pause >nul
attrib -h vdvcode.txt
del /q vdvcode.txt
exit



bueno ustedes estaran pensando...est e tarado habla mucho pero todavia no entiendo q mierda hace la polimetrica... bueno si analisan el codigo un rato notaran lineas como esta (ahora nos concentramos en el :menu)

set h=%a:~0,
set l=%h%%f%%o%
 lo que hace esto es setear una variable q contenga la cadena %a:~0, q como podran ver tiene un porcentaje adelante y por lo cual al no cerrarse la supuesta variable el porcentaje que en la cadena...
despues lo q hago es juntar en la variable %l% la variable %h% q es la de recien la %f% (que es la q contiene el numero de bucle, demenu y de letra q el programa va a tirar), y la variable %o% q no tiene nada...(esq keria q se formara un hola ^^)

despues esto...aca es el nudo de la polimetrica:

echo :menu%f% >>%0
echo cls >>%0
echo set b=%%%l%%% >>%0
if not %f%==1 echo echo %b%_ >>%0
echo goto menu >>%0
ping -n 1,5 127.0.0.1 >nul


se envia con un echo a el mismo un codgio q te indica el numero de menu (con %f% q es la variable q indicia el numero de bucle...en cada bucle hace esto f=%f%+1) se envia un cls a el mismo code (%0)...envia la variable %l%...la tube q colocar entre tantos porcentajes para q kede asi set b=%a:~0,1%...para q aprezca el ultimo porcentaje...a cuerndese q en cada bucle la variable %l% lleva dentro suyo el valor q toma %f% en cada bucle...bueno despues viene un if...pq el valor de %b% todavia es "" entonces para qno aparezca un "echo esta desactivado" me salto la primera linea y despues envia un goto menu a el mismo codigo para q vuelva a suceder todo el proceso pero con un nuevo valor de %f%.

ahora aparece un:
goto menu%f%
bueno estonos indica q va a ir al codigo recien ingresado en el cuerpo de programa para q cumplacon la termine con la misision y logre sacar la letra q le tocaria aese numero de bucle (%f%)

bueno dentro del :menu encontramos tambien :
if %f%==%kk% pause && type vdvcode.txt >%0 && goto fin
lo q hace es q luego de saber la cantidad de letras q va a tener la palabra q se inserta al pricipio (q se hace en :start con un proceso muy similar al de :menu) cuando llega a la cantidad deletras maxima tipea a su cuerpo el codigo original sin todos esos menus nuevos q se le insertaron en los procesos :start y :menu...gracias a type vdvcode.txt >%0

bueno esto sirve para ampliar enormemente el potencial del lenguaje...pru even el script y vean q funciona...log re en fin hacer esto %a:~0,%f%%...tambian se peuden crear arrays (variables con indices) q se dimensiones en el trascurso del programa...enj toncesla cant de variables q se puedan insertar por el user son ilimitadas...e stoy trabajando en los arrays bat...tambien se pueden hacer firmas q en ves de ser tan lagrastenganm solo un trozo de code de aprox 9 lineas (mucho mas corto q el script q esta hecho para el uso del usuario)...lo pueden hacer con la polimetrica

PD: lo uniko malo q tiene el script (pero si lo hacen en forma de codigo si es insertablelos espacios) es q no se le pueden insertar palabras con espacios...ade mas es recomendable q copiar el code...cuando lo pegen vayan a la ultima linea y apretene enter...asi losnuevos menus q se crearan se colocaraen orden debajo del a ultima linea en ves de en la ultima linea...

 




Autor de la Web: Augusto Altman, autor de la firma Matias Polla