Basic - Ficheros relativos

 
Vista:

Ficheros relativos

Publicado por Juan Miguel (3 intervenciones) el 01/03/2002 00:53:16
Hola.
Tengo un fichero relativo de acceso aleatorio con una serie de registros metidos en él, pero necesito borrar algunos introduciendo la clave del registro, es decir yo tengo lo siguiente:
Clave del registro: 00001
Nombre: Juan Miguel
Apellido 1: García

Y necesito que introduciendo la clave en un input el registro se borre
¿Alguien puede ayudarme?
Gracias por adelantado
Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ficheros relativos

Publicado por Miguel (3 intervenciones) el 01/03/2002 02:01:37
Para borrar registros aleatorios necesitas crear un fichero nuevo
Abrir nuevo fichero aleatorio
Desde Registro 1 Hasta RegistroFinal (En fichero original)
Si Clave.RegistroActual <> ClaveABorrar Entonces
Apuntar al siguiente registro (en el nuevo fichero)
Guardar el Registro actual
Fin Si
Fin Desde
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ficheros relativos

Publicado por Juan Miguel (3 intervenciones) el 01/03/2002 03:42:15
¿Pero como hago luego para tener el fichero de origen actualizado? es decir, yo paso todos los registros al nuevo fichero menos el que quiero borrar, pero luego ¿Como hago para tener el fichero de origen, que es el que lee el programa a la hora de hacer consultas con todos los registros menos el que he borrado??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ficheros relativos

Publicado por Yton (12 intervenciones) el 01/03/2002 08:02:32
En un archivo aleatorio cada registro tiene una longitud fija y sólo tienes que sustituirlos por ceros; por ejp.:
Clave del registro: 00001
Nombre: 0000 000000
Apellido 1: 000000
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ficheros relativos

Publicado por geasbera (1 intervención) el 04/03/2002 18:51:50
A ver si yo te puedo ayudar ... segun mi experiencia tienes 2 metodos . 1 facil y otro mas o menos ...
El 1º) es facilicimo , es solo con una condicion . Por ejemplo :
If nombrelista$ <> NombreBorrar$ then
open "temporal.dat" for random as #2
put #2 , nombrelista$ ...
close #2
end if
no me hagas mucho caso del codigo por q no me acuerdo mucho , pero creo q era asi. Luego , el archivo se llamara Temporal.dat
y aqui estan todos los nombres menos el q quieres borrar. Luego eliminas el antiguo y justamente cojes y renombras el Temporal.dat
al nombre original q tiene el archivo de antes. Esto lo haces son la sentencia NAME.

El 2º metodo es algo mas "complejo" . Por ejemplo , tus registros tienen 3 campos. Nombre , apellidos , telefono .
entonces coges y creas un campo mas , por ejemplo . Borra , nombre , apellidos , telefono .
Con el campo Borra lo unico q haces es marcalo , no lo presentes en pantalla ni nada , es solo para saber si el registro esta borrado .
Por ejemplo , tienes una lista ... con los siguioentes nombres :
Pepe , gonzalez , españa
Manuel , mora , francia
Juan , domingo . america
quieres borrar a manuel , pues lo q haces es marcarle en el campo Borra una X por ejemplo , un caracter $.entonces a la hora de abrir el archivo
haces una condicion q los registros q tengas X delante no se presenten en pantalla , pero en realidad estan en el disco duro . Este metodo
lo hacen las grandes bases de datos. En tu caso no , por q supongo q tendras pocos registros. pero imagina una guia telefonica ? q quieras
borrar a alguien ... vas a copiar en otro archivo millones de registros ? NO. Lo marcas como borrado y listo. Lo dicho suerte , el 1º metodo
te ira muy bien si es una base de datos pequeña , pero si es grande ... mejor lo segundo. Adios.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ficheros relativos

Publicado por Juan Miguel (3 intervenciones) el 07/03/2002 18:57:38
Lo de meter los datos en el nuevo fichero lo tengo ya hecho y funciona bién, pero el problema es que en BASIC no se como borrar archivos y renombrar otros y en el libro que tengo no me pone nada del comando name, total que estoy atascado en ese punto todavía :_( ¿Podrias ayudarme con lo del borrado de archivos y el renombramiento por favor?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar