• Viernes 17 de Mayo de 2024, 06:30

Autor Tema:  Ayuda Con Lectura De Archivos  (Leído 4583 veces)

WOLFLIVING

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Ayuda Con Lectura De Archivos
« en: Martes 6 de Julio de 2004, 06:36 »
0
hola compañeros espero alguien me pueda ayudar, bueno pue estoy haciendo un tutor matematico sobre areas lleva teoria y ejercicios la cosa es que me he topado con un problema la teoria ya esta en distintos archivos dependiendo de los archivos y la leo asi:



   CALL MODO    ;;;SUBRUTINA PARA INICIALIZAR MODO TEXTO
   LEA DX, TRI    ;;;;CARGANDO VARIBLE DONDE SE ENCUENTRA ARCHIVO DEFINIDA ABAJO
   CALL PINTAR  ;;;;LLAMADO A SUBRRUTINA PARA IMPRESION DE ARCHIVO


;;;;;;;;SUBRRUTINA PARA IMPRIMIR EN PANTALLA;;;;;;;;;;
pintar:                
                     MOV   AL,0              ; modo de lectura
                     MOV   AH,3Dh            ; función para abrir fichero
                            INT   21h               ; llamar al DOS
                          MOV   handle,AX         ; código de acceso al fichero
trocito:      
                   MOV   BX,handle         ; código de acceso al fichero
                        MOV   CX,2048           ; número de bytes a leer
                      LEA   DX,buffer         ; dirección del buffer
                      MOV   AH,3Fh            ; función para leer del fichero
                      INT   21h               ; llamar al DOS
                      MOV   CX,AX             ; bytes leídos realmente
                      JCXZ  cerrar            ; no hay nada que imprimir
                      PUSH  AX                ; preservarlos
                      LEA   BX,buffer         ; imprimir buffer ...
imprime:
                     MOV   DL,[BX]           ; carácter a carácter
                      MOV   AH,02h              ; ir llamando al servicio 2 del
                        INT   21h               ; DOS para imprimir en pantalla
                     INC   BX                ; siguiente carácter
                      LOOP  imprime           ; acabar caracteres
                     POP   AX                ; recuperar nº de bytes leídos
                      CMP   AX,2048           ; ¿leidos 2048 bytes?
                     JE    trocito           ; sí, leer otro trocito más
                           cerrar:  
                    MOV   BX,handle         ; código de acceso al fichero
                      MOV   AH,3Eh            ; cerrar fichero
                      INT   21h               ; llamar al DOS
ret


;;;DEFINICION DE VARIABLES

   handle         DW    0 ; handle de control del fichero
   TRI        DB   'triang.txt','$'
   buffer         DB    2048 DUP (0) ;   "     "     "     "  el disco  

bueno pues esto funciona te lee el archivo y lo imprime en la pantalla mi problema esta cuando quiero poner otro archivo en pantall es decir por ejemplo que al presionar barra espaciadora pase a otra pagina cuando lo hago habiendo previamente definido variables para este nuevo archivo la aplicacion se traba. Si alguien me puede ayudar o decirme otra forma de leer un archivo para imprimir en pantalla se lo agradeceria mucho, espero no les de hueva leerlo GRACIAS DE ANTE MANO

Super_G

  • Miembro MUY activo
  • ***
  • Mensajes: 375
    • Ver Perfil
Re: Ayuda Con Lectura De Archivos
« Respuesta #1 en: Martes 6 de Julio de 2004, 16:30 »
0
El progrma parece estar Bien, solo tengo una observacion el nombre del archivo deberia ser tipo AsciiZ y me parece extraño que funcione, pues las pirmeras veces que experimente las funciones de archivos de la int 21h no funcionaban cuando el nombre de los archivos no eran tipo AsciiZ.

Super_G

  • Miembro MUY activo
  • ***
  • Mensajes: 375
    • Ver Perfil
Re: Ayuda Con Lectura De Archivos
« Respuesta #2 en: Martes 6 de Julio de 2004, 17:10 »
0
Poniendo las funciones en procedimientos y alguna que potra cosilla mas, aqui pongo el programa (de arriba) modificado. Compilado con TASM 2.1 (D.O.S.)
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

WOLFLIVING

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Re: Ayuda Con Lectura De Archivos
« Respuesta #3 en: Martes 6 de Julio de 2004, 17:42 »
0
muchassss gracias SUPERG solo tengo una pequeña duda con respecto al programa que me has facilitado tu funcion ESPERAR soy nuevo en esto y no entiendo como funciona

esperar macro  <----macro¿?
     mov ah,0
     int 16h

endm <---- endm

lo de enmedio si se que es la funcion para leer la tecla pulsada y guardar ascii en AL
pero como seria si yo quiero que pasa la pagina SOLO SI PRESIONO LA TECLA SPACE si presiono otra no pasa nada o si presiono R regresar a la pantalla anterior serias tan amable de aclararme estas dudas?¿  oye muchas gracias que me va a servir muchisimo no tienes idea
 :huh:

