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 ... 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [28] 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
271  Foros Generales / Foro Libre / Re: El PP, en pedazos. en: 19 Febrero 2022, 09:45 am
Es que són así, la que lían porque uno no sabe votar. Qué quieren reprentar si ni saben darle a un botón pero sí la culpa a cualquier cosa menos a que no saben. Imagínense un desastre en sus manos: Pero si yo no he sido!! empezarían
272  Programación / Scripting / [BATCH] Mover el cursor a cualquier posición sólo con ECHO en: 19 Febrero 2022, 09:36 am
de esas cosas muy interesantes (fuente)

Este tema se basa en un comportamiento extraño (lo llamaría un error) que ocurre cuando TAB (ASCII char 9) se combina con BS (ASCII char 8) en los comandos ECHO o SET /P.

Cuando se muestra un carácter TAB en la pantalla, el controlador de pantalla de Windows lo traduce a una serie de espacios en blanco (generalmente 8 ), por lo que en este caso el TAB es destructivo: cualquier texto que se muestra previamente en la pantalla se sobrescribe con los espacios cuando se muestra TAB.

El número de espacios varía según la posición del cursor cuando se muestra el TAB, por lo que la posición final del cursor después de los espacios siempre es múltiplo de 8. Por ejemplo, si el cursor está en la primera columna de una línea, se muestra un TAB como 8 espacios, pero si el cursor está en la columna 1, el TAB se muestra como 7 espacios, etc.

Un comportamiento que puede parecer lógico en un principio es que un carácter de BS que se muestra después del TAB mueve el cursor hacia atrás la misma cantidad de espacios que muestra el TAB, es decir, la BS elimina la acción del TAB. Lo que en mi humilde opinión es un error es que otra BS que se muestra después de la primera también mueve el cursor hacia atrás la misma cantidad de espacios y, si el cursor alcanza el margen izquierdo de la pantalla, el cursor se desplaza hasta el final de la línea de pantalla anterior. !

Por ejemplo, si el cursor está en la primera columna de una línea, una secuencia de caracteres <TAB><BS><BS> mueve el cursor una línea arriba y 7 columnas a la izquierda del margen derecho de la pantalla. Si la pantalla tiene 80 caracteres de ancho, cada grupo adicional de 10 caracteres BS mueve el cursor una línea más. Después de eso, cada carácter BS adicional mueve el cursor 8 caracteres más a la izquierda en la misma línea. Finalmente, si se muestra otro carácter estándar único, los siguientes caracteres BS moverán el cursor solo un carácter a la izquierda.

De esta manera, el cursor se puede colocar en cualquier línea y columna anterior en la pantalla simplemente calculando el número adecuado de caracteres BS para mostrar después de una TAB y después de un carácter estándar adicional. Si la posición deseada está por debajo de la posición actual del cursor, primero coloque el cursor en la parte inferior de la pantalla a través de varios comandos ECHO/, y luego mueva el cursor hacia arriba y hacia la izquierda hasta la ubicación deseada con este método.

El archivo por lotes a continuación es un ejemplo del procedimiento anterior. El cálculo de la cantidad de caracteres BS y el comando ECHO es realmente simple y se puede agregar a cualquier programa de una manera muy simple, pero este programa es grande y complejo porque muestra una pantalla llena de coordenadas y permite ingresar la posición. de varias marcas, que se mostrarán en la pantalla en las posiciones adecuadas.


Código
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3.  
  4. echo Enter coordinates in line,col order to move the cursor and show a mark
  5. echo The valid ranges are:   0 ^<= line ^<= 30   and   0 ^<= column ^<= 71;
  6. echo if a value is out of range, the bell will ring.
  7.  
  8. rem Get a BEL, BS and a TAB characters
  9. set "BEL="
  10. for /F %%a in ('echo prompt $H ^| cmd') do set "BS=%%a"
  11. set "TAB="
  12. rem First, try the method for Windows XP
  13. for /F "skip=4 delims=pR tokens=2" %%a in ('reg query hkcu\environment /v temp' ) do set "TAB=%%a"
  14. rem Then, the method for newer versions
  15. rem http://www.dostips.com/forum/viewtopic.php?f=3&t=1733&p=6840#p6853
  16. for /F "tokens=2 delims=0" %%a in ('shutdown /? ^| findstr /BC:E') do if not defined TAB set "TAB=%%a"
  17.  
  18. rem Get a string with 162 BS characters, the maximum used in this program
  19. set "BSs="
  20. for /L %%i in (1,1,162) do set "BSs=!BSs!!BS!"
  21.  
  22. mode 80,32
  23. set "line1="
  24. for /L %%i in (1,1,8) do set "line1=!line1!0123456789"
  25. set "line2="
  26. for /L %%i in (1,1,8) do set "line2=!line2!^!l^!         "
  27. set "line2=!line2:~0,-1!^!l^!"
  28. set "line3="
  29. for /L %%i in (1,1,8) do set "line3=!line3!^!l^! 2 4 6 8 "
  30. set "line3=!line3:~0,-1!^!l^!"
  31. set "twoORthree=23"
  32. < NUL (
  33.   for /L %%a in (1,1,3) do (
  34.      set /P "=%line1%" & set "l=1"
  35.      set /P "=%line2%" & set /A "l+=1"
  36.      for /L %%b in (1,1,4) do (
  37.         if %%a neq 2 (
  38.            set /P "=%line3%"
  39.         ) else if "!twoORthree:%% style="color: #448888;">b=!" equ "%twoORthree%" (
  40.            set /P "=%line3%"
  41.         ) else (
  42.            echo           %line3:~0,-15%
  43.         )
  44.         set /A "l+=1"
  45.         set /P "=%line2%" & set /A "l+=1"
  46.      )
  47.   )
  48.   set /P "=%line1:~0,-1%"
  49. )
  50.  
  51. rem Initialize cursor position at middle of screen, to read input there
  52. echo 9%TAB%!BSs!
  53. set "currLine=16"
  54.  
  55. set "letters=_ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  56. set "num=1"
  57.  
  58. :loop
  59. set "position="
  60. set /P "position=Enter line,col for mark !letters:~% style="color: #448888;">num%,1!:      !BSs:~0,5!"
  61. if not defined position goto end
  62.  
  63. for /F "tokens=1,2 delims=, " %%x in ("%position%") do set /A y=%%x, x=%%y, error=1
  64. if 0 leq %y% if %y% leq 30  if 0 leq %x% if %x% leq 71  set "error="
  65. if defined error (
  66.   echo %TAB%!BSs:~0,12!!BEL!
  67.   goto loop
  68. )
  69.  
  70. if %y% leq %currLine% (
  71.  
  72.    rem New position above: move cursor up and show point
  73.   call :MoveCursorupAndShow "(currLine-y-1)" x "!letters:~% style="color: #448888;">num%,1!(% style="color: #448888;">y%,%x%)"
  74.  
  75.    rem And move cursor down, back to original input line
  76.   set /A down=currLine-y-2, cntBSup+=10
  77.   for /L %%i in (1,1,!down!) do echo/
  78.   if !down! lss 0 for /F %%i in ("!cntBSup!") do echo %TAB%!BSs:~0,%% style="color: #448888;">i!
  79.  
  80. ) else (
  81.  
  82.    rem New position below: first, move cursor to last line
  83.   for /L %%i in (1,1,15) do echo/
  84.   rem Then, move cursor up and show point
  85.   call :MoveCursorupAndShow "(30-y)" x "!letters:~% style="color: #448888;">num%,1!(% style="color: #448888;">y%,%x%)"
  86.  
  87.    rem And move cursor up, back to original input line, using the same method
  88.   set /A down=30-y
  89.   for /L %%i in (1,1,!down!) do echo/
  90.   echo %TAB%!BSs!
  91.  
  92. )
  93.  
  94. set /A num+=1
  95. if %num% leq 26 goto loop
  96. :end
  97. cls
  98. goto :EOF
  99.  
  100.  
  101.  
  102. :MoveCursorupAndShow  Linesup  Column  "Text"
  103. set /A "cntBSup = 2 + 10 * %~1 + (9-(%2+6)/8), cntBSleft = 8-(%2+6)%%8"
  104. set "BSsLeft="
  105. if %cntBSleft% gtr 0 set "BSsLeft=_!BSs:~0,% style="color: #448888;">cntBSleft%!"
  106. echo %TAB%!BSs:~0,% style="color: #448888;">cntBSup%!!BSsLeft!% style="color: #448888;">~3
  107. exit /B

La siguiente imagen es un ejemplo de salida del código anterior después de que se mostraran 8 marcas en varias posiciones.



por @Antonio en dostips
273  Foros Generales / Foro Libre / Re: ¿Qué piensas de EEUU regalando millones de dinero en armas? en: 19 Febrero 2022, 05:51 am
Pregúntale a los franceses que se les ha quemado una fábrica de moneda, seguro que si a mí se me queman billetes no es lo mismo.
274  Sistemas Operativos / Windows / Re: Tecla de Atajo o Rapida para el Navegador en: 18 Febrero 2022, 16:49 pm
No te queda más remedio. Puedes tener tu pequeña herramienta que te cree el enlace simbólico con el navegador por defecto del sistema y le asigne las teclas. En el API de win tienen ishelllink con el que puedes crear los atajos.

https://docs.microsoft.com/es-es/windows/win32/api/shobjidl_core/nf-shobjidl_core-ishelllinka-sethotkey
275  Seguridad Informática / Hacking / Re: Como se si soy un hacker? en: 18 Febrero 2022, 15:14 pm
https://warzone.elhacker.net/
276  Sistemas Operativos / Windows / Re: Tecla de Atajo o Rapida para el Navegador en: 18 Febrero 2022, 14:28 pm
Una forma de conseguirlo es con las propiedades de un acceso directo de escritorio



programando, desde shell si le das a un open (default del sistema) sobre por ejemplo
Código:
start "" https://foro.elhacker.net
te abre el navegador por defecto

el acceso directo también se puede crear programando, si se hace correctamente no tendría que fallar, se debe escribir en algún/os lugar del registro.
277  Comunicaciones / Hacking Mobile / Re: Tengo el móvil Hackeado en: 18 Febrero 2022, 10:02 am
Flashealo con una firmware original.
278  Seguridad Informática / Hacking / Re: Borrar cuenta icloud de un iPhone en: 18 Febrero 2022, 06:41 am
ves a appleid.apple.com y resetea tu contraseña

sin tener ningún dato ?

tienes tu número de teléfono.
279  Sistemas Operativos / Windows / Re: Tecla de Atajo o Rapida para el Navegador en: 18 Febrero 2022, 03:00 am
No aparece ninguna opción, si del explorador de archivos y otras muchas pero el navegador no  :-(

Métodos abreviados de teclado de Windows (todos)
280  Programación / Programación C/C++ / Re: Duda con expresion en: 17 Febrero 2022, 14:29 pm
mod quiero decir modulo % el resto de la división.

En math.h tienes round
Páginas: 1 ... 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [28] 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines