Autor Tema: Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.  (Leído 26971 veces)

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
« Respuesta #20 en: 27 de Abril 2013, 20:53 »
El avg

Jigsaw_MGO

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 113
    • Ver Perfil
Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
« Respuesta #21 en: 28 de Abril 2013, 01:11 »
El avg

Descargalo no tiene virus 100% Recomendado :), no se como pasar los .exes por correo :S no me deja

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
« Respuesta #22 en: 28 de Abril 2013, 14:30 »
¿No tiene virus 100 %?

Amenaza detectada: Adware Toolbar.MT.dropper

Para pasar archivos exe por correo (o cualquier otro), comprímelos primero en un archivo zip y luego envíalos como archivo comprimido (zip).

No me envíes el archivo de la web de descarga porque si me lo envías me saltará el mismo problema, envíame los archivos que tengas en tu computador (los que te indicaba en un post anterior)

Jigsaw_MGO

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 113
    • Ver Perfil
Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
« Respuesta #23 en: 01 de Mayo 2013, 05:35 »
¿No tiene virus 100 %?

Amenaza detectada: Adware Toolbar.MT.dropper

Para pasar archivos exe por correo (o cualquier otro), comprímelos primero en un archivo zip y luego envíalos como archivo comprimido (zip).

No me envíes el archivo de la web de descarga porque si me lo envías me saltará el mismo problema, envíame los archivos que tengas en tu computador (los que te indicaba en un post anterior)


ya te lo envie al correo que me diste

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
« Respuesta #24 en: 01 de Mayo 2013, 09:55 »
Pues no lo veo... comprueba la dirección, tiene que ser todo en minúsculas y sin espacios, primero javiinthesky luego la arroba y luego yopmail.com todo junto sin espacios

Jigsaw_MGO

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 113
    • Ver Perfil
Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
« Respuesta #25 en: 06 de Mayo 2013, 05:16 »
Pues no lo veo... comprueba la dirección, tiene que ser todo en minúsculas y sin espacios, primero javiinthesky luego la arroba y luego yopmail.com todo junto sin espacios

listo ya te lo envie al yopmail.com

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
« Respuesta #26 en: 06 de Mayo 2013, 23:37 »
Ahora sí!!!! Libre de virus y funciona, se ve un poco raro dentro de Windows pero funcionar funciona.

He empezado a mirar el código, lo primero que he hecho ha sido comentar los comienzos y finales de las subrutinas. Todo programador debería comentar el código. De acuerdo con lo que dice el manual los comentarios se introducen con REM comentario

He estado revisando la opción 1 de menú y trabajaba bien, pero cuando le decias que querías continuar pulsando s minúscula en vez de dejarte seguir introduciendo datos te devolvía al menú principal. He cambiado la condición del while y ahora con s mayúscula o minúscula te deja seguir introduciendo. Además le he introducido que limpie la pantalla para seguir introduciendo, porque si no te aparecían los datos que habías metido antes.

He pasado a trabajar con un fichero de nombre NEWDATOS.TXT y he introducido estos datos:

Cédula 8732, nombre Juan Pedro, apellido Rojas, edad 32
Cédula 2231, nombre Manuel, apellido Romero, edad 21
Cédula 8974, nombre Luisa, apellido Guevara, edad 45
Cédula 292, nombre Juan, apellido Ruiz, edad 19
Cédula 544, nombre Alberto, apellido Fernandez, edad 34

En el archivo se ha guardado lo siguiente:

8732,"Juan Pedro","Rojas",32
2231,"Manuel","Romero",21
8974,"Luisa ","Guevara",45
292,"Juan","Ruiz",19
544,"Alberto","Fernandez",34

El código por el momento es este:

Código: [Seleccionar]
REM MENU DE CONTROL DEL PROGRAMA ***********************

MENU:
A=0
WHILE A<>5

     gosub pantalla
     locate 7,30: print "Menu Principal"
     locate 9,30: print"1.- Incluir"
     locate 11,30: print"2.- Consultar"
     locate 13,30: print"3.- Modificar"
     locate 15,30: print"4.- Eliminar"
     locate 17,30: print"5.- Salir"
     locate 22,30: print "Seleccione su Opcion:"
     locate 22,51: INPUT A



  if A = 1 then
        gosub incluir
     end if

  if A = 2 then
     gosub consultar
     end if

 if A = 3 then
     gosub modificar
     end if

 if A = 4 then
   gosub  eliminar
     end if


wend
end
REM FINAL DEL MENU DE CONTROL DEL PROGRAMA ***********************


REM SUBRUTINA DE CONTROL DE LO QUE SE MUESTRA EN PANTALLA ***********************
 pantalla:

 color 15,8
 cls

 locate 1,2: print"É"
 locate 1,79: print"»"
 locate 4,2: print"È"
 locate 4,79: print"¼"
 locate 6,2: print"É"
 locate 6,79: print"»"
 locate 19,2: print"È"
 locate 19,79: print"¼"
 locate 21,2: print"É"
 locate 21,79: print"»"
 locate 23,2: print"È"
 locate 23,79: print"¼"

 for I= 3 to 78
 locate 1,I: print"Í"
next I

 for I= 3 to 78
 locate 4,I: print"Í"
next I

 for I= 2 to 3
 locate I,2: print"º"
next I

 for I= 2 to 3
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 6,I: print"Í"
next I

 for I=7 to 18
 locate I,2: print"º"
next I

 for I=7 to 18
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 19,I: print"Í"
next I

 for I=3 to 78
 locate 21,I: print"Í"
next I

 for I= 22 to 22
 locate I,2: print"º"
next I

 for I=22 to 22
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 23,I: print"Í"
next I

      locate 2,5: print"IUTIRLA"
      locate 2,57: print"Caracas"
      locate 2,65: print date$
      locate 2,32: print "Hora: " time$

return
REM SUBRUTINA DE CONTROL DE LO QUE SE MUESTRA EN PANTALLA ***********************



REM SUBRUTINA PARA AÑADIR DATOS AL FICHERO (CEDULA, NOMBRE, APELLIDO, EDAD) ***********************
INCLUIR:

 CLS
 GOSUB PANTALLA
 CLOSE#1

  OPEN "NEWDATOS.TXT" FOR APPEND AS #1
  B$ = "S"
  WHILE B$ = "S" OR B$="s"
    locate 9,30: print "Cedula:"
    locate 10,30:input Cedula
    locate 11,30:print "Nombre:"
    locate 12,30:input Nombre$
    locate 13,30:print "Apellido:"
    locate 14,30:input Apellido$
    locate 15,30:print "Edad"
    locate 16,30:input Edad

  Write #1,Cedula,Nombre$,Apellido$,Edad

    locate 22,30: INPUT "¨Desea Continuar S/N?", B$
   
REM Limpiamos la pantalla
GOSUB PANTALLA
 WEND
 CLOSE #1
 RETURN
REM FIN SUBRUTINA PARA AÑADIR DATOS AL FICHERO (CEDULA, NOMBRE, APELLIDO, EDAD) ***********************


REM SUBRUTINA PARA CONSULTAR DATOS EN FICHERO A PARTIR DE LA CEDULA (MOSTRAR CEDULA, NOMBRE, APELLIDO, EDAD) ***********************
 CONSULTAR:

 CEDU=0
 GOSUB PANTALLA

 LOCATE 8,30:INPUT "CEDULA:",CEDU

 OPEN "NEWDATOS.TXT" FOR INPUT AS#1

WHILE (NOT EOF(1))

 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD

 IF CEDULA=CEDU THEN

LOCATE 08,30:PRINT "CEDULA:",CEDU
LOCATE 10,30:PRINT "NOMBRE:",NOMBRE$
LOCATE 12,30:PRINT "APELLIDO:",APELLIDO$
LOCATE 14,30:PRINT "EDAD:",EDAD

 END IF
WEND

LOCATE 22,30:INPUT "Desea Seguir Consultando:S/N:",B$

 IF B$="S" OR B$="s" THEN
GOSUB CONSULTAR
 END IF
RETURN

REM FIN SUBRUTINA PARA CONSULTAR DATOS EN FICHERO A PARTIR DE LA CEDULA (MOSTRAR CEDULA, NOMBRE, APELLIDO, EDAD) ***********************



REM SUBRUTINA PARA MODIFICAR DATOS EN FICHERO A PARTIR DE LA CEDULA (SI SE ENCUENTRA LA CEDULA PEDIR NOMBRE, APELLIDO, EDAD Y MODIFICAR DATOS) ***********************
MODIFICAR:
 CLOSE#1
 CLS
 GOSUB PANTALLA
 CEDU=0


 OPEN "NEWDATOS.TXT" FOR INPUT AS#1
 LOCATE 08,30:INPUT "Cedula:",CEDU

WHILE (NOT EOF(1))

 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD


IF CEDULA=CEDU THEN

 LOCATE 08,30:PRINT "Cedula:",CEDU
 LOCATE 10,30:PRINT "Nombre:",NOMBRE$
 LOCATE 12,30:PRINT "Apellido:",Apellido$
 LOCATE 14,30:PRINT "Edad:",Edad
 LOCATE 22,30:INPUT "Desea Modificar S/N:",B$

  IF B$="S" OR B$="s" THEN
 LOCATE 08,30:INPUT "Cedula:",CEDU
 LOCATE 10,30:INPUT "Nombre:",Nombre$
 LOCATE 12,30:INPUT "Apellido:",Apellido$
 LOCATE 14,30:INPUT "Edad:",Edad
 LOCATE 22,30:INPUT "Desea Seguir Modificando Datos S/N:",B$

   IF B$="S" OR B$="s" THEN

WRITE#1,CEDULA,NOMBRE$,APELLIDO$,EDAD

GOSUB MODIFICAR
ELSE

END IF
 END IF
  END IF
 WEND
RETURN
REM FIN SUBRUTINA PARA MODIFICAR DATOS EN FICHERO A PARTIR DE LA CEDULA (SI SE ENCUENTRA LA CEDULA PEDIR NOMBRE, APELLIDO, EDAD Y MODIFICAR DATOS) ***********************


REM SUBRUTINA PARA ELIMINAR UN DATO A PARTIR DE LA CÉDULA ********************************
ELIMINAR:

CLOSE#1

CLS

GOSUB PANTALLA
CEDU=0
B$="S"

 OPEN "NEWDATOS.TXT"FOR INPUT AS#1
 LOCATE 08,30:INPUT "Cedula:",CEDU

WHILE (NOT EOF (1))

 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD

 IF CEDULA=CEDU THEN

 LOCATE 08,30:PRINT "CEDULA:",CEDU
 LOCATE 10,30:PRINT "NOMBRE:",NOMBRE$
 LOCATE 12,30:PRINT "APELLIDO:",APELLIDO$
 LOCATE 14,30:PRINT "EDAD:",EDAD

LOCATE 22,30:INPUT "¨Desea Eliminar S/N?:",B$



END IF
WEND

REM FIN SUBRUTINA PARA ELIMINAR UN DATO A PARTIR DE LA CÉDULA ********************************


javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
« Respuesta #27 en: 08 de Mayo 2013, 17:40 »
He revisado la opción de consultar que estaba dando un error cuando se querían hacer varias consultas seguidas y lo he corregido. También he introducido que cuando no se encuentra la cédula aparezca un mensaje "No se encuentra la cédula 343" 343 es un ejemplo sería el número introducido.

El código por el momento es este:

Código: [Seleccionar]
REM MENU DE CONTROL DEL PROGRAMA ***********************

MENU:
A=0
WHILE A<>5

     gosub pantalla
     locate 7,30: print "Menu Principal"
     locate 9,30: print"1.- Incluir"
     locate 11,30: print"2.- Consultar"
     locate 13,30: print"3.- Modificar"
     locate 15,30: print"4.- Eliminar"
     locate 17,30: print"5.- Salir"
     locate 22,30: print "Seleccione su Opcion:"
     locate 22,51: INPUT A



  if A = 1 then
        gosub incluir
     end if

  if A = 2 then
     gosub consultar
     end if

 if A = 3 then
     gosub modificar
     end if

 if A = 4 then
   gosub  eliminar
     end if


wend
end
REM FINAL DEL MENU DE CONTROL DEL PROGRAMA ***********************


REM SUBRUTINA DE CONTROL DE LO QUE SE MUESTRA EN PANTALLA ***********************
 pantalla:

 color 15,8
 cls

 locate 1,2: print"É"
 locate 1,79: print"»"
 locate 4,2: print"È"
 locate 4,79: print"¼"
 locate 6,2: print"É"
 locate 6,79: print"»"
 locate 19,2: print"È"
 locate 19,79: print"¼"
 locate 21,2: print"É"
 locate 21,79: print"»"
 locate 23,2: print"È"
 locate 23,79: print"¼"

 for I= 3 to 78
 locate 1,I: print"Í"
next I

 for I= 3 to 78
 locate 4,I: print"Í"
next I

 for I= 2 to 3
 locate I,2: print"º"
next I

 for I= 2 to 3
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 6,I: print"Í"
next I

 for I=7 to 18
 locate I,2: print"º"
next I

 for I=7 to 18
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 19,I: print"Í"
next I

 for I=3 to 78
 locate 21,I: print"Í"
next I

 for I= 22 to 22
 locate I,2: print"º"
next I

 for I=22 to 22
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 23,I: print"Í"
next I

      locate 2,5: print"IUTIRLA"
      locate 2,57: print"Caracas"
      locate 2,65: print date$
      locate 2,32: print "Hora: " time$

return
REM SUBRUTINA DE CONTROL DE LO QUE SE MUESTRA EN PANTALLA ***********************



REM SUBRUTINA PARA AÑADIR DATOS AL FICHERO (CEDULA, NOMBRE, APELLIDO, EDAD) ***********************
INCLUIR:

 CLS
 GOSUB PANTALLA
 CLOSE#1

  OPEN "NEWDATOS.TXT" FOR APPEND AS #1
  B$ = "S"
  WHILE B$ = "S" OR B$="s"
    locate 9,30: print "Cedula:"
    locate 10,30:input Cedula
    locate 11,30:print "Nombre:"
    locate 12,30:input Nombre$
    locate 13,30:print "Apellido:"
    locate 14,30:input Apellido$
    locate 15,30:print "Edad"
    locate 16,30:input Edad

  Write #1,Cedula,Nombre$,Apellido$,Edad

    locate 22,30: INPUT "¨Desea Continuar S/N?", B$
   
REM Limpiamos la pantalla
GOSUB PANTALLA
 WEND
 CLOSE #1
 RETURN
REM FIN SUBRUTINA PARA AÑADIR DATOS AL FICHERO (CEDULA, NOMBRE, APELLIDO, EDAD) ***********************


REM SUBRUTINA PARA CONSULTAR DATOS EN FICHERO A PARTIR DE LA CEDULA (MOSTRAR CEDULA, NOMBRE, APELLIDO, EDAD) ***********************
 CONSULTAR:
 FOUND=0
 CEDU=0
 GOSUB PANTALLA

 LOCATE 8,30:INPUT "CEDULA:",CEDU

 OPEN "NEWDATOS.TXT" FOR INPUT AS#1

WHILE (NOT EOF(1))

 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD

 IF CEDULA=CEDU THEN
FOUND=1
LOCATE 08,30:PRINT "CEDULA:",CEDU
LOCATE 10,30:PRINT "NOMBRE:",NOMBRE$
LOCATE 12,30:PRINT "APELLIDO:",APELLIDO$
LOCATE 14,30:PRINT "EDAD:",EDAD



 END IF
WEND
CLOSE#1
IF FOUND=0 THEN
LOCATE 08,30:PRINT "NO SE ENCUENTRA CEDULA ",CEDU
END IF

LOCATE 22,30:INPUT "Desea Seguir Consultando:S/N:",B$

 IF B$="S" OR B$="s" THEN
GOSUB CONSULTAR


 END IF
RETURN

REM FIN SUBRUTINA PARA CONSULTAR DATOS EN FICHERO A PARTIR DE LA CEDULA (MOSTRAR CEDULA, NOMBRE, APELLIDO, EDAD) ***********************



REM SUBRUTINA PARA MODIFICAR DATOS EN FICHERO A PARTIR DE LA CEDULA (SI SE ENCUENTRA LA CEDULA PEDIR NOMBRE, APELLIDO, EDAD Y MODIFICAR DATOS) ***********************
MODIFICAR:
 CLOSE#1
 CLS
 GOSUB PANTALLA
 CEDU=0


 OPEN "NEWDATOS.TXT" FOR INPUT AS#1
 LOCATE 08,30:INPUT "Cedula:",CEDU

WHILE (NOT EOF(1))

 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD


IF CEDULA=CEDU THEN

 LOCATE 08,30:PRINT "Cedula:",CEDU
 LOCATE 10,30:PRINT "Nombre:",NOMBRE$
 LOCATE 12,30:PRINT "Apellido:",Apellido$
 LOCATE 14,30:PRINT "Edad:",Edad
 LOCATE 22,30:INPUT "Desea Modificar S/N:",B$

  IF B$="S" OR B$="s" THEN
 LOCATE 08,30:INPUT "Cedula:",CEDU
 LOCATE 10,30:INPUT "Nombre:",Nombre$
 LOCATE 12,30:INPUT "Apellido:",Apellido$
 LOCATE 14,30:INPUT "Edad:",Edad
 LOCATE 22,30:INPUT "Desea Seguir Modificando Datos S/N:",B$

   IF B$="S" OR B$="s" THEN

WRITE#1,CEDULA,NOMBRE$,APELLIDO$,EDAD

GOSUB MODIFICAR
ELSE

END IF
 END IF
  END IF
 WEND
RETURN
REM FIN SUBRUTINA PARA MODIFICAR DATOS EN FICHERO A PARTIR DE LA CEDULA (SI SE ENCUENTRA LA CEDULA PEDIR NOMBRE, APELLIDO, EDAD Y MODIFICAR DATOS) ***********************


REM SUBRUTINA PARA ELIMINAR UN DATO A PARTIR DE LA CÉDULA ********************************
ELIMINAR:

CLOSE#1

CLS

GOSUB PANTALLA
CEDU=0
B$="S"

 OPEN "NEWDATOS.TXT"FOR INPUT AS#1
 LOCATE 08,30:INPUT "Cedula:",CEDU

WHILE (NOT EOF (1))

 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD

 IF CEDULA=CEDU THEN

 LOCATE 08,30:PRINT "CEDULA:",CEDU
 LOCATE 10,30:PRINT "NOMBRE:",NOMBRE$
 LOCATE 12,30:PRINT "APELLIDO:",APELLIDO$
 LOCATE 14,30:PRINT "EDAD:",EDAD

LOCATE 22,30:INPUT "¨Desea Eliminar S/N?:",B$



END IF
WEND

REM FIN SUBRUTINA PARA ELIMINAR UN DATO A PARTIR DE LA CÉDULA ********************************


Jigsaw_MGO

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 113
    • Ver Perfil
Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
« Respuesta #28 en: 09 de Mayo 2013, 05:33 »
He revisado la opción de consultar que estaba dando un error cuando se querían hacer varias consultas seguidas y lo he corregido. También he introducido que cuando no se encuentra la cédula aparezca un mensaje "No se encuentra la cédula 343" 343 es un ejemplo sería el número introducido.

El código por el momento es este:

Código: [Seleccionar]
REM MENU DE CONTROL DEL PROGRAMA ***********************

MENU:
A=0
WHILE A<>5

     gosub pantalla
     locate 7,30: print "Menu Principal"
     locate 9,30: print"1.- Incluir"
     locate 11,30: print"2.- Consultar"
     locate 13,30: print"3.- Modificar"
     locate 15,30: print"4.- Eliminar"
     locate 17,30: print"5.- Salir"
     locate 22,30: print "Seleccione su Opcion:"
     locate 22,51: INPUT A



  if A = 1 then
        gosub incluir
     end if

  if A = 2 then
     gosub consultar
     end if

 if A = 3 then
     gosub modificar
     end if

 if A = 4 then
   gosub  eliminar
     end if


wend
end
REM FINAL DEL MENU DE CONTROL DEL PROGRAMA ***********************


REM SUBRUTINA DE CONTROL DE LO QUE SE MUESTRA EN PANTALLA ***********************
 pantalla:

 color 15,8
 cls

 locate 1,2: print"É"
 locate 1,79: print"»"
 locate 4,2: print"È"
 locate 4,79: print"¼"
 locate 6,2: print"É"
 locate 6,79: print"»"
 locate 19,2: print"È"
 locate 19,79: print"¼"
 locate 21,2: print"É"
 locate 21,79: print"»"
 locate 23,2: print"È"
 locate 23,79: print"¼"

 for I= 3 to 78
 locate 1,I: print"Í"
next I

 for I= 3 to 78
 locate 4,I: print"Í"
next I

 for I= 2 to 3
 locate I,2: print"º"
next I

 for I= 2 to 3
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 6,I: print"Í"
next I

 for I=7 to 18
 locate I,2: print"º"
next I

 for I=7 to 18
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 19,I: print"Í"
next I

 for I=3 to 78
 locate 21,I: print"Í"
next I

 for I= 22 to 22
 locate I,2: print"º"
next I

 for I=22 to 22
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 23,I: print"Í"
next I

      locate 2,5: print"IUTIRLA"
      locate 2,57: print"Caracas"
      locate 2,65: print date$
      locate 2,32: print "Hora: " time$

return
REM SUBRUTINA DE CONTROL DE LO QUE SE MUESTRA EN PANTALLA ***********************



REM SUBRUTINA PARA AÑADIR DATOS AL FICHERO (CEDULA, NOMBRE, APELLIDO, EDAD) ***********************
INCLUIR:

 CLS
 GOSUB PANTALLA
 CLOSE#1

  OPEN "NEWDATOS.TXT" FOR APPEND AS #1
  B$ = "S"
  WHILE B$ = "S" OR B$="s"
    locate 9,30: print "Cedula:"
    locate 10,30:input Cedula
    locate 11,30:print "Nombre:"
    locate 12,30:input Nombre$
    locate 13,30:print "Apellido:"
    locate 14,30:input Apellido$
    locate 15,30:print "Edad"
    locate 16,30:input Edad

  Write #1,Cedula,Nombre$,Apellido$,Edad

    locate 22,30: INPUT "¨Desea Continuar S/N?", B$
   
REM Limpiamos la pantalla
GOSUB PANTALLA
 WEND
 CLOSE #1
 RETURN
REM FIN SUBRUTINA PARA AÑADIR DATOS AL FICHERO (CEDULA, NOMBRE, APELLIDO, EDAD) ***********************


REM SUBRUTINA PARA CONSULTAR DATOS EN FICHERO A PARTIR DE LA CEDULA (MOSTRAR CEDULA, NOMBRE, APELLIDO, EDAD) ***********************
 CONSULTAR:
 FOUND=0
 CEDU=0
 GOSUB PANTALLA

 LOCATE 8,30:INPUT "CEDULA:",CEDU

 OPEN "NEWDATOS.TXT" FOR INPUT AS#1

WHILE (NOT EOF(1))

 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD

 IF CEDULA=CEDU THEN
FOUND=1
LOCATE 08,30:PRINT "CEDULA:",CEDU
LOCATE 10,30:PRINT "NOMBRE:",NOMBRE$
LOCATE 12,30:PRINT "APELLIDO:",APELLIDO$
LOCATE 14,30:PRINT "EDAD:",EDAD



 END IF
WEND
CLOSE#1
IF FOUND=0 THEN
LOCATE 08,30:PRINT "NO SE ENCUENTRA CEDULA ",CEDU
END IF

LOCATE 22,30:INPUT "Desea Seguir Consultando:S/N:",B$

 IF B$="S" OR B$="s" THEN
GOSUB CONSULTAR


 END IF
RETURN

REM FIN SUBRUTINA PARA CONSULTAR DATOS EN FICHERO A PARTIR DE LA CEDULA (MOSTRAR CEDULA, NOMBRE, APELLIDO, EDAD) ***********************



REM SUBRUTINA PARA MODIFICAR DATOS EN FICHERO A PARTIR DE LA CEDULA (SI SE ENCUENTRA LA CEDULA PEDIR NOMBRE, APELLIDO, EDAD Y MODIFICAR DATOS) ***********************
MODIFICAR:
 CLOSE#1
 CLS
 GOSUB PANTALLA
 CEDU=0


 OPEN "NEWDATOS.TXT" FOR INPUT AS#1
 LOCATE 08,30:INPUT "Cedula:",CEDU

WHILE (NOT EOF(1))

 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD


IF CEDULA=CEDU THEN

 LOCATE 08,30:PRINT "Cedula:",CEDU
 LOCATE 10,30:PRINT "Nombre:",NOMBRE$
 LOCATE 12,30:PRINT "Apellido:",Apellido$
 LOCATE 14,30:PRINT "Edad:",Edad
 LOCATE 22,30:INPUT "Desea Modificar S/N:",B$

  IF B$="S" OR B$="s" THEN
 LOCATE 08,30:INPUT "Cedula:",CEDU
 LOCATE 10,30:INPUT "Nombre:",Nombre$
 LOCATE 12,30:INPUT "Apellido:",Apellido$
 LOCATE 14,30:INPUT "Edad:",Edad
 LOCATE 22,30:INPUT "Desea Seguir Modificando Datos S/N:",B$

   IF B$="S" OR B$="s" THEN

WRITE#1,CEDULA,NOMBRE$,APELLIDO$,EDAD

GOSUB MODIFICAR
ELSE

END IF
 END IF
  END IF
 WEND
RETURN
REM FIN SUBRUTINA PARA MODIFICAR DATOS EN FICHERO A PARTIR DE LA CEDULA (SI SE ENCUENTRA LA CEDULA PEDIR NOMBRE, APELLIDO, EDAD Y MODIFICAR DATOS) ***********************


REM SUBRUTINA PARA ELIMINAR UN DATO A PARTIR DE LA CÉDULA ********************************
ELIMINAR:

CLOSE#1

CLS

GOSUB PANTALLA
CEDU=0
B$="S"

 OPEN "NEWDATOS.TXT"FOR INPUT AS#1
 LOCATE 08,30:INPUT "Cedula:",CEDU

WHILE (NOT EOF (1))

 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD

 IF CEDULA=CEDU THEN

 LOCATE 08,30:PRINT "CEDULA:",CEDU
 LOCATE 10,30:PRINT "NOMBRE:",NOMBRE$
 LOCATE 12,30:PRINT "APELLIDO:",APELLIDO$
 LOCATE 14,30:PRINT "EDAD:",EDAD

LOCATE 22,30:INPUT "¨Desea Eliminar S/N?:",B$



END IF
WEND

REM FIN SUBRUTINA PARA ELIMINAR UN DATO A PARTIR DE LA CÉDULA ********************************



