Mostrando las entradas con la etiqueta ejemplos. Mostrar todas las entradas
Mostrando las entradas con la etiqueta ejemplos. Mostrar todas las entradas

martes, 6 de enero de 2015

Palabro

Hoy quiero exponer mi nueva creación, Palabro, así le ha llamado la persona a quien se le ocurrió hacer un programa así, pero en Java (Si no mal recuero) y yo intenté hacer la copia en Bat.

No pude encontrar la página donde leí acerca de esto ya que fue hace mucho tiempo atrás.

Este programa aún no está terminado. Le faltan muchas cosas y tiene muchos errores aún, como por ejemplo que salgan excesivas palabras con sólo tres letras o que el programa se detengas inesperadamente.

Hasta ahora lo he programado para que el mínimo de letras por palabra sea 3 y el máximo sea 9.
A la vez he hecho que después de una vocal la siguiente letra sea una consonante y lo mismo ocurre si la letra anterior es consonante, le agrega la vocal.

Dejaré un par de imágenes y el código como está hasta ahora de Palabro.



lunes, 5 de enero de 2015

Matrix

Como dije, traje un programa hecho por mi basado en la Matrix, son 4 formas diferentes de que muestre letras de la A-Z y numeros del 0-9 aleatoriamente agregando algunos espacios para dar algo de "efecto".

También agrego de que en este programa no se repite el contenido completo de las lineas o columnas.

Esta Matrix la hice con diferentes velocidades y tamaños. Al principio del programa hace la pregunta de cuál velocidad quieres probar.

Como siempre dejaré el link bajo las imagenes para descargar y ver el código completo del archivo por lotes.

Parte del cógido donde muestra la primera forma de hacer una Matrix.







domingo, 4 de enero de 2015

Resultado de ejercicios

Resultados

Para empezar debo recalcar que la resolución de los ejercicios no se basan en sencilléz o eficacia, sino en mostrar el resultado pedido usando los comando básicos.

Dejare imágenes de cada ejercicio y bajo ellas un link con el archivo por lotes para que el que desee lo pueda probar y corroborar que funciona.

Si hay algo que no se entienda o no lo haya explicado y haya sido usado en algunos de estos resultados haz el favor de hacermelo saber para explicar o agregar el significado.

Número mayor entre dos
Número mayor entre dos.



Número menor entre tres
Número menor entre tres.


Número par entre cinco
Número par entre cinco.


Tabla de multiplicar de un número
Tabla de multiplicar de un número.


Mensaje de usuario
Mensaje de un usuario.


Pronto inventaré algunas cosas para compartilas en este blog. Me refiero a programas hechos por mi.
También veré la posibilidad de empezar a explicar y usar comandos de nivel intermedio.

martes, 16 de diciembre de 2014

Presentación en Batch


Al momento hacer un programa la presentación del mismo es importante ya que si lo usamos a menudo y lo dejamos siendo solo un montón de comandos se volverá tosco y enredado a la vista.
Como bien sabemos, CMD no tiene muchas formas ni herramientas para "adornarlo" o mejorarlo visualmente, pero con un poco de imaginación se pueden lograr algunos cambios.

Pondremos en practica los comando básicos ya mencionados en otros post y jugaremos un poco con ellos para ver si sale algo interesante.

Antes de empezar me gustaría poner la leyenda de los colores usados en palabras explícitas.

    Leyenda:
            Palabras color Amarillo=Palabras Claves
            Palabras color Azul Claro=Variables
            Palabras color Verde=Comentarios
            Signos en color Verde Claro=Simbología operacional
            Palabras color Naranjo sobre Café=Etiquetas
            Palabras color Morado Claro=Comandos