WOLFLIVING

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Re: Ayuda Con Lectura De Archivos
« Respuesta #4 en: Martes 6 de Julio de 2004, 17:48 »
0
OYE he probado poniendo un tercer archivo y me ha dado el mismo problema sera que solo pasa en mi maquina? podrias hecharme una mano y hacer la prueba con un tercer archivo a ver si a ti te funciona gracias por prestarme tiempo  :kicking:

WOLFLIVING

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Re: Ayuda Con Lectura De Archivos
« Respuesta #5 en: Martes 6 de Julio de 2004, 19:39 »
0
estaba revisando y creo que podria ser algun problema con las variables DB ya que si las cambio de lugar en distinto orden este funciona pero no se pero lo que si estoy casi 100% seguro es que es problema con el DB talvez exista una manera de tener un solo DB que maneje las distintas direcciones de los archivos que se cambie a medida vaya necesitando cada uno de ellos no se si podra  &lt;_&lt;  solo necesito saber eso para que mi proyecto funcione a la perfeccion necesito poder tener mis pantallas muchas gracias

Super_G

  • Miembro MUY activo
  • ***
  • Mensajes: 375
    • Ver Perfil
Re: Ayuda Con Lectura De Archivos
« Respuesta #6 en: Miércoles 7 de Julio de 2004, 16:33 »
0
para lo de las teclas, con la tecla de ESC no hay problema se verifica si en AL se encuantra el Ascii de ESC(27) y si es asi se pasa al siguiente; para ir "artas" ¿como "atras"? ¿anterior segmento del archivo ó antarior archivo?. lo del archivo no es dificil pero si para ver la parte anteriro del archivo se debe tomar en cuante lo siguiente:

las funciones de lectura escritura de que provee la int 21h manejador de archivo  de 16Bits, este hara referencia a un puntero de 32bits que desplazara sobre el archivo, el control directo sobre este puntero lo tendra el sistema.
Cuando se hace una lectura o escritura el puntero se incrementara dependiendo d ecaunto Bytes se hayan leido ó escrito sobre su posicion anterior a L/E.
Existen funcines sencilas de la int 21h que permiten poner el puntero al final o al principio del archivo, otras(que no entiendo) que dejan el puntero en posiciones "relativas"(otras posiciones en el archivo).

Entoces para ver el contenido de los archivos de forma mas eficiente, por partes controlado por el usuario, no puedo ofrcer ayuda al respecto. mi solucion seria usar varios buffers y limitar el tamaño del archivo ó el tamaño que se podra ver.
eso seria leyendo primero todo el archivo en buffers, y por ultimo mostrar segun el usuario disponga, solo testeando las teclas.

Super_G

  • Miembro MUY activo
  • ***
  • Mensajes: 375
    • Ver Perfil
Re: Ayuda Con Lectura De Archivos
« Respuesta #7 en: Miércoles 7 de Julio de 2004, 16:38 »
0
funciona con tres archivos
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Super_G

  • Miembro MUY activo
  • ***
  • Mensajes: 375
    • Ver Perfil
Re: Ayuda Con Lectura De Archivos
« Respuesta #8 en: Miércoles 7 de Julio de 2004, 16:41 »
0
algo asi como:

nombres dw offset nom1,offset nom2, offset nom3
nom1 db '........
nom2 db '......
nom3 db '.......

WOLFLIVING

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Re: Ayuda Con Lectura De Archivos
« Respuesta #9 en: Domingo 11 de Julio de 2004, 02:50 »
0
MUCHAS GRACIAS POR TU AYUDA!! ahorita me encuentro realizando mi proyecto de manera eficiente y si encontrar errores, lo tengo que entregar el lunes y creo que me esta quedando bien  :kicking: si alguien lo necesita luego cuando lo termine se lo puedo prestar solo digan, ayudandonos entre todos podemos salir adelante  :comp:   :hola:

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Ayuda Con Lectura De Archivos
« Respuesta #10 en: Jueves 22 de Julio de 2004, 15:56 »
0
Hola, yo estoy interesado en tu proyecto, me gustaria estudiarlo un poco ya que recien empiezo con esto.
Si puedes hacerme el favor, mandamelo a:

Angel_K_Y_do@hotmail.com

O súbelo a este foro.

Desde ya, muchas gracias.  :)
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

WOLFLIVING

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Re: Ayuda Con Lectura De Archivos
« Respuesta #11 en: Sábado 24 de Julio de 2004, 16:49 »
0
ok ahorita te lo mando, el codigo esta bien comentariado asi que no creo que te cueste tanto entenderlo ademas te lo mando con el manual de usuario y todo, si tienes alguna duda me preguntas ok te lo mando al correo ahorita bye  :kicking:

WOLFLIVING

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Re: Ayuda Con Lectura De Archivos
« Respuesta #12 en: Sábado 24 de Julio de 2004, 17:04 »
0
me cuentas si te ha servido de algo ahi sale

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Ayuda Con Lectura De Archivos
« Respuesta #13 en: Lunes 26 de Julio de 2004, 14:40 »
0
:D Eternamente agradecido Wolfliving, he aprendido mucho gracias a tu proyecto.

Muchas gracias por ayudar a los que recien empezamos.

Saludos  :hola: y nuevamente, gracias.
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.