Muchas gracias has sido d e gran ayuda, cuando lo desarrolles me avisas :)

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
« Respuesta #29 en: 10 de Mayo 2013, 10:22 »
He pasado a la opción modificar y me he encontrado con que hay un problema con el tipo de fichero y modos de acceso. Si miramos el manual dice esto:

The idea behind sequential files is simplicity itself: write to them as though they
were the screen, and read from them as though they were the keyboard.
Create a sequential file using the following steps:
1. OPEN the file in sequential OUTPUT mode. To create a file in Turbo Basic,
you must use the OPEN statement. Sequential files have two options to
prepare a file for output:
OUTPUT: If a file does not exist, a new file is created. If a file already exists,
its contents are erased and the file is then treated as a new file.
APPEND: If a file does not exist, a new file is created. If a file already exists,
Turbo Basic appends any data written to that file at its end.
2. Output data to afile. Use WRITE#, PRINT #, or PRINT# USING to write
data to a sequential file.
3. CLOSE the file. The CLOSE statement closes a file variable after the program
has completed all I/O operations.
To read a sequential file:
1. OPEN the file in sequential INPUT mode. Prepare the file to be read from.
2. Read data in/rom the file. Use Turbo Basic's INPUT #, INPUT$, or LINE
INPUT# statements.
3. CLOSE the file. The CLOSE statement closes a file variable after the program
has completed all I/O operations.


Aquí lo que viene a decir es que si usas el modo de fichero secuencial tienes tres formas de acceder:

append: añade datos al final del fichero
output: borra el contenido existente y escribe nuevos datos en el fichero
input: para leer datos del fichero

Entonces no tenemos forma de hacer lo que se quiere hacer directamente con este tipo de acceso, es decir, no puedes acceder a un registro específico y modificarlo.

