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

á

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Temas
Páginas: [1] 2
1  Programaciˇn / Scripting / [BATCH] Evitar Bucle durante Redireccionamiento Fallido en: 10 Marzo 2012, 03:32 am
Saludos gente, en un script quiero enviar un fichero de texto plano al puerto COM1, pero al estar inhabilitado el programa sˇlo repite como loro:

"El sistema no puede escribir en el dispositivo especificado."

Ya sÚ que es lˇgico que falle si el puerto no tiene conexiˇn, pero lo que quiero es que si falla me devuelva un cˇdigo de error a los "X" intentos fallidos.

Lo que hice fue:

Código
  1. [...]
  2. TYPE %FILE%.TXT > COM1 && Exit /B 0 || TYPE %FILE%.TXT > COM2 && Exit /B 0
  3. [...]

SÚ que la sintaxis estß bien porque si cambio los comandos intenta ejecutar la primer instrucciˇn, si es exitosa ejecuta la segunda, si falla en cualquiera de ellas pasa al OR ("||") intenta con la tercer instrucciˇn y si es exitosa ejecuta la cuarta.

EDITO: Agrego que intentÚ con "if %errorlevel% NEQ 0" y tampoco funcionˇ :/

Otra cosa que vÝ hace mucho tiempo era la de redirigir la salida de los errores a otro destino, si no me equivoco era:

Código
  1. COOMANDO | FILTRO >nul 2>&1

Si bien sÚ que es para que no se vean los cˇdigos de error no entiendo que es "2" y "&1", si me pueden decir bajo que palabras clave buscar mßs informaciˇn sobre el tema se los voy a agradecer.

Saludos y desde ya, muchas gracias.

EDITO 2:

Bueno, intentÚ modificar un poco la lÝnea y la sintaxis es correcta sin lugar a dudas, lo que falla es la conexiˇn con el puerto COM ya que la siguiente lÝnea:

Código
  1. TYPE *.TXT > TEST.TXT && Exit /B 0 || TYPE *.TXT > CON && Exit /B 0

Funciona perfectamente... y si trato de escribir sobre "COM" obtengo el mismo resultado que si quisiese redirigir a "NULL"  :ČČ

En fin lo que quiero evitar es que se repita el mensaje advirtiendo de la falla, saludos y gracias por leer!
2  Programaciˇn / Programaciˇn C/C++ / Error al definir array char en DEV-CPP en: 25 Febrero 2012, 05:14 am
Saludos gente, como andan, perdˇn por no pasar pero estoy muy ocupado, es mßs casi ni he programado ˙ltimamente, y al volver me encontrÚ con una laguna:

┐Cˇmo hago para pasar el valor de un argumento pasado al programa a un array char (string)?