Existe un comando en CMD que nos permite cambiar los colores de los caracteres en pantalla y del fondo.
El comando es "Color" y es muy fácil de usar.

        Sintáxis:
                Color [opción de colores]
                   
                    Opciones:
                            0 = Negro       8 = Gris
                            1 = Azul        9 = Azul claro
                            2 = Verde       A = Verde claro
                            3 = Aguamarina  B = Aguamarina claro
                            4 = Rojo        C = Rojo claro
                            5 = Púrpura     D = Púrpura claro
                            6 = Amarillo    E = Amarillo claro
                            7 = Blanco      F = Blanco brillante
                           
                Ejemplo: Color 0B  (Así lo tengo yo por defecto)

Hay otra forma de cambiar el color de los caracteres y por separado. El problema de este código es que hace más lenta la ejecución de los comandos.
El autor de esta función es desconocido.


        REM
        Set /P ".=Este texto se imprime antes del primero de color " <nul
        Call :ColorText 0A "Este es el texto con color Verde"
        Set /P ".= Este texto va en medio de los dos texto de color " <nul
        Call :ColorText 0C "Este es el texto con color rojo" end
        Echo. Y esto es el texto despus de los textos de color.
        Echo.
        Pause
        Exit

        REM Esta es la función que convierte el texto a color.
        REM Se recomienda no modificarla y no convertirá más los textos.
        :ColorText [%1 = Color] [%2 = Text]
        Set /P ".=.">"%~2"<nul
        Findstr /V /A:%1 /R "^$" "%~2" nul 2>nul
        Set /P ".=   "<nul
        If "%3"=="end" Set /P ".= "<nul
        Del "%~2">nul 2>nul
        Exit /b
       
    Explicaré un poco esta función para aquellos que quieran darse el trabajo de programar algo usándola.
   
    Los comandos que se usan aquí son:
                                    Set (Explicado en un post anterior)
                                    Call (Explicado en un post anterior)
                                    Echo (Explicado en un post anterior)
                                    Pause = Este comando hace una pausa en la ejecución de comandos hasta que el usuario presione una tecla.
                                    Exit = Este comando cierra la CMD, pero si está habilitado el modificador "/B" solo termina una instrucción.
                                    Etiqueta ":ColorText" (Explicado en un post anterior)
                                    Findstr (Buscador avanzado de archivos u objetos)
                                    If (Explicado en un post anterior)
                                    Del = Comando que elimina un o más archivos indicados por el usuario mediante una ruta.
                                   
    La función mostrada arriba es algo compleja de explicar para aquellos que recién se insertan en Batch, así que intentaré explayarme lo mejor posible.
   
    Voy a referirme a esta función como "Colorear".
    Lo primero que hace es capturar con "Set /P" los textos que serán impresos con el color DEFAULT de la consola y con "Call:ColorText" los que van a ser coloreados.
    Como se puede apreciar después de "Call:ColorText" va un código Hexadecimal por ejemplo "0A" que sería el color Verde según la tabla de color ya mencionada.
    Otro punto a destacar es que luego de la última frase, palabra, caracter o letra que va a ser pintado viene un agregado que dice "end", bueno, esto hace que la función se detenga y no siga conviertiendo a color.
    En la etiqueta ":ColorText" se ve que hay un contenido dentro de paréntesis de corchete, y es porque a la etiqueta se le han añadido don variables (%1 que es el color en este caso y %2 que es el texto), las cuales adquieren los datos desde la misma etiqueta.
    El comando Findstr busca con "/V" que no coincidan, luego adquiere los colores en Hexadecimal de la variable "%1" y con "/R" añade la búsqueda por expresiones regulares (opciones) para capturar el inicio(^) y final($) de la línea en el texto "%2".
    El comando "If" compara una tercera variable deducible por la consola (%3) la cual busca si existe "end" en el texto para dar el termino a la función. Con el comando "Del" se borra el archivo en donde guarda información la(s) variable(s), y este se crea en el directorio donde fue abierta la aplicación.
    Por último se usa el comando "Exit /B" para volver a la línea de instrucciones que estaba antes de ser llamada la función.
   

