[ANSI.SYS]Paint

Iniciado por BlacKGilgamesH, 8 Septiembre 2010, 01:41 AM

0 Miembros y 1 Visitante están viendo este tema.

BlacKGilgamesH

Hola, bueno, siguiendo con el ansi.sys, me decidi a hacer un paint (muy sencillo) pero para demostrar los usos del ansy.sis, puesto que nunca se usa el cls, en mi code :D.

@echo off
::::::::::::::::::::::::::::::::
::By GilgamesHCorporation 2010::
::::::::::::::::::::::::::::::::
mode con cols=80 lines=25
MEM/C | FIND /I "ANSI">NUL || ((
ECHO.DEVICE=%SystemRoot%\System32\ANSI.SYS /X
)>>%SystemRoot%\System32\CONFIG.NT
IF "%~1" NEQ "1" (
START "" %0 1 && EXIT/B 0
) ELSE ( EXIT/B 1
))

mode con cols=80 lines=25
(
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
)>tmps.dat
set clr=37
set chr=Û
:ini
Echo. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. º                                                                            º
Echo. ÌÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
Echo. º º º º º º º º º°º±º²ºÛº                                                    º
Echo. ÈÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
call:mov 23 3 0 30 %chr%
call:mov 23 5 1 31 %chr%
call:mov 23 7 1 32 %chr%
call:mov 23 9 1 33 %chr%
call:mov 23 11 1 34 %chr%
call:mov 23 13 1 35 %chr%
call:mov 23 15 1 36 %chr%
call:mov 23 17 1 37 %chr%
call:mov 1 1 0 0
:i
call:mouse
if %x% GEQ 2 (
if %y% GEQ 3 (
if %x% LEQ 21 (
if %y% LEQ 78 (
if %clr% NEQ 30 (
call:mov %x% %y% 1 %clr% %chr%
) else (
call:mov %x% %y% 0 %clr% %chr%
)
)
)
)
)
if %x%==23 (
if %y%==3 (
set clr=30
)
)
if %x%==23 (
if %y%==5 (
set clr=31
)
)
if %x%==23 (
if %y%==7 (
set clr=32
)
)
if %x%==23 (
if %y%==9 (
set clr=33
)
)
if %x%==23 (
if %y%==11 (
set clr=34
)
)
if %x%==23 (
if %y%==13 (
set clr=35
)
)
if %x%==23 (
if %y%==15 (
set clr=36
)
)
if %x%==23 (
if %y%==17 (
set clr=37
)
)
if %x%==23 (
if %y%==19 (
set chr=°
)
)
if %x%==23 (
if %y%==21 (
set chr=±
)
)
if %x%==23 (
if %y%==23 (
set chr=²
)
)
if %x%==23 (
if %y%==25 (
set chr=Û
)
)
goto:i
:mov
COMMAND /C ECHO.[%1;%2H[0;%3;%4m%5
goto:eof
:mouse
Debug<tmps.dat|Find /I "X">tmp.dat
for /f "tokens=2,3,4" %%a in (tmp.dat) do (
set btn=%%a
set y=%%b
set x=%%c
)
set /a btn=0x%btn:~-4%
set /a x=(0x%x:~-4%)+1
set /a y=(0x%y:~-4%)+1
goto:eof


Salu2

leogtz

No lo he probado.

Solo te doy un consejo, mejora tu indentación, que sea Batch no significa que no se sigan reglas de ingeniería de software básicas.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

BlacKGilgamesH

Me podrias especificar bien eso porfavor?  ;D
Saludos

maxwellnewage

lo acabo de probar, pero no pinta nada xD

BlacKGilgamesH

XD, por que no jaja??? no abras cambiado de color a negro XD.

Saludos

maxwellnewage

quise pintar y solo seleccionaba xD
quise cambiar de color, y no hace nada xD

<<J.R>>


leogtz

Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

BlacKGilgamesH


maxwellnewage

la indentacion es lo q los programadores llamamos "formatear el codigo"?