Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Jigsaw_MGO en 20 de Abril 2013, 23:18

Título: Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO en 20 de Abril 2013, 23:18
Buenas me llamo Alejandro soy de Venezuela y recien empecé a estudiar Informática (Ciencias de la Computación) en la Uni. Voy por segundo semestre y en el primer semestre vimos programación en TurboBasic, lo que pasa es que no encuentro ni tutoriales, ni ejercicios ni programas con los que practicar entonces siento como que no he aprendido nada y me estresa que ni siquiera pueda terminar mi juego de Tres en Linea o Tic-Tac-Toe o La Vieja como quiera llamarle, alguien me podría instruir por favor? o decirme donde puedo conseguir algo que me sirva de referencia para BASIC. (No quiero pasar a Visual Basic aun), De Antemano Gracias.
Título: Re:Ayuda por favor soy nuevo en esto!!. Nadie puede ayudar? >.<
Publicado por: Jigsaw_MGO en 22 de Abril 2013, 04:17
Buenas me llamo Alejandro soy de Venezuela y recien empecé a estudiar Informática (Ciencias de la Computación) en la Uni. Voy por segundo semestre y en el primer semestre vimos programación en TurboBasic, lo que pasa es que no encuentro ni tutoriales, ni ejercicios ni programas con los que practicar entonces siento como que no he aprendido nada y me estresa que ni siquiera pueda terminar mi juego de Tres en Linea o Tic-Tac-Toe o La Vieja como quiera llamarle, alguien me podría instruir por favor? o decirme donde puedo conseguir algo que me sirva de referencia para BASIC. (No quiero pasar a Visual Basic aun), De Antemano Gracias.
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Alex Rodríguez en 22 de Abril 2013, 08:44
Hola, aquí te dejo un link a un manual de Turbo Basic (en inglés):

http://bitsavers.informatik.uni-stuttgart.de/pdf/borland/Borland_Turbo_BASIC_Owners_Handbook_1987.pdf

También disponible aquí: http://es.scribd.com/doc/56593631/Borland-Turbo-BASIC-Owners-Handbook-1987

O aquí: http://www.codeproject.com/script/News/View.aspx?nwid=20618

El asunto es que TurboBasic es un lenguaje de los años ochenta que prácticamente se ha dejado de usar, por eso es quizás un poco difícil conseguir información. Además, al escribir en el foro te recomiendo que pongas en el título aquello sobre lo que quieres consultar, por ejemplo si es sobre turbo basic pon ayuda sobre turbo basic, si pones simplemente por favor ayuda es más difícil que se lea tu consulta y que obtengas respuesta porque no queda claro sobre qué preguntas.

Si vas preparando código puedo intentar echarte una mano con las dudas que te surjan, suerte.

Título: Re:Ayuda tutorial Turbo Basic
Publicado por: Jigsaw_MGO en 22 de Abril 2013, 18:57
Hola, aquí te dejo un link a un manual de Turbo Basic (en inglés):

http://bitsavers.informatik.uni-stuttgart.de/pdf/borland/Borland_Turbo_BASIC_Owners_Handbook_1987.pdf

También disponible aquí: http://es.scribd.com/doc/56593631/Borland-Turbo-BASIC-Owners-Handbook-1987

O aquí: http://www.codeproject.com/script/News/View.aspx?nwid=20618

El asunto es que TurboBasic es un lenguaje de los años ochenta que prácticamente se ha dejado de usar, por eso es quizás un poco difícil conseguir información. Además, al escribir en el foro te recomiendo que pongas en el título aquello sobre lo que quieres consultar, por ejemplo si es sobre turbo basic pon ayuda sobre turbo basic, si pones simplemente por favor ayuda es más difícil que se lea tu consulta y que obtengas respuesta porque no queda claro sobre qué preguntas.

Si vas preparando código puedo intentar echarte una mano con las dudas que te surjan, suerte.


Gracias me disculpo es que me desespero porque quiero aprender!! si quieres me agregas y hablamos :)
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Alex Rodríguez en 22 de Abril 2013, 21:59
Para cualquier cosa escribe a través del foro aquí intentamos ayudarnos entre todos  ;)
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO en 23 de Abril 2013, 04:44
Para cualquier cosa escribe a través del foro aquí intentamos ayudarnos entre todos  ;)


Buenas otra vez, aquí está un programa en el que he estado trabajando y espero me ayudes, es como un cuadro, que almacena, consulta, modifica , elimina y lista los datos eliminados. Pero no me funciona mucho te dejo el Codigo Aqui

 MENU:
 A=0