Utilizo el compilador DEV-CPP 4.9.9.2 (Me vÝ obligado a hacerlo :'()

No recuerdo si era con un puntero o como era, era algo parecido a pasar un pointer a un valor de una estructura (creo).

Dejo el source, no hay apuro puesto que sˇlo es algo que se me dÝo por hacer, pero no me acuerdo :$

Código
  1. #include <cstdlib>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. void Cls();
  7.  
  8. int main(int argc, char *argv[])
  9. {
  10.  
  11.    int i, size;
  12.  
  13.    size = ((sizeof argv[1]) - 1);
  14.  
  15.    char current[size] = argv[1];
  16.  
  17.    i = 0;
  18.    // Animaciˇn del texto...
  19.    loop:
  20.    Cls(); // Para no utilizar system("Cls");
  21.    current[size] = current [0];
  22.    for ( i = 0; i < size; i++ )
  23.                               {
  24.                               cout << current[i];
  25.                               if (i != size)
  26.                                            { current[i]= current[i+1]; }
  27.                               }
  28.  
  29.    goto loop;
  30.  
  31. return 0; // En realidad nunca termina (por ahora)
  32. }
  33.  
  34. void Cls()
  35.  
  36. {
  37.     int i;
  38.     i = 0;
  39.     for ( i = 0; i < 2000; i++ )
  40.                                {cout << " ";}
  41. }
  42.  

Desde ya gracias y saludos a todos!

PD: Si saben de alguna alternativa mßs veloz y portable a mi void Cls(); les estarÚ doblemente agradecido, como siempre las crÝticas son bienvenidas, bytes!
3  Programaciˇn / Programaciˇn C/C++ / Consulta [C++] en: 29 Marzo 2011, 13:43 pm
Buenas, lamento molestar por esta peque˝ez, pero es que no como buscarla en internet, creo que es un tipo de abstracciˇn de datos, pero al buscarlo de dicha manera me salen las formas de armar estructuras, y por ahora estoy con lo bßsico.

Lo que yo deseo es tomar "x" caracteres de una variable, en este caso los dos primeros, pero la variable es de tipo int, no char y querÝa saber si se puede hacer de otra manera que no sea mediante un array en char.

Por si no se me entiende lo dejo en Batch

Código
  1. @REM Esto es lo que quisiera hacer en C/C++...
  2. @Echo Off
  3. Setlocal EnableExtensions EnableDelayedExpansion
  4. Color 0A
  5. :: Declaracion de Variables
  6. Set "var="
  7. Set "deseado="
  8. Echo.
  9. Set /P "var=Por favor ingrese un numero entero: "
  10. Set "deseado=!var:~0,2!
  11. Echo. Presione [Cualquier Tecla] para Salir...
  12. Pause >nul
  13. Exit /B %errorlevel%
  14.  

De nuevo disculpen las molestias y Desde Ya muchas Gracias.
4  Programaciˇn / ASM / Debugger del prompt de Windows 7 64 bits en: 23 Octubre 2010, 00:13 am
Buenas, lamento molestaros con algo tan simple, pero me topÚ con que no aparece el debug en la shell de windows 7 y no se como utilizarlo.

NotÚ que mediante los parÚntesis a˙n se puede introducir el cˇdigo, pero no me toma el filtro "debug".

┐Me podrÝan decir como puedo habilitarlo?, o si tan solo cambiˇ de nombre.

Desde ya, muchas gracias, y perdˇn por las molestias.

Atte.- DA KILLER
5  Programaciˇn / Scripting / [BATCH] (JUEGO TA-TE-TI) en: 6 Septiembre 2010, 17:56 pm
JUEGO  " TA - TE - TI "

Bueno, primero agradecerle a 3D1 por compartir su script "mous" (http://foro.elhacker.net/scripting/manual_usar_mouse_en_batch-t260579.0.html) , ya que el juego se basa casi Ýntegramente en Úl.

Creo que el nombre lo dice todo, en fin, para los que no lo conocen es un juego en el cual gana el primer jugador en marcar una lÝnea de 3 sÝmbolos iguales, ya haya elegido "X" o "O", ya sea en forma vertical, horizontal o en diagonal.

Si quedan dudas, el cˇdigo, al menos para mÝ, lo dice todo, pero ante cualquier duda me consultan.

Hay que pulir algunos detalles, sobretodo con la IA tan rudimentaria que se basa en la respuesta al ˙ltimo movimiento. Quiero aclarar que cuando hice esa parte del script pensÚ que no se podÝa anidar en batch.

        ERRORES :

  • El juego suele hacer trampas, como por ejemplo jugar dos veces o no terminar la partida
  • El "randomizer" es MUY MALO, lo reconozco, pero estoy buscando el randomizer de mi tetris xD

Lo hice esta misma ma˝ana en el colegio, con el fin de demostrar los usos del debug en batch y particularmente del valor de poder utilizar el mouse, asÝ que espero me puedan decir que aspectos hay que mejorar y como.

Bueno, como siempre, espero que les guste y espero sus crÝticas.

Código:
@Echo off
@title TA - TE - TI by .: THE KILLER :.
@color 0A
SETLOCAL ENABLEDELAYEDEXPANSION

::############################################################################################################
::# JUEGO REALIZADO CON PROPËSITOS EDUCATIVOS A FIN DE ILUSTRAR LAS POSIBILIDADES DEL SCRIPT DE EDDY         #
::# ES COMPLETAMENTE FREEWARE SIEMPRE Y CUANDO RESPETEN LOS DERECHOS DE EDDY, ASI COMO MIS MENORES EDICIONES #
::############################################################################################################

(
echo e100 B8 1 0'3'DB CD'3'B0 3'C'CD'3'B DB't'FA 91 D3 EA D3 E8 91 C3
echo g116
echo q
)>Zmouse.txt

set "orig="

cls
Echo.
Echo. ██████████████████████████████████████████████████████████████████████████████
Echo. ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██
Echo. ██▒▒                                                                      ▒▒██
Echo. ██▒▒               █████  █████  █████  █████  █████  █████               ▒▒██
Echo. ██▒▒               █      █      █      █   █  █      █                   ▒▒██
Echo. ██▒▒               ███    █████  █      █   █  █  ██  ███                 ▒▒██
Echo. ██▒▒               █          █  █      █   █  █   █  █                   ▒▒██
Echo. ██▒▒               █████  █████  █████  █████  █████  █████               ▒▒██
Echo. ██▒▒                                                                      ▒▒██
Echo. ██▒▒                                                                      ▒▒██
Echo. ██▒▒             ┌--------------┐            ┌--------------┐             ▒▒██
Echo. ██▒▒             ^|   \      /   ^|            ^|   ┌──────┐   ^|             ▒▒██
Echo. ██▒▒             ^|    \    /    ^|            ^|   │      │   ^|             ▒▒██
Echo. ██▒▒             ^|     \  /     ^|            ^|   │      │   ^|             ▒▒██
Echo. ██▒▒             ^|      \/      ^|            ^|   │      │   ^|             ▒▒██
Echo. ██▒▒             ^|      /\      ^|            ^|   │      │   ^|             ▒▒██
Echo. ██▒▒             ^|     /  \     ^|            ^|   │      │   ^|             ▒▒██
Echo. ██▒▒             ^|    /    \    ^|            ^|   │      │   ^|             ▒▒██
Echo. ██▒▒             ^|   /      \   ^|            ^|   └──────┘   ^|             ▒▒██
Echo. ██▒▒             └--------------┘            └--------------┘             ▒▒██
Echo. ██▒▒                                                                      ▒▒██
Echo. ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██
Echo. ██████████████████████████████████████████████████████████████████████████████

:bucle
if defined orig (goto:clear)
Del /Q /A ZDats>nul 2>&1
Debug< Zmouse.txt |Find /i "x">ZDats

Call:x
call:y
Call:Back

Call:mous "0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F 0020 0021" "%CX%" "000B 000C 000D 000E 000F 0010 0011 0012 0013 0014" "%DX%"
If %state% EQU OK (goto:OPTION_A)

Call:mous "002E 002F 0030 0031 0032 0033 0034 0035 0036 0037 0038 003A 003B 003C 003D" "%CX%" "000B 000C 000D 000E 000F 0010 0011 0012 0013 0014" "%DX%"
If %state% EQU OK (goto:OPTION_B)

Set /p= X:%CX% ::: Y:%DX%

Goto:bucle
 

:OPTION_A
Set "orig=X"
Goto:bucle

:OPTION_B
set "orig=O"
Goto:bucle


:: -- VARIABLES --
set "chc=!orig!"

:clear

set "comb=0"
set "chc=!orig!"
set "color=0A"
set "lstmv=PC"

set "1=False"
set "2=False"
set "3=False"
set "4=False"
set "5=False"
set "6=False"
set "7=False"
set "9=False"

set "1C=Empty"
set "2C=Empty"
set "3C=Empty"
set "4C=Empty"
set "5C=Empty"
set "6C=Empty"
set "7C=Empty"
set "8C=Empty"
set "9C=Empty"

set "1P="
set "2P="
set "3P="
set "4P="
set "5P="
set "6P="
set "7P="
set "8P="
set "9P="

cls

Echo.
Echo. ██████████████████████████████████████████████████████████████████████████████
Echo. ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██
Echo. ██▒▒                                               ╔════════════════════╗ ▒▒██
Echo. ██▒▒   █████ █████                       ┌───────┐ ║     ┌┐            ║ ▒▒██
Echo. ██▒▒     █   █   █                       │ SALIR │ ║      │ ABLERO      ║ ▒▒██
Echo. ██▒▒     █   █████                       └───────┘ ╠══════╦══════╦══════╣ ▒▒██
Echo. ██▒▒     █   █   █                                 ║      ║      ║      ║ ▒▒██
Echo. ██▒▒     █   █   █                                 ║      ║      ║      ║ ▒▒██
Echo. ██▒▒                                               ║      ║      ║      ║ ▒▒██
Echo. ██▒▒                █████ █████                    ║      ║      ║      ║ ▒▒██
Echo. ██▒▒                  █   █                        ╠══════╬══════╬══════╣ ▒▒██
Echo. ██▒▒                  █   ███                      ║      ║      ║      ║ ▒▒██
Echo. ██▒▒                  █   █                        ║      ║      ║      ║ ▒▒██
Echo. ██▒▒                  █   █████                    ║      ║      ║      ║ ▒▒██
Echo. ██▒▒                                               ║      ║      ║      ║ ▒▒██
Echo. ██▒▒                             █████ █████       ╠══════╬══════╬══════╣ ▒▒██
Echo. ██▒▒                               █     █         ║      ║      ║      ║ ▒▒██
Echo. ██▒▒                               █     █         ║      ║      ║      ║ ▒▒██
Echo. ██▒▒ ┌───────────┐                 █     █         ║      ║      ║      ║ ▒▒██
Echo. ██▒▒ │ REINICIAR │                 █   █████       ║      ║      ║      ║ ▒▒██
Echo. ██▒▒ └───────────┘                                 ╚══════╩══════╩══════╝ ▒▒██
Echo. ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██
Echo. ██████████████████████████████████████████████████████████████████████████████

:LOOP

set "chc=!orig!"
set "color=0A"

Del /Q /A ZDats>nul 2>&1
Debug< Zmouse.txt |Find /i "x">ZDats

Call:x
call:y
Call:Back

if "!lstmv!" NEQ "PC" (Call:ANS)

Call:mous "0006 0007 0008 0009 000A 000B 000C 000D 000E 000F 0010 0011 0012" "%CX%" "0013 0014 0015" "%DX%"
If %state% EQU OK (goto:clear)

Call:mous "0035 0036 0037 0038 0039 003A" "%CX%" "0006 0007 0008 0009 000A" "%DX%"
If %state% EQU OK (set "lstmv=1"&&set "1=True"&&Call:1)

Call:mous "003C 003D 003E 003F 0040 0041" "%CX%" "0006 0007 0008 0009 000A" "%DX%"
If %state% EQU OK (set "lstmv=2"&&set "2=True"&&Call:2)

Call:mous "0043 0044 0045 0046 0047 0048" "%CX%" "0006 0007 0008 0009 000A" "%DX%"
If %state% EQU OK (set "lstmv=3"&&set "3=True"&&Call:3)

Call:mous "0035 0036 0037 0038 0039 003A" "%CX%" "000C 000D 000E 000F 0010" "%DX%"
If %state% EQU OK (set "lstmv=4"&&set "4=True"&&Call:4)

Call:mous "003C 003D 003E 003F 0040 0041" "%CX%" "000C 000D 000E 000F 0010" "%DX%"
If %state% EQU OK (set "lstmv=5"&&set "5=True"&&Call:5)

Call:mous "0043 0044 0045 0046 0047 0048" "%CX%" "000C 000D 000E 000F 0010" "%DX%"
If %state% EQU OK (set "lstmv=6"&&set "6=True"&&Call:6)

Call:mous "0035 0036 0037 0038 0039 003A" "%CX%" "0011 0012 0013 0014 0015" "%DX%"
If %state% EQU OK (set "lstmv=7"&&set "7=True"&&Call:7)

Call:mous "003C 003D 003E 003F 0040 0041" "%CX%" "0011 0012 0013 0014 0015" "%DX%"
If %state% EQU OK (set "lstmv=8"&&set "8=True"&&Call:8)

Call:mous "0043 0044 0045 0046 0047 0048" "%CX%" "0011 0012 0013 0014 0015" "%DX%"
If %state% EQU OK (set "lstmv=9"&&set "9=True"&&Call:9)

Call:mous "002A 002B 002C 002D 002E 002F 0030 0031 0032" "%CX%" "0004 0005 0006" "%DX%"
If %state% EQU OK (Goto:OUT)

Call:GAME

GOTO:LOOP

:X
Set /p LineCode=<ZDats
for /f "Tokens=3" %%_ in ('Type ZDats') do (
Set %%_
Goto:eof
)
 
:Y
Set /p LineCode=<ZDats
for /f "Tokens=4" %%_ in ('Type ZDats') do (
Set %%_
Goto:eof
)
 
:Back
for /f "tokens=*" %%a in ('ipconfig') do (
Set /p=%%a<nul
Goto :eof
)
 
:mous
Set DMous=%2
Set DMous=!DMous!%4
for %%m in (%~1) do (
for %%n in (%~3) do (
if !DMous! EQU "%%m""%%n" (
Set state=OK
Set CX=0000
Set DX=0000
Goto:eof
) ELSE (
Set state=NO
)
)
)
Goto:eof

:: -- GAME DATA --

:GAME

if defined 1P ( if defined 2P ( if defined 3P (if "!1P!"=="!2P!" ( if "!2P!"=="!3P!" (set "comb=1"&&Goto:Win)))))
if defined 1P ( if defined 4P ( if defined 7P (if "!1P!"=="!4P!" ( if "!4P!"=="!7P!" (set "comb=2"&&Goto:Win)))))
if defined 1P ( if defined 5P ( if defined 9P (if "!1P!"=="!5P!" ( if "!5P!"=="!9P!" (set "comb=3"&&Goto:Win)))))
if defined 2P ( if defined 5P ( if defined 8P (if "!2P!"=="!5P!" ( if "!5P!"=="!8P!" (set "comb=4"&&Goto:Win)))))
if defined 4P ( if defined 5P ( if defined 6P (if "!4P!"=="!5P!" ( if "!5P!"=="!6P!" (set "comb=5"&&Goto:Win)))))
if defined 3P ( if defined 5P ( if defined 7P (if "!3P!"=="!5P!" ( if "!5P!"=="!7P!" (set "comb=6"&&Goto:Win)))))
if defined 3P ( if defined 6P ( if defined 9P (if "!3P!"=="!6P!" ( if "!6P!"=="!9P!" (set "comb=7"&&Goto:Win)))))
if defined 7P ( if defined 8P ( if defined 9P (if "!7P!"=="!8P!" ( if "!8P!"=="!9P!" (set "comb=8"&&Goto:Win)))))

Goto:EOF

:Win

if "!comb!"=="0" (Goto:EOF)

if "!comb!"=="1" ( (
Echo. EB800:56A "─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E
Echo. Q
)|debug>nul )

if "!comb!"=="2" ( (
Echo. EB800:4D0 "│"0E
Echo. EB800:570 "│"0E
Echo. EB800:610 "│"0E
Echo. EB800:6B0 "│"0E
Echo. EB800:750 "│"0E
Echo. EB800:7F0 "│"0E
Echo. EB800:890 "│"0E
Echo. EB800:930 "│"0E
Echo. EB800:9D0 "│"0E
Echo. EB800:A70 "│"0E
Echo. EB800:B10 "│"0E
Echo. EB800:BB0 "│"0E
Echo. EB800:C50 "│"0E
Echo. EB800:CF0 "│"0E
Echo. Q
)|debug>nul )

if "!comb!"=="3" ( (
Echo. EB800:4D0 "\"0E
Echo. EB800:572 "\"0E
Echo. EB800:614 "\"0E
Echo. EB800:6B6 "\"0E
Echo. EB800:758 "\"0E
Echo. EB800:7FA "\"0E
Echo. EB800:89C "\"0E
Echo. EB800:93E "\"0E
Echo. EB800:9E0 "\"0E
Echo. EB800:A82 "\"0E
Echo. EB800:B24 "\"0E
Echo. EB800:BC6 "\"0E
Echo. EB800:C68 "\"0E
Echo. EB800:D0A "\"0E
Echo. Q
)|debug>nul )

if "!comb!"=="4" ( (
Echo. EB800:4DE "│"0E
Echo. EB800:57E "│"0E
Echo. EB800:61E "│"0E
Echo. EB800:6BE "│"0E
Echo. EB800:75E "│"0E
Echo. EB800:7FE "│"0E
Echo. EB800:89E "│"0E
Echo. EB800:93E "│"0E
Echo. EB800:9DE "│"0E
Echo. EB800:A7E "│"0E
Echo. EB800:B1E "│"0E
Echo. EB800:BBE "│"0E
Echo. EB800:C5E "│"0E
Echo. EB800:CFE "│"0E
Echo. Q
)|debug>nul )

if "!comb!"=="5" ( (
Echo. EB800:88A "─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E
Echo. EB800:8A4 "─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E
Echo.Q
)|debug>nul )

if "!comb!"=="6" ( (
Echo. EB800:4EC "/"0E
Echo. EB800:58A "/"0E
Echo. EB800:628 "/"0E
Echo. EB800:6C6 "/"0E
Echo. EB800:764 "/"0E
Echo. EB800:802 "/"0E
Echo. EB800:8A0 "/"0E
Echo. EB800:93E "/"0E
Echo. EB800:9DC "/"0E
Echo. EB800:A7A "/"0E
Echo. EB800:B18 "/"0E
Echo. EB800:BB6 "/"0E
Echo. EB800:C54 "/"0E
Echo. EB800:CF2 "/"0E
Echo. Q
)|debug>nul )

if "!comb!"=="7" ( (
Echo. EB800:4EC "│"0E
Echo. EB800:58C "│"0E
Echo. EB800:62C "│"0E
Echo. EB800:6CC "│"0E
Echo. EB800:76C "│"0E
Echo. EB800:80C "│"0E
Echo. EB800:8AC "│"0E
Echo. EB800:94C "│"0E
Echo. EB800:9EC "│"0E
Echo. EB800:A8C "│"0E
Echo. EB800:B2C "│"0E
Echo. EB800:BCC "│"0E
Echo. EB800:C6C "│"0E
Echo. EB800:D0C "│"0E
Echo. Q
)|debug>nul )
if "!comb!"=="8" ( (
Echo. EB800:BAA "─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E"─"0E
Echo.Q
)|debug>nul )

Goto:EOF

:ANS

if "!chc!"=="X" (set "chc=O") else (set "chc=X")

if "!lstmv!"=="0" (goto:eof)
if "!lstmv!"=="PC" (goto:eof)
set "lstmv=PC"
if "!lstmv!"=="1" (goto:ans1)
if "!lstmv!"=="2" (goto:ans2)
if "!lstmv!"=="3" (goto:ans3)
if "!lstmv!"=="4" (goto:ans4)
if "!lstmv!"=="5" (goto:ans5)
if "!lstmv!"=="6" (goto:ans6)
if "!lstmv!"=="7" (goto:ans7)
if "!lstmv!"=="8" (goto:ans8)
if "!lstmv!"=="9" (goto:ans9)


:ans1
set "color=0B"
if "!3!"=="True" (set "lstmv=PC"&&Call:2)
if "!2!"=="True" (set "lstmv=PC"&&Call:3)
if "!4!"=="True" (set "lstmv=PC"&&Call:7)
if "!7!"=="True" (set "lstmv=PC"&&Call:4)
if "!5!"=="True" (set "lstmv=PC"&&Call:9)
if "!9!"=="True" (set "lstmv=PC"&&Call:5)
goto:randomizer

:ans2
set "color=0B"
if "!1!"=="True" (set "lstmv=PC"&&Call:3)
if "!3!"=="True" (set "lstmv=PC"&&Call:1)
if "!5!"=="True" (set "lstmv=PC"&&Call:8)
if "!8!"=="True" (set "lstmv=PC"&&Call:5)
goto:randomizer

:ans3
set "color=0B"
if "!2!"=="True" (set "lstmv=PC"&&Call:1)
if "!1!"=="True" (set "lstmv=PC"&&Call:2)
if "!5!"=="True" (set "lstmv=PC"&&Call:7)
if "!7!"=="True" (set "lstmv=PC"&&Call:5)
goto:randomizer

:ans4
set "color=0B"
if "!1!"=="True" (set "lstmv=PC"&&Call:7)
if "!7!"=="True" (set "lstmv=PC"&&Call:1)
if "!5!"=="True" (set "lstmv=PC"&&Call:6)
if "!6!"=="True" (set "lstmv=PC"&&Call:5)
set "lstmv=PC"
goto:randomizer

:ans5
set "color=0B"
if "!1!"=="True" (set "lstmv=PC"&&Call:9)
if "!3!"=="True" (set "lstmv=PC"&&Call:7)
if "!9!"=="True" (set "lstmv=PC"&&Call:1)
if "!7!"=="True" (set "lstmv=PC"&&Call:3)
if "!2!"=="True" (set "lstmv=PC"&&Call:8)
if "!8!"=="True" (set "lstmv=PC"&&Call:2)
if "!4!"=="True" (set "lstmv=PC"&&Call:6)
if "!6!"=="True" (set "lstmv=PC"&&Call:4)
goto:randomizer

:ans6
set "color=0B"
if "!3!"=="True" (set "lstmv=PC"&&Call:9)
if "!9!"=="True" (set "lstmv=PC"&&Call:3)
if "!5!"=="True" (set "lstmv=PC"&&Call:4)
if "!4!"=="True" (set "lstmv=PC"&&Call:5)
goto:randomizer

:ans7
set "color=0B"
if "!1!"=="True" (set "lstmv=PC"&&Call:4)
if "!4!"=="True" (set "lstmv=PC"&&Call:1)
if "!5!"=="True" (set "lstmv=PC"&&Call:3)
if "!3!"=="True" (set "lstmv=PC"&&Call:5)
if "!8!"=="True" (set "lstmv=PC"&&Call:9)
if "!9!"=="True" (set "lstmv=PC"&&Call:8)
goto:randomizer

:ans8
set "color=0B"
if "!2!"=="True" (set "lstmv=PC"&&Call:5)
if "!5!"=="True" (set "lstmv=PC"&&Call:2)
if "!7!"=="True" (set "lstmv=PC"&&Call:9)
if "!9!"=="True" (set "lstmv=PC"&&Call:7)
goto:randomizer

:ans9
set "color=0B"
if "!1!"=="True" (set "lstmv=PC"&&Call:5)
if "!5!"=="True" (set "lstmv=PC"&&Call:1)
if "!6!"=="True" (set "lstmv=PC"&&Call:3)
if "!3!"=="True" (set "lstmv=PC"&&Call:6)
if "!8!"=="True" (set "lstmv=PC"&&Call:7)
if "!7!"=="True" (set "lstmv=PC"&&Call:8)
goto:randomizer

:1

if "!1C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:4CA " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:56A " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:60A " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:6AA " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:4CA " "%color%"┌"%color%"─"%color%"─"%color%"┐"%color%" "%color%
Echo. EB800:56A " "%color%"│"%color%" "%color%" "%color%"│"%color%" "%color%
Echo. EB800:60A " "%color%"│"%color%" "%color%" "%color%"│"%color%" "%color%
Echo. EB800:6AA " "%color%"└"%color%"─"%color%"─"%color%"┘"%color%" "%color%
Echo. Q
)|debug >nul )

