Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Archivos en Delphi (https://www.clubdelphi.com/foros/showthread.php?t=17582)

dj_jlp 13-01-2005 22:46:59

Archivos en Delphi
 
Buenas nochesss, estoy programando una aplicacion en delphi (version 5) y tengo un archivo binario al que le guardo un "record" con varios campos. Logro guardarlo y modificarlo pero me gustaria si pudiesen las distintas maneras que hay para borrar lo que es todo el registro del archivo. :confused: :confused: :confused: :confused: :confused:


Muchas gracias ;)

Héctor Randolph 14-01-2005 20:26:50

Se me ocurre un forma:

Crea una nueva versión temporal del archivo (en memoria o en disco), en esta versión almacenas todos los registros excepto el que deseas borrar, después reemplazas la versión temporal que acabas de crear por la anterior y listo "no existirá más", yo sé que no es óptima pero funciona.

Un saludo.

roman 14-01-2005 21:01:09

Cita:

Empezado por HECTOR RANDOLPH
yo sé que no es óptima pero funciona.

Pues no será óptima pero hasta donde recuerdo es básicamente la única forma de hacerlo.

Para mi gusto los file of Record quedaron en el pasado (remoto) habiendo hoy tantas posibilidades, por ejemplo, un ClientDataSet puede mantener archivos binarios como si de una tabla de una base de datos se tratase.

// Saludos

Delphius 15-01-2005 05:58:46

una posible solucion
 
Una posible solucion es que implementes tres procedimientos Agregar(TRegistro, var archivo: StringList), Modificar(TRegistro, var archivo: StringList) y eliminar(Tregistro, var Archivo: TStringList)

el archivo contendrá una lista de la siguiente forma:
campo1#Campo2#Campo#...

Donde # sería algun delimitador.... fijado por vos...
Bueno, ahora viene el pequeño problemita:

Entonces... cada vez que elimines, agregues o modifiques solo pasa a la variable archivo de cualquiera de estos procedimientos la lista con dichas lineas, para ello primero asignas al TStringList el archivo correspondiente. Es facil ver que haciendo .Add(linea), .Delete(linea) , se agregarán o eliminarán las lineas correspondientes...

Es facil ver tambien que linea tiene que ser de la forma ya comentada antes...

Si no me entiendes... avisa que te mando un ejemplito...

buitrago_listas 18-01-2005 04:24:38

No todo es ClienDataSets
 
Se que la onda de la Database es buena, pero he encontrado que los tipos records son muy gratos de usar, por todas las combinaciones y tipos que soportan, no creo que quede en el olvido, es simplemente, un recurso más, que viene en el mismo Delphi, no requiere de más na'.

Puedes en este ejemplo usar los archivos tipeados, claro que si.
La opcion del delimitador, teniendo que tener en cuanta la sintaxis, me parece un chin complicada.

Saludos

Fer.


La franja horaria es GMT +2. Ahora son las 16:48:31.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi