Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-08-2008
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
Opinión sobre un código

Hola Foro:

Este código borra un registro de un RXMemoryData.
Cuando hago in click en el dbgrid, cargo la variable ID_INI y luego para borrar hago una busqueda secuencial desde el primer registro hasta el último. Si por una de esas no está OK queda en False y no hago nada.
Esto anda bién, pero me parece mucha cosa para borrar un registro.

Qué opinión les merece?. Desde ya muchas gracias por su opinión.


Código Delphi [-]
 
  with RxMDCompleto do begin
    OK:=False;
    First;
    while not(eof) do begin
      if fieldByName('ID_INI').AsInteger=ID_INI then begin
        OK:=True;
        Break;
      end;
      next;
    end;    // while

    if OK=True then begin
      Delete;
    end;
  end;
Responder Con Cita
  #2  
Antiguo 04-08-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
pero ese dataset del cual quieres borrar el registro esta conectado al grid?
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #3  
Antiguo 04-08-2008
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
Si

Si, eduarcol, y lo borra correctamente.
Responder Con Cita
  #4  
Antiguo 04-08-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola Carmelo Cash, tu RXMemoryData, es el que esta enlazado a tu DbGrid, o es es otro DataSet el cual enlazas a tu DBGrid, porque si es el primero no necesitas recorrer, haces directamente el Delete, pero si es otro entonces, para hubicarte en el registro que quieres borrar puedes utilizar el Locate. Supongo que la RXMemoryData tiene el Locate.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #5  
Antiguo 04-08-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Podrías usar el método Locate:

Código Delphi [-]
with RxMDCompleto do
  if Locate('ID_INI', ID_INI, []) then
    Delete


Saludos...
Responder Con Cita
  #6  
Antiguo 04-08-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Cita:
Empezado por Carmelo Cash Ver Mensaje
Si, eduarcol, y lo borra correctamente.
entonces como te explica caro te bastaria con un delete
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #7  
Antiguo 04-08-2008
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
Listo.

El método Locate con el ejemplo, me parece la solución que estaba buscando.

Gracias Caro, Maeyanes y Eduarcol.
Responder Con Cita
  #8  
Antiguo 04-08-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Carmelo Cash Ver Mensaje
Si, eduarcol, y lo borra correctamente.
Cita:
Empezado por Carmelo Cash Ver Mensaje
El método Locate con el ejemplo, me parece la solución que estaba buscando.
Funcionar, funcionará, pero yo creo que estás haciendo más trabajo de la cuenta (como ya te han dicho antes), porque el registro que estás buscando es el registro sobre el que estás posicionado. Entonces ¿para qué buscar lo que ya tienes?

Locate funcionará (siempre te va a encontrar el registro actual), pero no es necesario.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 04-08-2008
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Poder: 21
Carmelo Cash Va por buen camino
ok

Entendido.
Gracias.
Responder Con Cita
Respuesta



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
Opinion sobre Castalia 2008 Neeruu Varios 4 20-05-2008 01:56:14
Solicito su opinión sobre mi modelado AzidRain OOP 4 26-02-2008 16:35:39
Opinión sobre un proyecto nuevo. ppb Linux 2 17-01-2007 13:40:25
Vuestra opinión sobre el API XML-RPC de una aplicación dec Internet 32 09-12-2006 21:09:57


La franja horaria es GMT +2. Ahora son las 10:28:26.


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