set "1P=!chc!"
set "1C=Fill"

goto:eof

:2

if "!2C!"=="Fill" (goto:eof)

if "!chc!"=="X" ( (
Echo. EB800:4D8 " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:578 " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:618 " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:6B8 " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:4D8 " "%color%"┌"%color%"─"%color%"─"%color%"┐"%color%" "%color%
Echo. EB800:578 " "%color%"│"%color%" "%color%" "%color%"│"%color%" "%color%
Echo. EB800:618 " "%color%"│"%color%" "%color%" "%color%"│"%color%" "%color%
Echo. EB800:6B8 " "%color%"└"%color%"─"%color%"─"%color%"┘"%color%" "%color%
Echo. Q
)|debug >nul )

set "2P=!chc!"
set "2C=Fill"

goto:eof

:3

if "!3C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:4E6 " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:586 " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:626 " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:6C6 " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:4E6 " "%color%"┌"%color%"─"%color%"─"%color%"┐"%color%" "%color%
Echo. EB800:586 " "%color%"│"%color%" "%color%" "%color%"│"%color%" "%color%
Echo. EB800:626 " "%color%"│"%color%" "%color%" "%color%"│"%color%" "%color%
Echo. EB800:6C6 " "%color%"└"%color%"─"%color%"─"%color%"┘"%color%" "%color%
Echo. Q
)|debug >nul )

