Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Jigsaw_MGO

Páginas: 1 2 3 4 [5] 6
81
No sé si será esto lo que dices, pero de antemano te digo que te descargues el driver ODBC 3.51 para que pueda correr la aplicacion... gracias por tu respuesta hermano

82
No sé si será esto lo que dices, pero de antemano te digo que te descargues el driver ODBC 3.51 para que pueda correr la aplicacion... gracias por tu respuesta hermano

83
Buenos dias y gracias por responder, bueno mi problema es entre otras cosas que no me consulta, modifica ni elimina datos del registro, y no me incluyen lo que son asignaciones y deducciones, consulta mediante cedula de identidad, y la base de datos es localhost con wampserver. ¿Como hago?

84
Sube el proyecto y la base de datos a dropbox ó a skydrive para poder verlo.
https://www.dropbox.com/sh/k3ek8up9kd2ty7f/KoRy1a4dPp


Como lo hago? ya cree una cuenta en dropbox, cual es tu cuenta para invitarte? gracias de antemano por la ayuda

85
Por favor esto es algo que me tiene por los pelos y lo tengo que entregar el miercoles, es un sistema de nomina de empleados con base de datos MYSQL, ya tengo todas las pantallas, INCLUIR, CONSULTAR, MODIFICAR, ELIMINAR, pero no me consulta, ni modifica ni elimina, alguien que me ayude? por favor, si quieren les paso el proyecto, o los codigos no se algo ya que me tiene desesperado. Gracias de antemano espero sus respuestas.


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

Mi base de datos consta de 3 tablas una para cada cosa diferente, como, datos de empleados, asignaciones y deducciones. pero no se como hacer, si agregar todo de una vez incluyendo el sueldo y todas las deducciones y asignaciones en una sola tabla, o hacerlo en diferentes tablas, y hacer referencias a ellas.

86
Hola Alejandro, puedes ir siguiendo este tutorial paso a paso:

https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=37&Itemid=61

Cualquier cosa que no entiendas consúltala. Saludos.

Gracias Cesar, lo haré!.

87
 
 Buenas Hermanos buen día, estoy viendo Visual Basic 6.0, pero la profe de la uni no explica bien, así que me podrían ayudar con lo siguiente?:

 1- Lista de códigos (Sentencias) de Visual Basic y como usarlos?
 2- Ejercicios para practicar (Programas para hacer para luego ser verificados)
 3- Tutoriales, Guías o lo que sea Bien explicado ya que aprendo rapido.

 Bueno gracias de antemano a los que quieran ayudar, sin más que decir me despido y espero respuestas Buen día.

Alejandro-Venezuela.

88
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.

89
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 :)

90
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...

91
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 ********************************

92
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 :)

93
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

94
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.

95
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

96
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.

97
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.

98
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 :)

99
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

100
¿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

Páginas: 1 2 3 4 [5] 6

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".