WHILE A<>6
CLS
GOSUB PANTALLA

 LOCATE 2,3:PRINT "IUTIRLA LA YAGUARA CCS","Fecha:"DATE$,"Hora:"TIME$
 LOCATE 7,38:PRINT "1-INCLUIR"
 LOCATE 9,38:PRINT "2-CONSULTAR"
 LOCATE 11,38:PRINT "3-MODIFICAR"
 LOCATE 13,38:PRINT "4-ELIMINAR"
 LOCATE 15,38:PRINT "5-LISTAR"
 LOCATE 17,38:PRINT "6-SALIR"
 LOCATE 22,30:INPUT "Por Favor Seleccione Su Opcion:",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

  IF A = 5 THEN
REM  GOSUB LISTAR
  END IF

  IF A = 6 THEN

  END IF

WEND
END

 PANTALLA:

 COLOR 15,8


 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

RETURN


INCLUIR:
CLS
GOSUB PANTALLA

CEDU=0

 LOCATE 7,30:INPUT "CEDULA:",CEDU
 LOCATE 9,30:INPUT "NOMBRE:",NOMBRE$
 LOCATE 11,30:INPUT "APELLIDO:",APELLIDO$
 LOCATE 13,30:INPUT "EDAD:",EDAD
 CLOSE#1

 OPEN "PRUEBA.TXT" FOR APPEND AS#1
 WRITE #1,CEDU,NOMBRE$,APELLIDO$,EDAD

B$="S"

 LOCATE 22,30:INPUT "¨Desea Seguir Introduciendo Datos? S/N:",B$

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

 GOSUB INCLUIR

 END IF

RETURN

CLOSE#1

 CONSULTAR:

CEDU=0
CLS
GOSUB PANTALLA

CLOSE#1

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

 OPEN "PRUEBA.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
CLOSE#1

MODIFICAR:

CLS
 GOSUB PANTALLA
 CEDU=0
 CLOSE#1
 CLOSE#1
 CLOSE#2
 CLOSE#2
 OPEN "PRUEBA.TXT" FOR INPUT AS#1
 OPEN "PRUEBA1.TXT"FOR APPEND AS#2
 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


REM WRITE #1,CEDULA,NOMBRE$,APELLIDO$,EDAD
END IF
END IF
END IF
WEND

CLOSE#1
CLOSE#2

RETURN

KILL "PRUEBA.TXT "
NAME "PRUEBA1.TXT" AS "PRUEBA.TXT"


ELIMINAR:
CLS
GOSUB PANTALLA
CEDU=0
B$="S"

 CLOSE#1
 CLOSE#2


 OPEN "PRUEBA.TXT"FOR INPUT AS#1
 OPEN "PRUEBA1.TXT"FOR APPEND AS#2
 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$

IF B$="S" or B$="s" THEN
KILL CEDULA
 LOCATE 22,30:PRINT CEDULA "HA SIDO ELIMINADA SATISFACTORIAMENTE"
END IF
END IF
WEND


Título: Programa en Turbo Basic Ayuda!!
Publicado por: Jigsaw_MGO en 23 de Abril 2013, 19:25
No logro eliminar las cedulas, ni que me aparezcan en listado!! Ahi dejé el codigo, por fa ayuda!!
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: javi in the sky en 23 de Abril 2013, 23:23
¿Qué versión de turbo basic o compilador estás usando? (a ver si me lo puedo bajar de internet)

¿Cuando introduces datos y luego abres el archivo ves los datos que se hayan guardado o no llegan a guardarse?
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO en 24 de Abril 2013, 02:15
¿Qué versión de turbo basic o compilador estás usando? (a ver si me lo puedo bajar de internet)

¿Cuando introduces datos y luego abres el archivo ves los datos que se hayan guardado o no llegan a guardarse?

Es el TurboBasic 1.0, pero creo que puede servirte el QBASIC,
1- En el caso de Incluir, Crea un Archivo llamado "Prueba.txt" y graba la cedula,nombre,apellido y edad, luego manda un mensaje si quieres continuar, si es "SI" borra la pantalla y repite el proceso y sigue guardando los datos en el TXT si es "NO" sale al menu principal.

2- Ahora en Consultar, Si la cedula insertada es igual a la cedula grabada previamente, muestra los datos en pantalla, luego manda un mensaje si quieres seguir consultando datos, si es "SI" limpia la pantalla, "NO" sale al Menu Principal.

3- En Modificar (Aqui comienzan los problemas) Si la Cedula insertada existe, el programa muestra los datos en la pantalla perfectamente, te da una opcion para Modificar Datos, Si es "SI" te permite insertar datos en cada renglón, pero cuando terminas de insertar, no reemplaza los viejos datos por los nuevos.

4-En Eliminar (Aqui Tampoco Funciona) He aqui el comando "KILL PRUEBA.TXT" NAME "PRUEBA1.TXT AS PRUEBA.TXT" Pero en vez de SOLO BORRAR LA CEDULA, borra TODO EL ARCHIVO  lo cual no me permite Listar los datos (Cedulas) Eliminadas, ya que no hay nada en los TXT. Les agradeceria la ayuda por favor. Gracias
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: javi in the sky en 24 de Abril 2013, 18:25
Voy a mirarlo con calma, pero tienes que ver el manual y el significado de cada instrucción:

Según el manual:

KILL deletes a file (like the DOS DEL command).

KILL borra un fichero, por tanto el programa se ejecuta bien. Si tú das la orden de borrar un fichero, te borra el fichero. No puedes borrar los datos de una cédula usando KILL porque KILL lo que hace es borrar el fichero, hay que investigar cómo borrar los datos de la cédula que el usuario quiera eliminar.



Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO en 24 de Abril 2013, 23:49
Voy a mirarlo con calma, pero tienes que ver el manual y el significado de cada instrucción:

Según el manual:

KILL deletes a file (like the DOS DEL command).

KILL borra un fichero, por tanto el programa se ejecuta bien. Si tú das la orden de borrar un fichero, te borra el fichero. No puedes borrar los datos de una cédula usando KILL porque KILL lo que hace es borrar el fichero, hay que investigar cómo borrar los datos de la cédula que el usuario quiera eliminar.


Bueno gracias :) me avisas cualquier cosa.
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: javi in the sky en 25 de Abril 2013, 23:52
¿Me puedes decir dónde puedo descargar el turbo basic? Me he descargado el power basic pero parece que tiene bastantes diferencias
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: javi in the sky en 26 de Abril 2013, 00:02
Por cierto ¿hay que instalarlo y lo ejecutas desde windows o no requiere instalación y lo ejecutas en modo consola? Creo recordar que el gwbasic no requería instalación pero es que hace muchos años desde que lo usaba
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO en 26 de Abril 2013, 02:23
Por cierto ¿hay que instalarlo y lo ejecutas desde windows o no requiere instalación y lo ejecutas en modo consola? Creo recordar que el gwbasic no requería instalación pero es que hace muchos años desde que lo usaba


Hay que instalarlo http://vetusware.com/download/Borland%20Turbo%20Basic%201.1%20FR/?id=3606 creo que esta pagina puede servir. Instalalo y me avisas.
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: javi in the sky en 26 de Abril 2013, 20:54
Ya he conseguido hacerlo funcionar  ;D Pero he tenido que hacerlo ordenando la ejecución desde la consola dos porque desde windows ni me deja. Esto la verdad es que está bastante obsoleto, pero para aprender puede servir

Además el programa está en francés y la verdad es que no entiendo demasiado lo que dice y cuando intento ejecutar el código me salta un error

Supongo que tú lo tendrás en español o en inglés.

Lo bueno que tiene es que ocupa muy poco. Intenta hacer esto:

Pásame el TURBOBASIC que estés usando tú (lo que hace falta son los ficheros DATABASE.BAS, TB.EXE, TBCONFIG.TB, TBHELP.TBH y TBINST.COM) y el fichero donde tengas el código del programa (será un archivo por que termina en .BAS, no sé qué nombre le tendrás puesto, puede ser CEDULA.BAS)

Puedes enviarmelo al correo javiinthesky [aqui el simbolo de arroba] yopmail.com
avisa cuando lo hayas pasado
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO en 26 de Abril 2013, 23:31
Ya he conseguido hacerlo funcionar  ;D Pero he tenido que hacerlo ordenando la ejecución desde la consola dos porque desde windows ni me deja. Esto la verdad es que está bastante obsoleto, pero para aprender puede servir

Además el programa está en francés y la verdad es que no entiendo demasiado lo que dice y cuando intento ejecutar el código me salta un error

Supongo que tú lo tendrás en español o en inglés.

Lo bueno que tiene es que ocupa muy poco. Intenta hacer esto:

Pásame el TURBOBASIC que estés usando tú (lo que hace falta son los ficheros DATABASE.BAS, TB.EXE, TBCONFIG.TB, TBHELP.TBH y TBINST.COM) y el fichero donde tengas el código del programa (será un archivo por que termina en .BAS, no sé qué nombre le tendrás puesto, puede ser CEDULA.BAS)

Puedes enviarmelo al correo javiinthesky [aqui el simbolo de arroba] yopmail.com
avisa cuando lo hayas pasado
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO en 26 de Abril 2013, 23:35
Ya he conseguido hacerlo funcionar  ;D Pero he tenido que hacerlo ordenando la ejecución desde la consola dos porque desde windows ni me deja. Esto la verdad es que está bastante obsoleto, pero para aprender puede servir

Además el programa está en francés y la verdad es que no entiendo demasiado lo que dice y cuando intento ejecutar el código me salta un error

Supongo que tú lo tendrás en español o en inglés.

Lo bueno que tiene es que ocupa muy poco. Intenta hacer esto:

Pásame el TURBOBASIC que estés usando tú (lo que hace falta son los ficheros DATABASE.BAS, TB.EXE, TBCONFIG.TB, TBHELP.TBH y TBINST.COM) y el fichero donde tengas el código del programa (será un archivo por que termina en .BAS, no sé qué nombre le tendrás puesto, puede ser CEDULA.BAS)

Puedes enviarmelo al correo javiinthesky [aqui el simbolo de arroba] yopmail.com
avisa cuando lo hayas pasado
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO en 26 de Abril 2013, 23:41
OLVIDALO YA LO CONSEGUI, AQUI ESTÁ http://www.4shared.com/file/fXm1KAlO/Turbo_Basic.html
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: javi in the sky en 27 de Abril 2013, 13:10
Parece que tiene un virus, o al menos eso dice el antivirus ¿por qué no me pasas el que has usado tú?
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO en 27 de Abril 2013, 20:34
Ese es el que uso yo, no creo que tenga virus o.O, que antivirus usas?
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: javi in the sky en 27 de Abril 2013, 20:53
El avg
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO 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
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: javi in the sky 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)
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO 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
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: javi in the sky 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
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO 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
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: javi in the sky 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 ********************************

Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: javi in the sky 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 ********************************

Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO 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 :)
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: javi in the sky 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?
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO 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.
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: javi in the sky 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 ********************************

Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO 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.
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: javi in the sky 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?
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO 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
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO 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.
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO 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
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: javi in the sky 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 ********************************
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO 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 :)
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO 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 ********************************
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO en 29 de Mayo 2013, 22:04
Hola, aquí te dejo un link a un manual de Turbo Basic (en inglés):

http://bitsavers.informatik.uni-stuttgart.de/pdf/borland/Borland_Turbo_BASIC_Owners_Handbook_1987.pdf

También disponible aquí: http://es.scribd.com/doc/56593631/Borland-Turbo-BASIC-Owners-Handbook-1987

O aquí: http://www.codeproject.com/script/News/View.aspx?nwid=20618

El asunto es que TurboBasic es un lenguaje de los años ochenta que prácticamente se ha dejado de usar, por eso es quizás un poco difícil conseguir información. Además, al escribir en el foro te recomiendo que pongas en el título aquello sobre lo que quieres consultar, por ejemplo si es sobre turbo basic pon ayuda sobre turbo basic, si pones simplemente por favor ayuda es más difícil que se lea tu consulta y que obtengas respuesta porque no queda claro sobre qué preguntas.

Si vas preparando código puedo intentar echarte una mano con las dudas que te surjan, suerte.

Querido moderador, como puedo eliminar este post para crear otro? es que ya no estoy viendo QBASIC, estoy viendo VISUAL BASIC 6.0, por favor ayuda, este tema tiene muchos post...
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: César Krall en 30 de Mayo 2013, 08:32
Hola, para crear un nuevo tema de conversación pulsa sobre el nombre del foro donde quieras escribir (por ejemplo, C, C++, Java, Visual Basic...) y pulsa sobre el botón "Nuevo tema". A continuación escribe el asunto del post, por ejemplo "Dudas con el uso de Command Buttons en Visual Basic" y seguidamente el contenido del mensaje. Para insertar código usa el botón # que aparece en el editor. El código debe quedar entre las etiquetas [ code ]   [ / code] de forma que cuando lo publiques quedará así:

Código: [Seleccionar]
Ejemplo de código
Línea 1
Línea 2
etc

Saludos.
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO en 30 de Mayo 2013, 19:54
Hola, para crear un nuevo tema de conversación pulsa sobre el nombre del foro donde quieras escribir (por ejemplo, C, C++, Java, Visual Basic...) y pulsa sobre el botón "Nuevo tema". A continuación escribe el asunto del post, por ejemplo "Dudas con el uso de Command Buttons en Visual Basic" y seguidamente el contenido del mensaje. Para insertar código usa el botón # que aparece en el editor. El código debe quedar entre las etiquetas [ code ]   [ / code] de forma que cuando lo publiques quedará así:

Código: [Seleccionar]
Ejemplo de código
Línea 1
Línea 2
etc

Saludos.

Ok gracias :)
Título: Re:Ayuda tutorial Turbo Basic por favor soy nuevo en esto!!.
Publicado por: Jigsaw_MGO en 31 de Mayo 2013, 17:50
Buenas, Puedes cerrar éste tema? ya no necesito mas nada de TurboBASIC, ni de QBASIC, ahora voy a crear un tema de Visual Basic 6.0, Gracias por la ayuda prestada.