Delphi - eliminar un registro

 
Vista:

eliminar un registro

Publicado por Esteban (1 intervención) el 22/02/2007 06:53:14
Hola, hice una aplicación, en la cual cargo información desde las edit y estas se agregan a un archivo. Esto lo hago a través de un botón "agregar". La pregunta es, como algo para hacer a la inversa, osea, eliminar un registro cargado. Por ejemplo, cargo el apellido de un socio, lo busco (hasta aca tengo todo resuelto, pero me falta....) ¿Como hago para que al presionar el botón eliminar, me elimne del registro a ese socio???...
Si alguien sabe, agradeceré su ayuda.

Saludos
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:eliminar un registro

Publicado por nombre (106 intervenciones) el 22/02/2007 08:38:20
No sabemos que tablas son ni como te conectas ni nada.

Pero podría ser como lo has hecho para agregar pero cambiendo INSERT o APPEND que habrás puesto por DELETE

TuTabla.Delete;
O
TuDataset.Delete
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:eliminar un registro

Publicado por Bruno (27 intervenciones) el 23/02/2007 16:00:24
Hola mira por lo que veo se trata de una archivo de acceso directo (un .dat) si es asi tenes dos opciones:
1- hacer un borrado logico, que no es mas que agregar al registro una variable boolean (por ej. "borrado") que funcione como bandera. Osea que cuando borrado este en false lo puedeas ver y cuando este en true no lo puedas ver.
2- hacer un borrado fisico. aca tenes que hacer lo sig:
a) creas un archivo nuevo, igual al que estas usando pero con distinto nombre
b) una vez que encontras el reg a borrar haces una copia (registro a registro) con un bucle del archivo que esta usando al nuevo archivo, omitiendo el registro no deseado.
c) luego, una vez ya copiado el archivo en su totalidad, borras fisicamente el archivo viejo y renombras el archivo que te quedo con el nombre que usas en el prog.

Saludos.
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:eliminar un registro

Publicado por esteban (2 intervenciones) el 24/02/2007 19:48:30
ok, es como decis, estoy usando archivos de acceso directo. Voy a probar con la segunda opción.

Gracias por la ayuda.
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:eliminar un registro

Publicado por Bruno (27 intervenciones) el 25/02/2007 01:56:52
ok, seria algo asi mas o menos:

procedure TManejoAlumnos.GuardarArchivo(ArchiFisico:string;A:string);
var
RegTemp: Alumno;
newnom:String;
begin
AssignFile(Archi,A);
AssignFile(ArchiTemp,'ArchivoTemp');
Rewrite(ArchiTemp);
Reset(Archi);
while (not EOF(Archi)) do
begin
Read(archi,RegTemp);
Write(ArchiTemp,RegTemp);
end;
CloseFile(Archi);
CloseFile(ArchiTemp);
newnom:=ArchiFisico;
Rename(ArchiTemp,newnom);
end;

Saludos
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:eliminar un registro

Publicado por esteban (3 intervenciones) el 25/02/2007 09:01:21
Ok, muchas gracias, justo iba a re preguntar porque estaba complicado con una parte d e la sintaxis...

Muchas gracias.
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:eliminar un registro

Publicado por esteban (3 intervenciones) el 25/02/2007 10:07:18
Ya lo probé, parecería que funciona bien, ya lo estube adaptando, solo me falta una cosa, como llamo a este procedimiento, osea, el código en la otra unit para que al presionar el botón "eliminar" lo realice?.

Gracias
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:eliminar un registro

Publicado por Bruno (27 intervenciones) el 25/02/2007 15:19:54
hay va:

objeto1:TManejoAlumnos; // instancias el objeto
objeto1:=TManejoAlumnos.Create; // creas el objeto en memoria
objeto1.GuardarArchivo("nombre del archivo"); // llamas al procedure

Saludos
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:eliminar un registro

Publicado por esteban (3 intervenciones) el 25/02/2007 19:45:03
Ok, muchas gracias nuevamente.
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:eliminar un registro

Publicado por esteban (1 intervención) el 26/02/2007 02:01:49
Una ultima pregunta, porque tengo un conflicto con el nombre del archivos que especifícas en guardararchivo. En mi caso, la aplicación no tiene un nombre fijo, ya que el usuario le asigna un nombre, osea, utilizo opdendialog, pero cuando dices en guardararchivo poner "el nombre del archivo" a cual te refieres o que poner ahi, es lo unico que me falta....por ultima vez, gracias!!!
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:eliminar un registro

Publicado por Bruno (27 intervenciones) el 26/02/2007 15:32:32
Hola, tenes q poner el nombre del archivo que tenes, a eso lo sacas con Savedialog1.filename ó OpenDialog1.filename (desde el onclick de algun boton o menu del form principal, osea cuando llamas al guardararchivo); y el nombre temporal del 2do archivo algo como "archiTemp" o algo asi para q despues lo renombres con el nombre original.

saludos
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