Existen programas apartes que se pueden ejecutar como comandos en la consola. Uno de ellos es Colous.exe y es el más usado en el ambiente gráfico de CMD.
No puedo poner links ni nada por el estilo. Lo que sí puedo hacer es mencionar a la persona que creó aquel programa, y su nombre es "Bolivianito" al cual se le agradece mucho darse el trabajo de seguir actualizando tal herramienta.


        Ejemplos de consolas modificadas mediante comandos:
               
Bandera Chile
Uso de la función "colorear" (Click para ver imagen en grande)

CMD se ha vuelto loca!
Uso de comandos simples. (Locura)

lunes, 15 de diciembre de 2014

Introducción a programar en Bacth

Comandos básicos en Batch



Echo:
    El comando más conocido dentro del área de la consola de Windows es "echo" y su función es muy simple, imprimir en algo en la consola.

    Se me pueden dar otros usos, como por ejemplo Exportar un resultado a un archivo de texto.


Su sintáxis es la siguiente:
    Echo ["texto",%variable%]
    Echo off: Deshabilita el eco en la consola evitando mostrar el proceso de cada comando.
Para guardar el contenido en un texto plano se usa la siguiente sintáxis:
    Echo hola, ¿como estas?>[ruta,nombre archivo,extension(opcional)]

Ejemplos:
    Echo Esto es un texto normal.
    Echo La hora actual es: %time%.
    Echo Resultado de una variable>%userprofile%\Resultado.txt
  -------------------------------------------------------------------------------------------------------------------------------------

Set:
    El comando "set" es otro comando muy utilizado y es vital para programar en Batch.
    Su función es guardar algo (variable, numeros, caracteres, etc) en una variable, la cual podemos usar, modificar o eliminar a nuestro antojo.
    El comando "set" posee dos modificadores: "/A" que se usa para realizar evaluaciones matemáticas como sumar, restar, etc ; "/P" que se ultiliza para el ingreso de texto mediante el teclado.

Su sintáxis es la siguiente:
    Set [modificador, nombre de variable,signo "=", valor de variable]
   
Ejemplos:
    Set NumDeManzanas=1
    Set /A NumDeManzanas=%NumDeManzanas%+1 (El restultado es 2)
    Set /P Resultado=Cuantas manzanas hay?:

    NOTA: Cuando se usa el modificador "/P" es opcional agregar un texto luego de la variable.
        Ejemplo: Set /P Resultado=
             Set /P Resultado=[texto opcional]
    Ambas formas funcionan sin dar error.

-------------------------------------------------------------------------------------------------------------------------------------

If:
    El comando "If" es utilizado para realizar comparaciones, ya sea de variables, numeros o caracteres.
    A este comando se le pueden añadir varias funciones por medios de modificadores y es muy completo.
    "If" es utlizado también para la comprobación de archivos lo cual es muy útil al momento de programar algunas cosas.

    Los modificadores al comando son: "/I" que compara omitiendo mayúsculas y minúsculas; "NOT" hace que funcione el comando si la condición es falsa; "EXIST" Comprueba la existencia de un archivo.
   
    Operadores de comparación:
                EQU - igual (Se puede utilizar también "==")
                NEQ - no igual
                LSS - menor que
                LEQ - menor que o igual
                GTR - mayor que
                GEQ - mayor que o igual

Su sintáxis es la siguiente:
    Comparación de variables
    If [variable, operador de comparacion, variable, comando a realizar si se cumple la comparación]

    Comprobación de archivos
    If [modificador Exist, ruta, comando a realizar si se comple el requisito]

Ejemplos:
    If %NumDeManzanas% == %NumDeNaranjas% Echo Hay la misma cantidad de Manzanas que de Naranjas.
    If %NumDeManzanas% GTR 3 Echo Tienes muchas manzanas, me regalas una?
    If Exist C:\Windows Echo Tienes el sistema operativo Windows instalado.
    If NOT Exist C:\Windows Echo No tienes el sistema operativo Windows instalado.
--------------------------------------------------------------------------------------------------------------------------------------

For:
    El comando "For" es uno de los comandos más útiles y completos de Batch y por lo que he visto en la red es uno de los que más le cuesta usar a la gente.
    Este comando realiza una dicha cantidad de tareas según se requiera, desde recorrer un directorio buscando un archivo hasta hacer una bucle con otro "For", entre otras cosas.

    Los modificadores de "For" son los siguientes: "/D" recorre directorios dados por nosotros; "/R" recorre desde el directorio dado por nosotros hasta la última carpeta dentro del mismo ordenadamente;
    "/L" forma un ciclo de sucesiones numéricas; "/F" recorre un archivo o variable, lo abre y lo lee, mostrando la primera línea o palabra de contenido. A este modificador se le pueden agregar más funciones (opciones):
   
    eol:      Se asigna un caracter (solo uno) para seperar lo que es comentario del texto a utilizar.

    skip:     Asigna el número de línea que el comando se saltará antes de leer el contenido.

    delims:   Asigna delimitadores para separar el contenido.

    tokens:   En esta opción se especifica que parte del contenido queremos mostrar seleccionando la "posición" del mismo a la vez que son guardador en variables alfabéticas.

    usebackq  Esta opción es algo extraña para mi. Lo que hace es cambiar la simbología del ingreso de comandos, ruta, texto. (Es la forma en que reconoce esas entradas)
            Ejemplo: Para ingresar la búsqueda en un comando se utiliza las comillas simples ('comando') y con esta opción queda así (`comando`)
                 Para ingresar la búsqueda en un archivo se utiliza solo los paréntesis (nombre de archivo) y con esta opción queda así ("nombre archivo")
                 Para ingresar la búsqueda en un texto se ultiliza las doble comillas ("texto") y con esta opción queda así ('texto')
                Es algo extraño, por lo menos para mi, que exista esta opción.

Su sintáxis es la siguiente:
    Normal
    For [variable de una letra anteponiendo % (%a), IN, (conjunto o listado de archivos), DO, comando a realizar en el conjunto]

    Modificadores
    For [/D, variable de una letra anteponiendo % (%a), IN, (conjunto o listado de directorios), DO, (comando a realizar en el conjunto)]
    For [/R, Ruta, variable de una letra anteponiendo % (%a), IN, (conjunto o listado de archivos), DO, (comando a realizar en el conjunto)]
    For [/L, variable de una letra anteponiendo % (%a), IN, (número de inicio, aumento o disminución, número final), DO, (comando a ralizar en cada aumento o disminución)]
    For [/F, opciónes, variable de una letra anteponiendo % (%a), IN, ('comando', archivo, o "texto"), DO, (comando a realizar)]

Ejemplos:
    For %a IN (primero segundo tercero cuarto) DO (Echo Este es %a contenido)

    For /D %a IN (mu*) DO (Echo Los directorios que empiecen con "mu" en esta ruta son los siguientes: %a)
    For /R %tmp% %a IN (*.txt) DO (Echo usted tiene los siguientes archivos de texto en esta ruta: %a)
    For /L %a IN (1,1,100) DO (Echo Mira, se contar hasta 100: %a)

    For /F %a IN ("%time%") DO (Echo La hora es :%a)
    For /F "eol=x" %a IN ("Contenido x Comentario") DO (Echo %a)
    For /F "tokens=1-7,10* delims=" %a IN ("Hola, soy Codex y me gustan las peras o las manzanas") DO (Echo %a %b %c %d %e %f %g %h %i)

    Nota: Para guardar el contenido del "For" en una variable en un archivo por lotes (".Bat", ".Cmd" o ".Com") se usa doble %. Ejemplo: %%a, %%b, %%c, etc.