Vistas de página en total

lunes, 9 de septiembre de 2013

EJEMPLO DE WINDIR Y LINEA DE COMANDOS DOS

    Lo que puse en la última entrada era una librería. Para poder usarla hace falta un programa.
    Este es, pues, un programa ejemplo de uso de la función windir.
    A la función se le pasa  la máscara a buscar y la función presenta los ficheros que encajen con la máscara, permitiendo seleccionar un fichero.
     Cuando se sale de windir, si se seleccionó un fichero, este se almacena en el buffer indicado en el parámetro file, y por lo tanto, lo podemos imprimir en pantalla.
   En este programa se usa la librería argum, de forma que podemos dar la máscara de búsqueda a través de la línea de comandos al llamar al ejecutable. Ejm wdir_ej    *.exe
   La máscara indicada en la línea de comandos será usada como máscara de búsqueda en windir. Si no indicamos nada se busca *.*.
  
   Este programa es pues el primero que pongo con recogida de datos de la línea de comandos.





WDIR_EJ.ASM
; Copyright (C) 2013  José Ángel Moneo Fernández

;    This program is free software: you can redistribute it and/or modify
;    it under the terms of the GNU General Public License as published by
;    the Free Software Foundation, either version 3 of the License, or
;   (at your option) any later version.

;    This program is distributed in the hope that it will be useful,
;    but WITHOUT ANY WARRANTY; without even the implied warranty of
;    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;    GNU General Public License for more details.

;    You should have received a copy of the GNU General Public License
;    along with this program.  If not, see <http://www.gnu.org/licenses/>.


include main.mac
include stdio.mac
include window.mac
include argum.mac

.model compact,pascal
.stack 200

.data
files db "*.*",0
file db 20 dup (0)
retor db 10,13,0

.code

p proc far
     main                 ;inicializa programa
     argc dl              ; comprueba si hay argumentos en la línea de comandos
     cmp dl,0
     jne seguir
     mov si,offset files
     jmp presenta

seguir:
     argv 1,si          ;recoje el primer argumento

presenta:
     windir 5,20,[si],file     ; llama a la función de directorio indicándole la máscara
     printf retor                  ;Imprimer un return
     printf file                      ; imprime el fichero
     ret
p endp
end p

No hay comentarios:

Publicar un comentario

Si tienes algún comentario, duda o sugerencia, o si quieres aportar algún código creado a partir de las librerías expuestas aquí, por favor, indícamelo.