Existe otro tipo de acceso, el random, con el cual sí parece que se podría acceder a un registro identificado por un número y escribir directamente en él mediante la instrucción PUT [ # ] (filenum [, record number]
PUT writes a record to a random file.

Pero claro si cambiamos a tipo random hay que reestructurar todo el código...

Otra opción sería almacenar todos los datos que nos interesan en un array y luego volver a escribir todos los datos con acceso secuencial y output, lo cual permitiría que el programa se mantenga de forma más similar a como está ahora.

¿Qué opinas de todo esto?

Jigsaw_MGO

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 113
    • Ver Perfil
Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
« Respuesta #30 en: 12 de Mayo 2013, 07:57 »
He pasado a la opción modificar y me he encontrado con que hay un problema con el tipo de fichero y modos de acceso. Si miramos el manual dice esto:

The idea behind sequential files is simplicity itself: write to them as though they
were the screen, and read from them as though they were the keyboard.
Create a sequential file using the following steps:
1. OPEN the file in sequential OUTPUT mode. To create a file in Turbo Basic,
you must use the OPEN statement. Sequential files have two options to
prepare a file for output:
OUTPUT: If a file does not exist, a new file is created. If a file already exists,
its contents are erased and the file is then treated as a new file.
APPEND: If a file does not exist, a new file is created. If a file already exists,
Turbo Basic appends any data written to that file at its end.
2. Output data to afile. Use WRITE#, PRINT #, or PRINT# USING to write
data to a sequential file.
3. CLOSE the file. The CLOSE statement closes a file variable after the program
has completed all I/O operations.
To read a sequential file:
1. OPEN the file in sequential INPUT mode. Prepare the file to be read from.
2. Read data in/rom the file. Use Turbo Basic's INPUT #, INPUT$, or LINE
INPUT# statements.
3. CLOSE the file. The CLOSE statement closes a file variable after the program
has completed all I/O operations.


Aquí lo que viene a decir es que si usas el modo de fichero secuencial tienes tres formas de acceder:

append: añade datos al final del fichero
output: borra el contenido existente y escribe nuevos datos en el fichero
input: para leer datos del fichero

Entonces no tenemos forma de hacer lo que se quiere hacer directamente con este tipo de acceso, es decir, no puedes acceder a un registro específico y modificarlo.

Existe otro tipo de acceso, el random, con el cual sí parece que se podría acceder a un registro identificado por un número y escribir directamente en él mediante la instrucción PUT [ # ] (filenum [, record number]
PUT writes a record to a random file.

Pero claro si cambiamos a tipo random hay que reestructurar todo el código...

Otra opción sería almacenar todos los datos que nos interesan en un array y luego volver a escribir todos los datos con acceso secuencial y output, lo cual permitiría que el programa se mantenga de forma más similar a como está ahora.

¿Qué opinas de todo esto?

Opino que eres un genio :D, quisiera tener compañeros programadores así de inteligentes, si podriamos mantener la estructura como está, recuerda que la idea es que se pueda modificar, al insertar la cedula, para que grabe nuevos datos.

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
« Respuesta #31 en: 14 de Mayo 2013, 08:17 »
He estado revisando la opción de modificar manteniendo la estructura del programa. He hecho alguna prueba y parece que funciona, de todas formas aquí te dejo el código. Haz pruebas y dime si te salen errores o si te funciona bien, para ver si hay que hacer correcciones o si seguimos hacia la siguiente opción.

La solución usada es la que te comentaba de meter todos los datos en un array temporalmente para luego volcarlos nuevamente al fichero con la modificación introducida.

Código: [Seleccionar]
REM MENU DE CONTROL DEL PROGRAMA ***********************

REM ARRAY PARA ALMACENAR EL CONTENIDO DE UN FICHERO CON LIMITE 100 DATOS
DIM Cedulax(100), Nombrex$(100), Apellidox$(100), Edadx(100)

MENU:
A=0
WHILE A<>5

     gosub pantalla
     locate 7,30: print "Menu Principal"
     locate 9,30: print"1.- Incluir"
     locate 11,30: print"2.- Consultar"
     locate 13,30: print"3.- Modificar"
     locate 15,30: print"4.- Eliminar"
     locate 17,30: print"5.- Salir"
     locate 22,30: print "Seleccione su Opcion:"
     locate 22,51: INPUT A

  if A = 1 then
        gosub incluir
     end if

  if A = 2 then
     gosub consultar
     end if

 if A = 3 then
     gosub modificar
     end if

 if A = 4 then
   gosub  eliminar
     end if


wend
end
REM FINAL DEL MENU DE CONTROL DEL PROGRAMA ***********************


REM SUBRUTINA DE CONTROL DE LO QUE SE MUESTRA EN PANTALLA ***********************
 pantalla:

 color 15,8
 cls

 locate 1,2: print"É"
 locate 1,79: print"»"
 locate 4,2: print"È"
 locate 4,79: print"¼"
 locate 6,2: print"É"
 locate 6,79: print"»"
 locate 19,2: print"È"
 locate 19,79: print"¼"
 locate 21,2: print"É"
 locate 21,79: print"»"
 locate 23,2: print"È"
 locate 23,79: print"¼"

 for I= 3 to 78
 locate 1,I: print"Í"
next I

 for I= 3 to 78
 locate 4,I: print"Í"
next I

 for I= 2 to 3
 locate I,2: print"º"
next I

 for I= 2 to 3
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 6,I: print"Í"
next I

 for I=7 to 18
 locate I,2: print"º"
next I

 for I=7 to 18
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 19,I: print"Í"
next I

 for I=3 to 78
 locate 21,I: print"Í"
next I

 for I= 22 to 22
 locate I,2: print"º"
next I

 for I=22 to 22
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 23,I: print"Í"
next I

      locate 2,5: print"IUTIRLA"
      locate 2,57: print"Caracas"
      locate 2,65: print date$
      locate 2,32: print "Hora: " time$

return
REM SUBRUTINA DE CONTROL DE LO QUE SE MUESTRA EN PANTALLA ***********************



REM SUBRUTINA PARA AÑADIR DATOS AL FICHERO (CEDULA, NOMBRE, APELLIDO, EDAD) ***********************
INCLUIR:

 CLS
 GOSUB PANTALLA
 CLOSE#1

  OPEN "NEWDATOS.TXT" FOR APPEND AS #1
  B$ = "S"
  WHILE B$ = "S" OR B$="s"
    locate 9,30: print "Cedula:"
    locate 10,30:input Cedula
    locate 11,30:print "Nombre:"
    locate 12,30:input Nombre$
    locate 13,30:print "Apellido:"
    locate 14,30:input Apellido$
    locate 15,30:print "Edad"
    locate 16,30:input Edad

  Write #1,Cedula,Nombre$,Apellido$,Edad

    locate 22,30: INPUT "¨Desea Continuar S/N?", B$
   
REM Limpiamos la pantalla
GOSUB PANTALLA
 WEND
 CLOSE #1
 RETURN
REM FIN SUBRUTINA PARA AÑADIR DATOS AL FICHERO (CEDULA, NOMBRE, APELLIDO, EDAD) ***********************


REM SUBRUTINA PARA CONSULTAR DATOS EN FICHERO A PARTIR DE LA CEDULA (MOSTRAR CEDULA, NOMBRE, APELLIDO, EDAD) ***********************
 CONSULTAR:
 FOUND=0
 CEDU=0
 GOSUB PANTALLA

 LOCATE 8,30:INPUT "CEDULA:",CEDU

 OPEN "NEWDATOS.TXT" FOR INPUT AS#1

WHILE (NOT EOF(1))

 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD

 IF CEDULA=CEDU THEN
FOUND=1
LOCATE 08,30:PRINT "CEDULA:",CEDU
LOCATE 10,30:PRINT "NOMBRE:",NOMBRE$
LOCATE 12,30:PRINT "APELLIDO:",APELLIDO$
LOCATE 14,30:PRINT "EDAD:",EDAD



 END IF
WEND
CLOSE#1
IF FOUND=0 THEN
LOCATE 08,30:PRINT "NO SE ENCUENTRA CEDULA ",CEDU
END IF

LOCATE 22,30:INPUT "Desea Seguir Consultando:S/N:",B$

 IF B$="S" OR B$="s" THEN
GOSUB CONSULTAR


 END IF
RETURN

REM FIN SUBRUTINA PARA CONSULTAR DATOS EN FICHERO A PARTIR DE LA CEDULA (MOSTRAR CEDULA, NOMBRE, APELLIDO, EDAD) ***********************



REM SUBRUTINA PARA MODIFICAR DATOS EN FICHERO A PARTIR DE LA CEDULA (SI SE ENCUENTRA LA CEDULA PEDIR NOMBRE, APELLIDO, EDAD Y MODIFICAR DATOS) ***********************
MODIFICAR:
 CLOSE#1
 CLS
 GOSUB PANTALLA
 CEDU=0


 OPEN "NEWDATOS.TXT" FOR INPUT AS#1
 LOCATE 08,30:INPUT "Cedula:",CEDU

 CONTADOR = 1
WHILE (NOT EOF(1))

 
 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD
Cedulax(CONTADOR) = CEDULA
Nombrex$(CONTADOR) = NOMBRE$
Apellidox$(CONTADOR) = APELLIDO$
Edadx(CONTADOR) = EDAD
 
IF CEDULA=CEDU THEN

 LOCATE 08,30:PRINT "Cedula:",CEDU
 LOCATE 10,30:PRINT "Nombre:",NOMBRE$
 LOCATE 12,30:PRINT "Apellido:",Apellido$
 LOCATE 14,30:PRINT "Edad:",Edad
 LOCATE 22,30:INPUT "Desea Modificar S/N:",B$

  IF B$="S" OR B$="s" THEN
  CLS
 GOSUB PANTALLA
 LOCATE 08,30:PRINT "Cedula:",CEDU
 LOCATE 10,30:INPUT "Nombre:",Nombre$
 LOCATE 12,30:INPUT "Apellido:",Apellido$
 LOCATE 14,30:INPUT "Edad:",Edad
    Cedulax(CONTADOR) = CEDULA
Nombrex$(CONTADOR) = NOMBRE$
Apellidox$(CONTADOR) = APELLIDO$
Edadx(CONTADOR) = EDAD
 
ELSE
CLOSE#1
RETURN
END IF
 END IF
 
  CONTADOR = CONTADOR + 1
 WEND

 CLOSE#1
 
   IF B$="S" OR B$="s" THEN
OPEN "NEWDATOS.TXT" FOR OUTPUT AS#1
FOR I = 1 TO CONTADOR-1
WRITE#1,Cedulax(I),Nombrex$(I),Apellidox$(I),Edadx(I)
NEXT
   END IF
 
 
 RETURN


REM FIN SUBRUTINA PARA MODIFICAR DATOS EN FICHERO A PARTIR DE LA CEDULA (SI SE ENCUENTRA LA CEDULA PEDIR NOMBRE, APELLIDO, EDAD Y MODIFICAR DATOS) ***********************


REM SUBRUTINA PARA ELIMINAR UN DATO A PARTIR DE LA CÉDULA ********************************
ELIMINAR:

CLOSE#1

CLS

GOSUB PANTALLA
CEDU=0
B$="S"

 OPEN "NEWDATOS.TXT"FOR INPUT AS#1
 LOCATE 08,30:INPUT "Cedula:",CEDU

WHILE (NOT EOF (1))

 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD

 IF CEDULA=CEDU THEN

 LOCATE 08,30:PRINT "CEDULA:",CEDU
 LOCATE 10,30:PRINT "NOMBRE:",NOMBRE$
 LOCATE 12,30:PRINT "APELLIDO:",APELLIDO$
 LOCATE 14,30:PRINT "EDAD:",EDAD

LOCATE 22,30:INPUT "¨Desea Eliminar S/N?:",B$



END IF
WEND

REM FIN SUBRUTINA PARA ELIMINAR UN DATO A PARTIR DE LA CÉDULA ********************************


Jigsaw_MGO

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 113
    • Ver Perfil
Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
« Respuesta #32 en: 14 de Mayo 2013, 19:19 »
He estado revisando la opción de modificar manteniendo la estructura del programa. He hecho alguna prueba y parece que funciona, de todas formas aquí te dejo el código. Haz pruebas y dime si te salen errores o si te funciona bien, para ver si hay que hacer correcciones o si seguimos hacia la siguiente opción.

La solución usada es la que te comentaba de meter todos los datos en un array temporalmente para luego volcarlos nuevamente al fichero con la modificación introducida.

Código: [Seleccionar]
REM MENU DE CONTROL DEL PROGRAMA ***********************

REM ARRAY PARA ALMACENAR EL CONTENIDO DE UN FICHERO CON LIMITE 100 DATOS
DIM Cedulax(100), Nombrex$(100), Apellidox$(100), Edadx(100)

MENU:
A=0
WHILE A<>5

     gosub pantalla
     locate 7,30: print "Menu Principal"
     locate 9,30: print"1.- Incluir"
     locate 11,30: print"2.- Consultar"
     locate 13,30: print"3.- Modificar"
     locate 15,30: print"4.- Eliminar"
     locate 17,30: print"5.- Salir"
     locate 22,30: print "Seleccione su Opcion:"
     locate 22,51: INPUT A

  if A = 1 then
        gosub incluir
     end if

  if A = 2 then
     gosub consultar
     end if

 if A = 3 then
     gosub modificar
     end if

 if A = 4 then
   gosub  eliminar
     end if


wend
end
REM FINAL DEL MENU DE CONTROL DEL PROGRAMA ***********************


REM SUBRUTINA DE CONTROL DE LO QUE SE MUESTRA EN PANTALLA ***********************
 pantalla:

 color 15,8
 cls

 locate 1,2: print"É"
 locate 1,79: print"»"
 locate 4,2: print"È"
 locate 4,79: print"¼"
 locate 6,2: print"É"
 locate 6,79: print"»"
 locate 19,2: print"È"
 locate 19,79: print"¼"
 locate 21,2: print"É"
 locate 21,79: print"»"
 locate 23,2: print"È"
 locate 23,79: print"¼"

 for I= 3 to 78
 locate 1,I: print"Í"
next I

 for I= 3 to 78
 locate 4,I: print"Í"
next I

 for I= 2 to 3
 locate I,2: print"º"
next I

 for I= 2 to 3
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 6,I: print"Í"
next I

 for I=7 to 18
 locate I,2: print"º"
next I

 for I=7 to 18
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 19,I: print"Í"
next I

 for I=3 to 78
 locate 21,I: print"Í"
next I

 for I= 22 to 22
 locate I,2: print"º"
next I

 for I=22 to 22
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 23,I: print"Í"
next I

      locate 2,5: print"IUTIRLA"
      locate 2,57: print"Caracas"
      locate 2,65: print date$
      locate 2,32: print "Hora: " time$

return
REM SUBRUTINA DE CONTROL DE LO QUE SE MUESTRA EN PANTALLA ***********************



REM SUBRUTINA PARA AÑADIR DATOS AL FICHERO (CEDULA, NOMBRE, APELLIDO, EDAD) ***********************
INCLUIR:

 CLS
 GOSUB PANTALLA
 CLOSE#1

  OPEN "NEWDATOS.TXT" FOR APPEND AS #1
  B$ = "S"
  WHILE B$ = "S" OR B$="s"
    locate 9,30: print "Cedula:"
    locate 10,30:input Cedula
    locate 11,30:print "Nombre:"
    locate 12,30:input Nombre$
    locate 13,30:print "Apellido:"
    locate 14,30:input Apellido$
    locate 15,30:print "Edad"
    locate 16,30:input Edad

  Write #1,Cedula,Nombre$,Apellido$,Edad

    locate 22,30: INPUT "¨Desea Continuar S/N?", B$
   
REM Limpiamos la pantalla
GOSUB PANTALLA
 WEND
 CLOSE #1
 RETURN
REM FIN SUBRUTINA PARA AÑADIR DATOS AL FICHERO (CEDULA, NOMBRE, APELLIDO, EDAD) ***********************


REM SUBRUTINA PARA CONSULTAR DATOS EN FICHERO A PARTIR DE LA CEDULA (MOSTRAR CEDULA, NOMBRE, APELLIDO, EDAD) ***********************
 CONSULTAR:
 FOUND=0
 CEDU=0
 GOSUB PANTALLA

 LOCATE 8,30:INPUT "CEDULA:",CEDU

 OPEN "NEWDATOS.TXT" FOR INPUT AS#1

WHILE (NOT EOF(1))

 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD

 IF CEDULA=CEDU THEN
FOUND=1
LOCATE 08,30:PRINT "CEDULA:",CEDU
LOCATE 10,30:PRINT "NOMBRE:",NOMBRE$
LOCATE 12,30:PRINT "APELLIDO:",APELLIDO$
LOCATE 14,30:PRINT "EDAD:",EDAD



 END IF
WEND
CLOSE#1
IF FOUND=0 THEN
LOCATE 08,30:PRINT "NO SE ENCUENTRA CEDULA ",CEDU
END IF

LOCATE 22,30:INPUT "Desea Seguir Consultando:S/N:",B$

 IF B$="S" OR B$="s" THEN
GOSUB CONSULTAR


 END IF
RETURN

REM FIN SUBRUTINA PARA CONSULTAR DATOS EN FICHERO A PARTIR DE LA CEDULA (MOSTRAR CEDULA, NOMBRE, APELLIDO, EDAD) ***********************



REM SUBRUTINA PARA MODIFICAR DATOS EN FICHERO A PARTIR DE LA CEDULA (SI SE ENCUENTRA LA CEDULA PEDIR NOMBRE, APELLIDO, EDAD Y MODIFICAR DATOS) ***********************
MODIFICAR:
 CLOSE#1
 CLS
 GOSUB PANTALLA
 CEDU=0


 OPEN "NEWDATOS.TXT" FOR INPUT AS#1
 LOCATE 08,30:INPUT "Cedula:",CEDU

 CONTADOR = 1
WHILE (NOT EOF(1))

 
 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD
Cedulax(CONTADOR) = CEDULA
Nombrex$(CONTADOR) = NOMBRE$
Apellidox$(CONTADOR) = APELLIDO$
Edadx(CONTADOR) = EDAD
 
IF CEDULA=CEDU THEN

 LOCATE 08,30:PRINT "Cedula:",CEDU
 LOCATE 10,30:PRINT "Nombre:",NOMBRE$
 LOCATE 12,30:PRINT "Apellido:",Apellido$
 LOCATE 14,30:PRINT "Edad:",Edad
 LOCATE 22,30:INPUT "Desea Modificar S/N:",B$

  IF B$="S" OR B$="s" THEN
  CLS
 GOSUB PANTALLA
 LOCATE 08,30:PRINT "Cedula:",CEDU
 LOCATE 10,30:INPUT "Nombre:",Nombre$
 LOCATE 12,30:INPUT "Apellido:",Apellido$
 LOCATE 14,30:INPUT "Edad:",Edad
    Cedulax(CONTADOR) = CEDULA
Nombrex$(CONTADOR) = NOMBRE$
Apellidox$(CONTADOR) = APELLIDO$
Edadx(CONTADOR) = EDAD
 
ELSE
CLOSE#1
RETURN
END IF
 END IF
 
  CONTADOR = CONTADOR + 1
 WEND

 CLOSE#1
 
   IF B$="S" OR B$="s" THEN
OPEN "NEWDATOS.TXT" FOR OUTPUT AS#1
FOR I = 1 TO CONTADOR-1
WRITE#1,Cedulax(I),Nombrex$(I),Apellidox$(I),Edadx(I)
NEXT
   END IF
 
 
 RETURN


REM FIN SUBRUTINA PARA MODIFICAR DATOS EN FICHERO A PARTIR DE LA CEDULA (SI SE ENCUENTRA LA CEDULA PEDIR NOMBRE, APELLIDO, EDAD Y MODIFICAR DATOS) ***********************


REM SUBRUTINA PARA ELIMINAR UN DATO A PARTIR DE LA CÉDULA ********************************
ELIMINAR:

CLOSE#1

CLS

GOSUB PANTALLA
CEDU=0
B$="S"

 OPEN "NEWDATOS.TXT"FOR INPUT AS#1
 LOCATE 08,30:INPUT "Cedula:",CEDU

WHILE (NOT EOF (1))

 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD

 IF CEDULA=CEDU THEN

 LOCATE 08,30:PRINT "CEDULA:",CEDU
 LOCATE 10,30:PRINT "NOMBRE:",NOMBRE$
 LOCATE 12,30:PRINT "APELLIDO:",APELLIDO$
 LOCATE 14,30:PRINT "EDAD:",EDAD

LOCATE 22,30:INPUT "¨Desea Eliminar S/N?:",B$



END IF
WEND

REM FIN SUBRUTINA PARA ELIMINAR UN DATO A PARTIR DE LA CÉDULA ********************************



Si funciona perfecto, ahora faltaría la parte en la que eliminamos varios datos, y que cuando salgamos, te muestre una lista de datos eliminados, :) gracias has sido de mucha ayuda, me avisas si investigas como eliminar cedula por cedula :P porfa.

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
« Respuesta #33 en: 16 de Mayo 2013, 16:50 »
Pues esto que falta creo que se puede hacer de la misma manera que hemos hecho para eliminar datos, es decir, usando arrays. Con arrays puedes decidir con qué datos te quedas y si quieres también una lista de datos eliminados también puedes tenerla ¿Has probado de esta manera?

Jigsaw_MGO

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 113
    • Ver Perfil
Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
« Respuesta #34 en: 17 de Mayo 2013, 07:53 »
Pues esto que falta creo que se puede hacer de la misma manera que hemos hecho para eliminar datos, es decir, usando arrays. Con arrays puedes decidir con qué datos te quedas y si quieres también una lista de datos eliminados también puedes tenerla ¿Has probado de esta manera?

No pues no tengo idea de como hacerlo :S

Jigsaw_MGO

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 113
    • Ver Perfil
Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
« Respuesta #35 en: 20 de Mayo 2013, 12:57 »
Pues esto que falta creo que se puede hacer de la misma manera que hemos hecho para eliminar datos, es decir, usando arrays. Con arrays puedes decidir con qué datos te quedas y si quieres también una lista de datos eliminados también puedes tenerla ¿Has probado de esta manera?

Lo intentaré hacer con arrays y te digo, ve intentando tu y comparamos, gracias has sido de gran ayuda.

Jigsaw_MGO

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 113
    • Ver Perfil
Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
« Respuesta #36 en: 22 de Mayo 2013, 04:08 »
Pues esto que falta creo que se puede hacer de la misma manera que hemos hecho para eliminar datos, es decir, usando arrays. Con arrays puedes decidir con qué datos te quedas y si quieres también una lista de datos eliminados también puedes tenerla ¿Has probado de esta manera?

Lo intentaré hacer con arrays y te digo, ve intentando tu y comparamos, gracias has sido de gran ayuda.


Como vas amigo? has podido realizarlo? a mi todavia no me da :S me da error

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
« Respuesta #37 en: 23 de Mayo 2013, 08:50 »
Creo que aquí está funcionando ya la opción de eliminar, te dejo el código. Revísalo y ya me comentas si te funciona.

Código: [Seleccionar]
REM MENU DE CONTROL DEL PROGRAMA ***********************

REM ARRAY PARA ALMACENAR EL CONTENIDO DE UN FICHERO CON LIMITE 100 DATOS
DIM Cedulax(100), Nombrex$(100), Apellidox$(100), Edadx(100)

MENU:
A=0
WHILE A<>5

     gosub pantalla
     locate 7,30: print "Menu Principal"
     locate 9,30: print"1.- Incluir"
     locate 11,30: print"2.- Consultar"
     locate 13,30: print"3.- Modificar"
     locate 15,30: print"4.- Eliminar"
     locate 17,30: print"5.- Salir"
     locate 22,30: print "Seleccione su Opcion:"
     locate 22,51: INPUT A

  if A = 1 then
        gosub incluir
     end if

  if A = 2 then
     gosub consultar
     end if

 if A = 3 then
     gosub modificar
     end if

 if A = 4 then
   gosub  eliminar
     end if


wend
end
REM FINAL DEL MENU DE CONTROL DEL PROGRAMA ***********************


REM SUBRUTINA DE CONTROL DE LO QUE SE MUESTRA EN PANTALLA ***********************
 pantalla:

 color 15,8
 cls

 locate 1,2: print"É"
 locate 1,79: print"»"
 locate 4,2: print"È"
 locate 4,79: print"¼"
 locate 6,2: print"É"
 locate 6,79: print"»"
 locate 19,2: print"È"
 locate 19,79: print"¼"
 locate 21,2: print"É"
 locate 21,79: print"»"
 locate 23,2: print"È"
 locate 23,79: print"¼"

 for I= 3 to 78
 locate 1,I: print"Í"
next I

 for I= 3 to 78
 locate 4,I: print"Í"
next I

 for I= 2 to 3
 locate I,2: print"º"
next I

 for I= 2 to 3
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 6,I: print"Í"
next I

 for I=7 to 18
 locate I,2: print"º"
next I

 for I=7 to 18
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 19,I: print"Í"
next I

 for I=3 to 78
 locate 21,I: print"Í"
next I

 for I= 22 to 22
 locate I,2: print"º"
next I

 for I=22 to 22
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 23,I: print"Í"
next I

      locate 2,5: print"IUTIRLA"
      locate 2,57: print"Caracas"
      locate 2,65: print date$
      locate 2,32: print "Hora: " time$

return
REM SUBRUTINA DE CONTROL DE LO QUE SE MUESTRA EN PANTALLA ***********************



REM SUBRUTINA PARA AÑADIR DATOS AL FICHERO (CEDULA, NOMBRE, APELLIDO, EDAD) ***********************
INCLUIR:

 CLS
 GOSUB PANTALLA
 CLOSE#1

  OPEN "NEWDATOS.TXT" FOR APPEND AS #1
  B$ = "S"
  WHILE B$ = "S" OR B$="s"
    locate 9,30: print "Cedula:"
    locate 10,30:input Cedula
    locate 11,30:print "Nombre:"
    locate 12,30:input Nombre$
    locate 13,30:print "Apellido:"
    locate 14,30:input Apellido$
    locate 15,30:print "Edad"
    locate 16,30:input Edad

  Write #1,Cedula,Nombre$,Apellido$,Edad

    locate 22,30: INPUT "¨Desea Continuar S/N?", B$
   
REM Limpiamos la pantalla
GOSUB PANTALLA
 WEND
 CLOSE #1
 RETURN
REM FIN SUBRUTINA PARA AÑADIR DATOS AL FICHERO (CEDULA, NOMBRE, APELLIDO, EDAD) ***********************


REM SUBRUTINA PARA CONSULTAR DATOS EN FICHERO A PARTIR DE LA CEDULA (MOSTRAR CEDULA, NOMBRE, APELLIDO, EDAD) ***********************
 CONSULTAR:
 FOUND=0
 CEDU=0
 CLOSE#1
 GOSUB PANTALLA

 LOCATE 8,30:INPUT "CEDULA:",CEDU

 OPEN "NEWDATOS.TXT" FOR INPUT AS#1

WHILE (NOT EOF(1))

 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD

 IF CEDULA=CEDU THEN
FOUND=1
LOCATE 08,30:PRINT "CEDULA:",CEDU
LOCATE 10,30:PRINT "NOMBRE:",NOMBRE$
LOCATE 12,30:PRINT "APELLIDO:",APELLIDO$
LOCATE 14,30:PRINT "EDAD:",EDAD



 END IF
WEND
CLOSE#1
IF FOUND=0 THEN
LOCATE 08,30:PRINT "NO SE ENCUENTRA CEDULA ",CEDU
END IF

LOCATE 22,30:INPUT "Desea Seguir Consultando:S/N:",B$

 IF B$="S" OR B$="s" THEN
GOSUB CONSULTAR


 END IF
RETURN

REM FIN SUBRUTINA PARA CONSULTAR DATOS EN FICHERO A PARTIR DE LA CEDULA (MOSTRAR CEDULA, NOMBRE, APELLIDO, EDAD) ***********************



REM SUBRUTINA PARA MODIFICAR DATOS EN FICHERO A PARTIR DE LA CEDULA (SI SE ENCUENTRA LA CEDULA PEDIR NOMBRE, APELLIDO, EDAD Y MODIFICAR DATOS) ***********************
MODIFICAR:
 CLOSE#1
 CLS
 GOSUB PANTALLA
 CEDU=0


 OPEN "NEWDATOS.TXT" FOR INPUT AS#1
 LOCATE 08,30:INPUT "Cedula:",CEDU

 CONTADOR = 1
WHILE (NOT EOF(1))

 
 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD
Cedulax(CONTADOR) = CEDULA
Nombrex$(CONTADOR) = NOMBRE$
Apellidox$(CONTADOR) = APELLIDO$
Edadx(CONTADOR) = EDAD
 
IF CEDULA=CEDU THEN

 LOCATE 08,30:PRINT "Cedula:",CEDU
 LOCATE 10,30:PRINT "Nombre:",NOMBRE$
 LOCATE 12,30:PRINT "Apellido:",Apellido$
 LOCATE 14,30:PRINT "Edad:",Edad
 LOCATE 22,30:INPUT "Desea Modificar S/N:",B$

  IF B$="S" OR B$="s" THEN
  CLS
 GOSUB PANTALLA
 LOCATE 08,30:PRINT "Cedula:",CEDU
 LOCATE 10,30:INPUT "Nombre:",Nombre$
 LOCATE 12,30:INPUT "Apellido:",Apellido$
 LOCATE 14,30:INPUT "Edad:",Edad
    Cedulax(CONTADOR) = CEDULA
Nombrex$(CONTADOR) = NOMBRE$
Apellidox$(CONTADOR) = APELLIDO$
Edadx(CONTADOR) = EDAD
 
ELSE
CLOSE#1
RETURN
END IF
 END IF
 
  CONTADOR = CONTADOR + 1
 WEND

 CLOSE#1
 
   IF B$="S" OR B$="s" THEN
OPEN "NEWDATOS.TXT" FOR OUTPUT AS#1
FOR I = 1 TO CONTADOR-1
WRITE#1,Cedulax(I),Nombrex$(I),Apellidox$(I),Edadx(I)
NEXT
   END IF
 
 
 RETURN


REM FIN SUBRUTINA PARA MODIFICAR DATOS EN FICHERO A PARTIR DE LA CEDULA (SI SE ENCUENTRA LA CEDULA PEDIR NOMBRE, APELLIDO, EDAD Y MODIFICAR DATOS) ***********************


REM SUBRUTINA PARA ELIMINAR UN DATO A PARTIR DE LA CÉDULA ********************************
ELIMINAR:

 CLOSE#1
 CLS
 GOSUB PANTALLA
 CEDU=0


 OPEN "NEWDATOS.TXT" FOR INPUT AS#1
 LOCATE 08,30:INPUT "Cedula:",CEDU

 CONTADOR = 1
WHILE (NOT EOF(1))

 
 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD
Cedulax(CONTADOR) = CEDULA
Nombrex$(CONTADOR) = NOMBRE$
Apellidox$(CONTADOR) = APELLIDO$
Edadx(CONTADOR) = EDAD
 
IF CEDULA=CEDU THEN

 LOCATE 08,30:PRINT "Cedula:",CEDU
 LOCATE 10,30:PRINT "Nombre:",NOMBRE$
 LOCATE 12,30:PRINT "Apellido:",Apellido$
 LOCATE 14,30:PRINT "Edad:",Edad
 LOCATE 22,30:INPUT "Desea Eliminar S/N:",B$

  IF B$="S" OR B$="s" THEN
  CLS
 GOSUB PANTALLA
 LOCATE 22,30:PRINT "Los datos han sido eliminados"
 REM SI HEMOS ELIMINADO EL CONTADOR NO DEBE INCREMENTARSE
 CONTADOR = CONTADOR - 1
 
ELSE
CLOSE#1
RETURN
END IF
 END IF
 
  CONTADOR = CONTADOR + 1
 WEND

 CLOSE#1
 
   IF B$="S" OR B$="s" THEN
OPEN "NEWDATOS.TXT" FOR OUTPUT AS#1
FOR I = 1 TO CONTADOR-1
WRITE#1,Cedulax(I),Nombrex$(I),Apellidox$(I),Edadx(I)
NEXT
   END IF
 
 
 RETURN


REM FIN SUBRUTINA PARA ELIMINAR UN DATO A PARTIR DE LA CÉDULA ********************************

Jigsaw_MGO

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 113
    • Ver Perfil
Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
« Respuesta #38 en: 24 de Mayo 2013, 19:26 »
Nuevo codigo que acabo de implementar, en el archivo abajo, ahora lo que me falta es que liste todos los datos eliminados, a mi me funciona, prueba y me avisas de que manera se puede hacer diferente, gracias hermano, hablamos :)