set "3P=!chc!"
set "3C=Fill"

goto:eof

:4

if "!4C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:7EA " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:88A " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:92A " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:9CA " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:7EA " "%color%"┌"%color%"─"%color%"─"%color%"┐"%color%" "%color%
Echo. EB800:88A " "%color%"│"%color%" "%color%" "%color%"│"%color%" "%color%
Echo. EB800:92A " "%color%"│"%color%" "%color%" "%color%"│"%color%" "%color%
Echo. EB800:9CA " "%color%"└"%color%"─"%color%"─"%color%"┘"%color%" "%color%
Echo. Q
)|debug >nul )

set "4P=!chc!"
set "4C=Fill"

goto:eof

:5
if "!5C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:7F8 " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:898 " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:938 " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:9D8 " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:7F8 " "%color%"┌"%color%"─"%color%"─"%color%"┐"%color%" "%color%
Echo. EB800:898 " "%color%"│"%color%" "%color%" "%color%"│"%color%" "%color%
Echo. EB800:938 " "%color%"│"%color%" "%color%" "%color%"│"%color%" "%color%
Echo. EB800:9D8 " "%color%"└"%color%"─"%color%"─"%color%"┘"%color%" "%color%
Echo. Q
)|debug >nul )

set "5P=!chc!"
set "5C=Fill"

goto:eof

:6

if "!6C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:806 " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:8A6 " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:946 " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:9E6 " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:806 " "%color%"┌"%color%"─"%color%"─"%color%"┐"%color%" "%color%
Echo. EB800:8A6 " "%color%"│"%color%" "%color%" "%color%"│"%color%" "%color%
Echo. EB800:946 " "%color%"│"%color%" "%color%" "%color%"│"%color%" "%color%
Echo. EB800:9E6 " "%color%"└"%color%"─"%color%"─"%color%"┘"%color%" "%color%
Echo. Q
)|debug >nul )

set "6P=!chc!"
set "6C=Fill"

goto:eof

:7

if "!7C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:B0A " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:BAA " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:C4A" "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:CEA " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:B0A " "%color%"┌"%color%"─"%color%"─"%color%"┐"%color%" "%color%
Echo. EB800:BAA " "%color%"│"%color%" "%color%" "%color%"│"%color%" "%color%
Echo. EB800:C4A " "%color%"│"%color%" "%color%" "%color%"│"%color%" "%color%
Echo. EB800:CEA " "%color%"└"%color%"─"%color%"─"%color%"┘"%color%" "%color%
Echo. Q
)|debug >nul )

set "7P=!chc!"
set "7C=Fill"

goto:eof

:8

