Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #10  
Antiguo 28-07-2008
Avatar de JoAnCa
JoAnCa JoAnCa is offline
Miembro
 
Registrado: jul 2005
Ubicación: Cuba
Posts: 438
Poder: 21
JoAnCa Va por buen camino
Cool Sobre eliminar un record

Implementando el ejemplo de Delphius, la opcion de eliminar no funciona correctamente. Pues me deja repetido un registro, y deja registros vacios al final, como ya comento kabracity

Le hice unos arreglos y le agregue la funcion Truncate();, que su funcion es eliminar todos los registros a partir de la posicion actual.

Así fue como quedo en mi programa:
Código Delphi [-]
procedure TfrmClave.BotonDelUserClick(Sender: TObject);
 var
  Pos :Integer;

begin
 //Procedimiento para eliminar el registro seleccionado en el combobox
 Pos:=0; Seek(MiFile, 0);

 //Para ubicar la posicion en el fichero
 while Not Eof(MiFile) do
  begin
   Read(MiFile, Usuario);
   if Usuario.Nombre = ComboUser.Text then
    begin
      Pos:=FilePos(MiFile);   //Si lo encontre, guardo la posicion y salgo
      Break;
    end;
  end;

 //Este es el ejemplo de Delphius "arreglado"
 while Not Eof(MiFile) do
  begin
    Read(MiFile,Usuario);
    Seek(MiFile,Pos-1);
    Write(MiFile, Usuario);
    Inc(Pos);
    Seek(MiFile,Pos);
  end;

 Seek(MiFile,Pos-1);
 Truncate(MiFile);          //Funcion para eliminar los registros que sobran  

 //------ Actualizar el Combobox --------
 Seek(MiFile,0);  ComboUser.Items.Clear;
 While Not EOF(MiFile) do
  begin
    Read(MiFile, Usuario);
    ComboUser.Items.Add(Usuario.Nombre);
  end;
 ComboUser.Text:='';
end;

De esta forma me funciona perfecto, elimina bien.

kabracity
El uso de este tipo de ficheros, como decia Delphius, es para cosas sencillas, para algo mas complejo es mejor usar Bases de Datos.
En mi caso lo uso, pues solo almacenare un registro de usuarios, que siempre van a ser pocos (nunca seran mas de 10 o 20), no me afectaria el rendimiento.

Última edición por JoAnCa fecha: 28-07-2008 a las 18:36:36.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Localizar un array de bytes en un fichero binario. maro Varios 3 12-02-2008 11:58:12
Bloquear registro en fichero binario jonmendi API de Windows 3 13-11-2007 17:16:31
Ayuda con fichero de texto jadelphi Varios 4 07-10-2004 09:43:14
crear fichero de ayuda empty Varios 2 04-05-2004 23:12:21
Fichero de Ayuda jsc Varios 2 02-04-2004 15:19:38


La franja horaria es GMT +2. Ahora son las 23:38:07.


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
Copyright 1996-2007 Club Delphi