Jigsaw_MGO

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 113
    • Ver Perfil
Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
« Respuesta #39 en: 29 de Mayo 2013, 05:55 »
Ya lo modifiqué revisalo cuando puedas, saludos
el archivo esta en el comment de arriba

Creo que aquí está funcionando ya la opción de eliminar, te dejo el código. Revísalo y ya me comentas si te funciona.

Código: [Seleccionar]
REM MENU DE CONTROL DEL PROGRAMA ***********************

REM ARRAY PARA ALMACENAR EL CONTENIDO DE UN FICHERO CON LIMITE 100 DATOS
DIM Cedulax(100), Nombrex$(100), Apellidox$(100), Edadx(100)

MENU:
A=0
WHILE A<>5

     gosub pantalla
     locate 7,30: print "Menu Principal"
     locate 9,30: print"1.- Incluir"
     locate 11,30: print"2.- Consultar"
     locate 13,30: print"3.- Modificar"
     locate 15,30: print"4.- Eliminar"
     locate 17,30: print"5.- Salir"
     locate 22,30: print "Seleccione su Opcion:"
     locate 22,51: INPUT A

  if A = 1 then
        gosub incluir
     end if

  if A = 2 then
     gosub consultar
     end if

 if A = 3 then
     gosub modificar
     end if

 if A = 4 then
   gosub  eliminar
     end if


wend
end
REM FINAL DEL MENU DE CONTROL DEL PROGRAMA ***********************


REM SUBRUTINA DE CONTROL DE LO QUE SE MUESTRA EN PANTALLA ***********************
 pantalla:

 color 15,8
 cls

 locate 1,2: print"É"
 locate 1,79: print"»"
 locate 4,2: print"È"
 locate 4,79: print"¼"
 locate 6,2: print"É"
 locate 6,79: print"»"
 locate 19,2: print"È"
 locate 19,79: print"¼"
 locate 21,2: print"É"
 locate 21,79: print"»"
 locate 23,2: print"È"
 locate 23,79: print"¼"

 for I= 3 to 78
 locate 1,I: print"Í"
next I

 for I= 3 to 78
 locate 4,I: print"Í"
next I

 for I= 2 to 3
 locate I,2: print"º"
next I

 for I= 2 to 3
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 6,I: print"Í"
next I

 for I=7 to 18
 locate I,2: print"º"
next I

 for I=7 to 18
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 19,I: print"Í"
next I

 for I=3 to 78
 locate 21,I: print"Í"
next I

 for I= 22 to 22
 locate I,2: print"º"
next I

 for I=22 to 22
 locate I,79: print"º"
next I

 for I=3 to 78
 locate 23,I: print"Í"
next I

      locate 2,5: print"IUTIRLA"
      locate 2,57: print"Caracas"
      locate 2,65: print date$
      locate 2,32: print "Hora: " time$

return
REM SUBRUTINA DE CONTROL DE LO QUE SE MUESTRA EN PANTALLA ***********************



REM SUBRUTINA PARA AÑADIR DATOS AL FICHERO (CEDULA, NOMBRE, APELLIDO, EDAD) ***********************
INCLUIR:

 CLS
 GOSUB PANTALLA
 CLOSE#1

  OPEN "NEWDATOS.TXT" FOR APPEND AS #1
  B$ = "S"
  WHILE B$ = "S" OR B$="s"
    locate 9,30: print "Cedula:"
    locate 10,30:input Cedula
    locate 11,30:print "Nombre:"
    locate 12,30:input Nombre$
    locate 13,30:print "Apellido:"
    locate 14,30:input Apellido$
    locate 15,30:print "Edad"
    locate 16,30:input Edad

  Write #1,Cedula,Nombre$,Apellido$,Edad

    locate 22,30: INPUT "¨Desea Continuar S/N?", B$
   
REM Limpiamos la pantalla
GOSUB PANTALLA
 WEND
 CLOSE #1
 RETURN
REM FIN SUBRUTINA PARA AÑADIR DATOS AL FICHERO (CEDULA, NOMBRE, APELLIDO, EDAD) ***********************


REM SUBRUTINA PARA CONSULTAR DATOS EN FICHERO A PARTIR DE LA CEDULA (MOSTRAR CEDULA, NOMBRE, APELLIDO, EDAD) ***********************
 CONSULTAR:
 FOUND=0
 CEDU=0
 CLOSE#1
 GOSUB PANTALLA

 LOCATE 8,30:INPUT "CEDULA:",CEDU

 OPEN "NEWDATOS.TXT" FOR INPUT AS#1

WHILE (NOT EOF(1))

 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD

 IF CEDULA=CEDU THEN
FOUND=1
LOCATE 08,30:PRINT "CEDULA:",CEDU
LOCATE 10,30:PRINT "NOMBRE:",NOMBRE$
LOCATE 12,30:PRINT "APELLIDO:",APELLIDO$
LOCATE 14,30:PRINT "EDAD:",EDAD



 END IF
WEND
CLOSE#1
IF FOUND=0 THEN
LOCATE 08,30:PRINT "NO SE ENCUENTRA CEDULA ",CEDU
END IF

LOCATE 22,30:INPUT "Desea Seguir Consultando:S/N:",B$

 IF B$="S" OR B$="s" THEN
GOSUB CONSULTAR


 END IF
RETURN

REM FIN SUBRUTINA PARA CONSULTAR DATOS EN FICHERO A PARTIR DE LA CEDULA (MOSTRAR CEDULA, NOMBRE, APELLIDO, EDAD) ***********************



REM SUBRUTINA PARA MODIFICAR DATOS EN FICHERO A PARTIR DE LA CEDULA (SI SE ENCUENTRA LA CEDULA PEDIR NOMBRE, APELLIDO, EDAD Y MODIFICAR DATOS) ***********************
MODIFICAR:
 CLOSE#1
 CLS
 GOSUB PANTALLA
 CEDU=0


 OPEN "NEWDATOS.TXT" FOR INPUT AS#1
 LOCATE 08,30:INPUT "Cedula:",CEDU

 CONTADOR = 1
WHILE (NOT EOF(1))

 
 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD
Cedulax(CONTADOR) = CEDULA
Nombrex$(CONTADOR) = NOMBRE$
Apellidox$(CONTADOR) = APELLIDO$
Edadx(CONTADOR) = EDAD
 
IF CEDULA=CEDU THEN

 LOCATE 08,30:PRINT "Cedula:",CEDU
 LOCATE 10,30:PRINT "Nombre:",NOMBRE$
 LOCATE 12,30:PRINT "Apellido:",Apellido$
 LOCATE 14,30:PRINT "Edad:",Edad
 LOCATE 22,30:INPUT "Desea Modificar S/N:",B$

  IF B$="S" OR B$="s" THEN
  CLS
 GOSUB PANTALLA
 LOCATE 08,30:PRINT "Cedula:",CEDU
 LOCATE 10,30:INPUT "Nombre:",Nombre$
 LOCATE 12,30:INPUT "Apellido:",Apellido$
 LOCATE 14,30:INPUT "Edad:",Edad
    Cedulax(CONTADOR) = CEDULA
Nombrex$(CONTADOR) = NOMBRE$
Apellidox$(CONTADOR) = APELLIDO$
Edadx(CONTADOR) = EDAD
 
ELSE
CLOSE#1
RETURN
END IF
 END IF
 
  CONTADOR = CONTADOR + 1
 WEND

 CLOSE#1
 
   IF B$="S" OR B$="s" THEN
OPEN "NEWDATOS.TXT" FOR OUTPUT AS#1
FOR I = 1 TO CONTADOR-1
WRITE#1,Cedulax(I),Nombrex$(I),Apellidox$(I),Edadx(I)
NEXT
   END IF
 
 
 RETURN


REM FIN SUBRUTINA PARA MODIFICAR DATOS EN FICHERO A PARTIR DE LA CEDULA (SI SE ENCUENTRA LA CEDULA PEDIR NOMBRE, APELLIDO, EDAD Y MODIFICAR DATOS) ***********************


REM SUBRUTINA PARA ELIMINAR UN DATO A PARTIR DE LA CÉDULA ********************************
ELIMINAR:

 CLOSE#1
 CLS
 GOSUB PANTALLA
 CEDU=0


 OPEN "NEWDATOS.TXT" FOR INPUT AS#1
 LOCATE 08,30:INPUT "Cedula:",CEDU

 CONTADOR = 1
WHILE (NOT EOF(1))

 
 INPUT#1,CEDULA,NOMBRE$,APELLIDO$,EDAD
Cedulax(CONTADOR) = CEDULA
Nombrex$(CONTADOR) = NOMBRE$
Apellidox$(CONTADOR) = APELLIDO$
Edadx(CONTADOR) = EDAD
 
IF CEDULA=CEDU THEN

 LOCATE 08,30:PRINT "Cedula:",CEDU
 LOCATE 10,30:PRINT "Nombre:",NOMBRE$
 LOCATE 12,30:PRINT "Apellido:",Apellido$
 LOCATE 14,30:PRINT "Edad:",Edad
 LOCATE 22,30:INPUT "Desea Eliminar S/N:",B$

  IF B$="S" OR B$="s" THEN
  CLS
 GOSUB PANTALLA
 LOCATE 22,30:PRINT "Los datos han sido eliminados"
 REM SI HEMOS ELIMINADO EL CONTADOR NO DEBE INCREMENTARSE
 CONTADOR = CONTADOR - 1
 
ELSE
CLOSE#1
RETURN
END IF
 END IF
 
  CONTADOR = CONTADOR + 1
 WEND

 CLOSE#1
 
   IF B$="S" OR B$="s" THEN
OPEN "NEWDATOS.TXT" FOR OUTPUT AS#1
FOR I = 1 TO CONTADOR-1
WRITE#1,Cedulax(I),Nombrex$(I),Apellidox$(I),Edadx(I)
NEXT
   END IF
 
 
 RETURN


REM FIN SUBRUTINA PARA ELIMINAR UN DATO A PARTIR DE LA CÉDULA ********************************

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".