if "!8C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:B18 " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:BB8 " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:C58 " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:CF8 " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:B18 " "%color%"┌"%color%"─"%color%"─"%color%"┐"%color%" "%color%
Echo. EB800:BB8 " "%color%"│"%color%" "%color%" "%color%"│"%color%" "%color%
Echo. EB800:C58 " "%color%"│"%color%" "%color%" "%color%"│"%color%" "%color%
Echo. EB800:CF8 " "%color%"└"%color%"─"%color%"─"%color%"┘"%color%" "%color%
Echo. Q
)|debug >nul )

set "8P=!chc!"
set "8C=Fill"

goto:eof

:9

if "!9C!"=="Fill" (goto:eof)


if "!chc!"=="X" ( (
Echo. EB800:B26 " "%color%"\"%color%" "%color%" "%color%"/"%color%" "%color%
Echo. EB800:BC6 " "%color%" "%color%"\"%color%"/"%color%" "%color%" "%color%
Echo. EB800:C66 " "%color%" "%color%"/"%color%"\"%color%" "%color%" "%color%
Echo. EB800:D06 " "%color%"/"%color%" "%color%" "%color%"\"%color%" "%color%
Echo. Q
)|debug >nul ) else ( (
Echo. EB800:B26 " "%color%"┌"%color%"─"%color%"─"%color%"┐"%color%" "%color%
Echo. EB800:BC6 " "%color%"│"%color%" "%color%" "%color%"│"%color%" "%color%
Echo. EB800:C66 " "%color%"│"%color%" "%color%" "%color%"│"%color%" "%color%
Echo. EB800:D06 " "%color%"└"%color%"─"%color%"─"%color%"┘"%color%" "%color%
Echo. Q
)|debug >nul )

set "9P=!chc!"
set "9C=Fill"

goto:eof

:randomizer

if "!5C!"=="Empty" (call:5&&goto:eof)
if "!9C!"=="Empty" (call:9&&goto:eof)
if "!3C!"=="Empty" (call:3&&goto:eof)
if "!6C!"=="Empty" (call:6&&goto:eof)
if "!8C!"=="Empty" (call:8&&goto:eof)
if "!1C!"=="Empty" (call:1&&goto:eof)
if "!7C!"=="Empty" (call:7&&goto:eof)
if "!2C!"=="Empty" (call:2&&goto:eof)
if "!4C!"=="Empty" (call:4&&goto:eof)

goto:eof

:OUT
Exit/b 0

Salu2.
6  Programaciˇn / Scripting / [Batch] Consulta (SOLUCIONADO) en: 19 Julio 2010, 16:47 pm
Buenas, me he quedado atorado en un problema y no se como abordarlo  :-[

Quiero que el batch busque una variable ingresada por el usuario en un archivo de texto., lo que no logro hacer es que el script busque EXACTAMENTE lo ingresado por el usuario, normalmente si uno ingresa un caracter el script devuelve todos los resultados con dicho caracter, lo que busco es que solo mostrase los resultados exactos, y en caso de no haber ninguno diera un mensaje de error, no se si es posible eso.

Desde ya, muchas gracias.
7  Sistemas Operativos / Windows / Ayuda con fallo del controlador del teclado [Windows 7] en: 11 Julio 2010, 18:18 pm
Hola, necesito ayuda con un peque˝o problema, no se porque @#%$ no me toma la tecla [Ctrl] el teclado.

Ademßs de a ratos toma mal las letras (Reemplaza una por otra EJ: al presionar la tecla "O" imprime el caracter "E", sin embargo al presionar la tecla "E" sigue imprimiendo el caracter "E").

ProbÚ de actualizar el controlador(*), verifiquÚ el estado del perifÚrico, examine la placa del teclado y procedÝ a limpiarlo, pero nada.

(*) Controladores: Teclados PS/2 estßndar DRIVERS ver: "6.1.7600.16385" (i804prt.sys & kbdclass.sys ambos "win7_rtm.090713-1255")

Es la primera vez que utilizo 7, y pues no se si es un fallo que a˙n no han solucionado o si es un virus o algo.

No encuentro donde estßn los datos de la configuraciˇn del SO, si pudiesen indicarme como dßrselos se los agradecerÚ mucho.

Desde Ya, muchas gracias.
8  Programaciˇn / Scripting / Insertar caracteres en una variable [Batch] (SOLUCIONADO) en: 1 Julio 2010, 02:43 am
Bueno gente lamento molestar con semejante tonterÝa paro no encuentro la forma de insertar texto en una variable una "X" cantidad de veces, lo que quiero hacer es mßs o menos esto:

Código
  1. @echo off
  2. set sprst=10
  3. :loop
  4. if sprst==0 (goto:end)
  5. set/a "var1=%var1%+ "
  6. set/a "sprst=%sprst%-1"
  7. goto:loop
  8. :end
  9. echo %var1%

Es decir, que "var1" termine como una variable con 10 espacios, se que debe ser algo realmente sencillo pero no logro encontrarle la vuelta.

Desde ya gracias, saludos a todos  ;D
9  Programaciˇn / Scripting / [Batch] Problema con las variables [Solucionado] en: 15 Mayo 2010, 15:46 pm
Hola, me encuentro con dos peque˝os problemas.

Primer Problema:

No encuentro que estoy haciendo mal al tratar de que cuando una variable no esta definida vaya a un label, en lugar de ello el batch colapsa.

Segundo Problema:

Me gustarÝa que cuando el usuario inserte el valor de una variable no pueda insertar determinados caracteres que conllevan al colapso del batch.

Dejo el code para que se entienda mejor:

Código:
@echo off
title EJEMPLO VARIANTES
:menu
set/p var=Escriba TEST:
if %var%==TEST (goto Ok) else (goto wrong)
if %var% not defined goto error

:error
echo Ud. no inserto texto alguno, por favor escriba TEST.
pause >nul
cls
goto menu

:wrong
echo ERROR UD. NO INSERTO TEST, por favor vuelva a intentarlo.
pause >nul
cls
goto menu

:Ok
echo OK, todo en orden.
pause >nul
cls
exit

El Primer Problema:

No se porque cuando le doy Enter a la primera vez, es decir sin definir %var% en lugar de ir a error se cierra el programa.

ProbÚ de hacer lo siguiente:

-> Cambiar el orden del "if not defined"

Código:
if not defined %var% goto error

-> Sacar los "%"

Código:
if var not defined goto error
Código:
if not defined var goto error

Y ninguno me funcionˇ.

El Segundo Problema:

Mi intenciˇn es que si el usuario inserta alguno de los sig. caracteres el programa no colapse:

CARACTERES: & >< |

AsÝ como si el usuario ingresa un espacio dentro del texto tampoco lo haga.

Para esto intente lo siguiente:

-> Poner comillas dobles en la variante (como cuando de trabaja con rutas)

Código:
set/p "var=Escriba TEST:"

-> Poner "^" despuÚs del texto (como cuando se quiere ingresar caracteres reservados [EJ: ^&])

Código:
set/p var=Escriba TEST: ^

AsÝ me devolviˇ: "if ==TEST (goto Ok) else (goto wrong)", y al insertar un caracter colapsˇ.

Código:
set/p "var=Escriba TEST: "^

Al hacer esto no me devolviˇ la cadena, pero igual colapsa.

Espero mi duda sea entendible.

Desde Ya gracias por su ayuda.



10  Programaciˇn / Programaciˇn General / Lenguajes de Programaciˇn, ┐C o Basic? en: 4 Mayo 2010, 04:05 am
Cußl lenguaje es mejor para programar?
Bueno, pues como dije voy a comenzar a programar seriamente y me encontrÚ con esa duda existencial...

┐QuÚ lenguaje me recomiendan?

Obviamente todo mundo tiene su favorito, asÝ que quisiera que me digan cuales son los pros y contras de cada uno.

Por otro lado quiero ver como me "calzan", por lo que quisiera ver un par de cˇdigos, de momento no tengo tiempo para buscarlos a mano yo mismo ya que tengo bastante que hacer para ma˝ana asÝ que les iba a pedir que me den un ejemplo de ambos cˇdigos para ver como funcionan, se que son bastante diferentes y que ambos tienen sus subdivisiones, y en mi caso pretendo a orientarme a un lenguaje que si bien me tarde 3 dÝas en hacer un programa no tenga errores, y se ejecute rßpidamente sin consumir memoria.

Me gustarÝa que me diesen un cˇdigo para resolver este problema que tengo ahora para comparar uno con otro.

De momento quiero hacer un programa que ejecute el emulador DOSBox v0.73:

El programa se encuentra en:

F:\Program Files\DOSBox\DOSBox-0.73

Ejecute el archivo "Boxer.exe"

y al mismo le de click a un botˇn que dice "Run DOSBox"

En el proceso DOSBox se abren dos ventanas:

DOSBox Status Window & DOSBox 0.73, CPU (N║ de ciclos, frameskip y el nombre del proceso)

Yo quiero que el proceso presione 31 veces [Ctrl]+[F-12]

(Lo que setea los ciclos a 18000)

Y en la consola tipee:

C:
cd AITD2
cd ALONEI~1
aitd2.bat


Es algo bastante complejo, o al menos eso creo yo pero por ello es el cˇdigo perfecto para ver cual me es mßs fßcil, o si bien no me proporcionen el ejemplo me digan (basados en lo que les pido) cual lenguaje me conviene.

Desde ya les agradezco el haberse tomado la molestia de leer esto.

PD: Si quieren el DOSBox y el programa que configura el mismo se los dejo en mediafire:

http://www.mediafire.com/?jh2uizmzgky

De nuevo gracias y saludos a todos.
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines