elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17
121  Programación / Scripting / Re: [BATCH] Problema Script Cuenta Regresiva en: 8 Junio 2012, 15:50 pm
Se puede simplificar el code... pero ahí está mi intento... Deberías identar tu code...

Código
  1. ::Cuenta atrás
  2. ::Batchiano
  3. @echo off
  4. setlocal enabledelayedexpansion
  5. :menu
  6. set /p h="Horas: "
  7. set /p m="Minutos: "
  8. set /p s="Segundos: "
  9. for %%z in (h,m,s) do if not defined %%z (
  10. call :formato
  11. )
  12. if %h% GEQ 0 (
  13. if %m% GEQ 0 (
  14. if %m% LEQ 59 (
  15. if %s% GEQ 0 (
  16. if %s% LEQ 59 (
  17. call :contador
  18. ) else (
  19. call :formato
  20. )
  21. ) else (
  22. call :fomato
  23. )
  24. ) else (
  25. call :formato
  26. )
  27. ) else (
  28. call :formato
  29. )
  30. ) else (
  31. call :formato
  32. )
  33. goto :eof
  34.  
  35. :contador
  36. cls
  37. if %h% GEQ 0 (
  38. if %m% GEQ 0 (
  39. if %s% GEQ 0 (
  40. for /l %%a in (!h!,-1,0) do (
  41. for /l %%b in (!m!,-1,0) do (
  42. for /l %%c in (!s!,-1,0) do (
  43. echo Contador: %%a:%%b:%%c
  44. ping localhost -n 2 > nul
  45. cls
  46. )
  47. set s=59
  48. )
  49. set m=59
  50. )
  51. )
  52. )
  53. )
  54. goto :eof
  55.  
  56. :formato
  57. echo Formato incorrecto. Vuelva a intentarlo
  58. pause>nul & cls & call :menu
  59.  
122  Programación / Scripting / Re: Negativos en batch en: 7 Junio 2012, 00:33 am
Una pregunta, aun que batch no enseñe números negativos los calcula?


? Batch trabaja en Z y con límites dependiendo de la computadora.

No entiendo como antes de escribir en el foro no hacen pruebas. Tan simple como en cmd poner:

Código
  1. set /a 0-1
123  Programación / Scripting / Re: ¿Posible la opereción con un resultado decimal? - Batch en: 5 Junio 2012, 01:17 am
Ahí tienes la función dectobin:
Código
  1. @echo off
  2. :: Batchiano para elhacker.net :)
  3. set decimal=%1
  4. set bin=2
  5. set "resultado="
  6. set "dectobin="
  7. :dectobin
  8. set /a r=%decimal%%%bin%
  9. set /a decimal=%decimal% / %bin%
  10. set resultado=%r%%resultado%
  11. if %decimal% GTR 0 (goto dectobin)
  12. set dectobin=%resultado%

Como se puede apreciar, los restos se colocan inversamente.
124  Programación / Scripting / Re: Variable general.... en: 3 Junio 2012, 23:54 pm
Hola amigos, no hay alguna forma que por ejemplo, que haya un if "%*%"=="lo que sea" comando??? algo así? es para enlazar todas las variables a un comando en comun...  :huh:

Puedes hacer un for.
125  Programación / Scripting / Re: [BATCH] ¿Hacer calculos sexadecimales? en: 3 Junio 2012, 06:14 am
Utiliza aritmética modular.
126  Programación / Scripting / Ejemplo Pascal Unit - Iniciados en la programación en: 2 Junio 2012, 22:42 pm
Un ejemplo de Unit - TAD Números Racionales - con implementación dinámica de punteros.

Código
  1. ////////////////////////////////////////////////////////////
  2. /////////////Nombre de Unidad: TAD Racionales///////////////
  3. ///////////////////Autor: Batchiano/////////////////////////
  4. //////////////////////////////////////////////////////////
  5. unit Racional;
  6.  
  7. interface
  8.  
  9. type
  10. tPRacional = ^tRacional; // Tipo puntero a racional
  11. tRacional = record // Tipo racional con un registro
  12. numerador,denominador:integer;
  13. end;
  14.  
  15. function CrearRacional(a,b:integer):tPRacional; { Crea un número racional }
  16. function MostrarRacional(r:tPRacional):string; { Muestra un número racional }
  17. function Numerador(r:tPRacional):integer; { Obtiene el numerador de un número racional }
  18. function Denominador(r:tPRacional):integer; { Obtiene el denominador de un número racional }
  19. function SumarRacional(r,s:tPRacional):tPRacional; { Suma dos números racionales }
  20. function RestarRacional(r,s:tPRacional):tPRacional; { Resta el segundo número racional al primero }
  21. function MultiplicarRacional(r,s:tPRacional):tPRacional; { Multiplica dos números racionales }
  22. function DividirRacional(r,s:tPRacional):tPRacional; { Divide el primer número racional pasado por el segundo }
  23. function SimplificarRacional(var r:tPRacional):tPRacional; { Simplifica un número racional }
  24. function mcd(a,b:integer):integer; { Obtiene el m.c.d de dos enteros (en términos positivos) }
  25.  
  26.  
  27. implementation
  28.  
  29. function min(a,b:integer):integer;
  30. begin
  31. min:=a;
  32. if b<a then
  33. min:=b;
  34. end;
  35.  
  36. function CrearRacional(a,b:integer):tPRacional;
  37. begin
  38. new(CrearRacional);
  39. CrearRacional^.numerador := a;
  40. CrearRacional^.denominador := b;
  41. end;
  42.  
  43. function MostrarRacional(r:tPRacional):string;
  44. var num,den:string;
  45. begin
  46. if ((numerador(r)>0) and (denominador(r)>0)) or ((numerador(r)<0) and (denominador(r)<0)) then begin
  47. str(abs(numerador(r)),num);
  48. str(abs(denominador(r)),den);
  49. MostrarRacional := num + '/' + den;
  50. end
  51. else begin
  52. str(abs(numerador(r)),num);
  53. str(abs(denominador(r)),den);
  54. MostrarRacional := '-' + num + '/' + den;
  55. end;
  56.  
  57. end;
  58.  
  59. function Numerador(r:tPRacional):integer;
  60. begin
  61. numerador := r^.numerador;
  62. end;
  63.  
  64. function Denominador(r:tPRacional):integer;
  65. begin
  66. denominador := r^.denominador;
  67. end;
  68.  
  69. function SimplificarRacional(var r:tPRacional):tPRacional;
  70. var a,b:integer;
  71. begin
  72. a:=abs(numerador(r));
  73. b:=abs(denominador(r));
  74. r^.numerador := numerador(r) div mcd(a,b);
  75. r^.denominador := denominador(r) div mcd(a,b);
  76. SimplificarRacional := r;
  77. end;
  78.  
  79. function SumarRacional(r,s:tPRacional):tPRacional;
  80. begin
  81. new(SumarRacional);
  82. SumarRacional^.denominador := denominador(r) * denominador(s);
  83. SumarRacional^.numerador := denominador(SumarRacional) div denominador(r) * numerador(r) + denominador(SumarRacional) div denominador(s) * numerador(s);
  84. SumarRacional := SimplificarRacional(SumarRacional);
  85. end;
  86.  
  87. function RestarRacional(r,s:tPRacional):tPRacional;
  88. begin
  89. new(RestarRacional);
  90. RestarRacional^.denominador := denominador(r) * denominador(s);
  91. RestarRacional^.numerador := denominador(RestarRacional) div denominador(r) * numerador(r) - denominador(RestarRacional) div denominador(s) * numerador(s);
  92. RestarRacional := SimplificarRacional(RestarRacional);
  93. end;
  94.  
  95. function MultiplicarRacional(r,s:tPRacional):tPRacional;
  96. begin
  97. new(MultiplicarRacional);
  98. MultiplicarRacional^.numerador := numerador(r) * numerador(s);
  99. MultiplicarRacional^.denominador := denominador(r) * denominador(s);
  100. MultiplicarRacional := SimplificarRacional(MultiplicarRacional);
  101. end;
  102.  
  103. function DividirRacional(r,s:tPRacional):tPRacional;
  104. begin
  105. new(DividirRacional);
  106. DividirRacional^.numerador := numerador(r) * denominador(s);
  107. DividirRacional^.denominador := denominador(r) * numerador(s);
  108. DividirRacional := SimplificarRacional(DividirRacional);
  109. end;
  110.  
  111. function mcd(a,b:integer):integer;
  112. var t:integer;
  113. begin
  114. a:=abs(a);
  115. b:=abs(b);
  116. t:=min(a,b);
  117. while (t>1) and (((b mod t) <> 0) or ((a mod t) <> 0)) do begin
  118. t:=t-1;
  119. end;
  120. mcd := t;
  121. end;
  122.  
  123. begin
  124.  
  125. end.
  126.  
127  Programación / Scripting / Re: [Python] Problema con "lista" y "while" en python en: 27 Mayo 2012, 11:42 am
También puedes diseñar un include de operaciones para manejar esta lista estática específica.
128  Programación / Scripting / Re: [Reto Batch] cifrado caesar en: 24 Mayo 2012, 01:59 am
Sí, el código se puede optimizar xD pero no sé por qué tuve muchos problemas por los argumentos y bueno ahora es lo que es pero al menos funciona correctamente.

¡Saludos!

Código:
:: CIFRADO CAESAR - BATCHIANO :)
@echo off
setlocal enabledelayedexpansion
set "CHARS= abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
:MAIN
cls
echo.
echo CIFRADO CAESAR - BATCHIANO :)
echo.
echo. 1. cifrar
echo. 2. descifrar
echo. 3. salir
echo.
set /p op=Opcion:
if not defined op (
goto :main
) else (
if !op!==1 (
goto :cifrar
) else if !op!==2 (
goto :descifrar
) else (
exit/b
)
)
:cifrar
cls
set /p desp=Desplazamiento lateral:
set /p texto=Texto a cifrar:
for %%? in (desp,texto) do if not defined %%? goto :cifrar
call :analizar "e" "!texto!" !desp!
echo -------------------
echo. Texto cifrado: !cad!
pause>nul
goto :eof

:descifrar
cls
echo El formato para descifrar es [desplazamiento]texto - Ejemplo: 2razqnq
set /p texto=Texto a descifrar:
if not defined texto goto :descifrar
call :analizar "d" "!texto!"
echo -------------------
echo. Texto descifrado: !cad!
pause>nul
goto :eof

:analizar
set t=%~2
set TYPE=%~1
if "!TYPE!"=="e" (
set /a d=%3
set cad=!d!
set /a i=0
) else (
set /a i=1
set "cad="
set shift=!t:~0,1!
)
::while
:while
if "!t:~%i%,1!" NEQ "" (
call :find_char "!t:~%i%,1!" "!CHARS!"
call :class !return!
if "!TYPE!"=="e" (
set /a rd=!return!+!d!
) else (
set /a rd=!return!-!shift!
)
if "!CLASS!"=="NONE" (
set "cad=!cad!!t:~%i%,1!"
) else (
if "!CLASS!"=="SPACE" (
set "cad=!cad! "
) else (
if "!TYPE!"=="e" (
call :resize_enc !rd!
) else (
call :resize_dec !rd!
)
call :select_char "!CHARS!" !rd!
set "cad=!cad!!sc!"
)
)
set /a i+=1
goto :while)
goto :eof


:find_char
set C=%~1
set L=%~2
set /a pos=0
:loop
if "!C!" NEQ "!L:~%pos%,1!" (
set /a pos+=1
if !pos! LSS 64 (goto :loop)
)
set /a return=%pos%
goto :eof


:select_char
set lc=%~1
set key=%2
set sc=!lc:~%key%,1!
goto :eof


:class
if %1 == 0 (
set CLASS=SPACE
) else if %1 GTR 0 (
if %1 LSS 27 (
set CLASS=MIN
) else if %1 LSS 53 (
set CLASS=MAY
) else if %1 LSS 63 (
set CLASS=NUM
) else (
set CLASS=NONE
)
)
goto :eof


:resize_enc
if "!CLASS!"=="MIN" (
if !rd! gtr 26 (
set /a rd-=26
)
)
if "!CLASS!"=="MAY" (
if !rd! gtr 52 (
set /a rd-=26
)
)
if "!CLASS!"=="NUM" (
if !rd! gtr 62 (
set /a rd-=10
)
)
goto :eof

:resize_dec
if "!CLASS!"=="MIN" (
if !rd! lss 1 (
set /a rd+=26
)
)
if "!CLASS!"=="MAY" (
if !rd! lss 26 (
set /a rd+=26
)
)
if "!CLASS!"=="NUM" (
if !rd! lss 52 (
set /a rd+=10
)
)
goto :eof
129  Seguridad Informática / Criptografía / Re: [AYUDA] descifrar RSA en vbs. en: 21 Mayo 2012, 16:53 pm
http://www.2shared.com/document/LREIj_kY/tema1.html

Apartado 1.8.2

¡Suerte!
130  Programación / Scripting / Re: [AYUDA] descifrar RSA en vbs. en: 21 Mayo 2012, 15:33 pm
http://www.2shared.com/document/LREIj_kY/tema1.html

Apartado 1.8.2

¡Suerte!
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines