Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes
Probaste el SIGA Helper?

Donar $100 Donar $200 Donar $500 Donar mensualmente


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Consulta de archivos
Autor Mensaje
C.Fede Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. en Sistemas
Otra

Mensajes: 2
Agradecimientos dados: 0
Agradecimientos: 0 en 0 posts
Registro en: Nov 2012
Mensaje: #1
Exclamation Consulta de archivos Dudas y recomendaciones Algoritmos y Estructuras de Datos
Hola a todos, tengo que hacer un programita y un apartado me dice
Eliminar algún empleado del archivo “Empleados”.

se me ocurrieron 2 ideas:

1) Al registro a eliminar lo reemplazo por el que le siguente y asi sucesivamente, a lo ultimo como no va a leer mas registros xq llego al final del archivo tecnicamente habrian 2 registros repetidos que serian los ultimos 2....el problema es que nose como hacer para "reducir" en 1 el tamaño del archivo...no se si me explico...seria quitar el ultimo registro....

escribiendo esto se me vino una idea: que cuando llegue a NULL..reemplazar el ultimo registro por el NULL....pero noc si funcionara lo acabo de pensar recien.

2) Una recomendiacion del ayudante de la materia, es rescatar todos los registros que no son eliminados en un archivo auxiliar, y luego reemplazar el archivo "Empleados" por el auxiliar....el problema es que nose que funcion haria eso o si la hay...(sin pasar registro por registro)

Gracias por cualquier idea, aporte, sugerencia y tiempo =P.

Saludos!!!
07-11-2012 03:50
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
nanuiit Ausente
♫ I'm Blue ...
... Da ba dee, da ba da ♫
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 8.871
Agradecimientos dados: 216
Agradecimientos: 627 en 211 posts
Registro en: Aug 2010
Mensaje: #2
RE: Consulta de archivos
Mmm
Yo creo que banco la idea de tu ayudante.

Los que no tengas que eliminar, los pasás a otro archivo (auxiliar)

Al archivo original después podés borrarlo: ERASE (ARCH)

Entonces en tu archivo auxiliar, tenés los que deberías tener, y listo.

Si necesitás que el archivo te quede con el nombre que tenía originalmente (dado que los datos te quedaron en un archivo auxiliar) después podés usar una función que se llama Rename. para utilizarla, previamente tenés que cerrar el archivo: CLOSE (arch)

Luego de eso, harías:

Assign(arch, 'archAux.dat');
Rename(arch, 'archOriginal.dat'); <-- este nombre sería el que tenías al principio

ALGORITMOS

Apuntes: Mem. Dinámica - Mem. Estática - Proc. y Funciones || Guías: Módulos + 83 Ejercicios || Finales: 2004-2013


[Imagen: digitalizartransparent.png]

[Imagen: firmananiv2.png]
07-11-2012 09:33
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
lagrange Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 27
Agradecimientos dados: 48
Agradecimientos: 2 en 2 posts
Registro en: Dec 2009
Mensaje: #3
RE: Consulta de archivos
Para la eliminar el último registro repetido de la primera opción,

cuando el puntero del archivo quede apuntando al ultimo registro que quedo repetido, llamas a la función TRUNCATE(ARCHIVO); y todo lo que venga después, así como ese registro, quedará descartado. Luego no te olvides de llamar a CLOSE.
07-11-2012 20:21
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Assamita Sin conexión
Empleado del buffet
estudiando para los parciales
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2
Agradecimientos dados: 1
Agradecimientos: 0 en 0 posts
Registro en: Nov 2012
Mensaje: #4
RE: Consulta de archivos
Lo que se me habia ocurrido es copiar todo en memoria dinamica luego eliminar el/los <nodo/s> de informacion luego "pisar el archivo ya existente con el contenido de la lista, de esa manera no necesitas crear otro archivo, de hecho es lo que normalmente se hace, una copia en memoria y luego se sebreescribe el archivo original, en el caso que vale crear otro archivo es cuando se hace apareo entre archivos.

PD: si aun no viste el tema de listas<memoria dinamica>, te sugiero que apliques lo dicho por el ayudante.
(Este mensaje fue modificado por última vez en: 16-11-2012 09:48 por Assamita.)
16-11-2012 09:46
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
nanuiit Ausente
♫ I'm Blue ...
... Da ba dee, da ba da ♫
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 8.871
Agradecimientos dados: 216
Agradecimientos: 627 en 211 posts
Registro en: Aug 2010
Mensaje: #5
RE: Consulta de archivos

Off-topic:
Si el ayudante le sugirió lo que le sugirió, se me hace que es porque no deben saber memoria dinámica o no podían utilizarla para ese archivo

ALGORITMOS

Apuntes: Mem. Dinámica - Mem. Estática - Proc. y Funciones || Guías: Módulos + 83 Ejercicios || Finales: 2004-2013


[Imagen: digitalizartransparent.png]

[Imagen: firmananiv2.png]
16-11-2012 20:21
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)