Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-10-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.441
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 sierraja
¿Por qué se hace el recorrido al revés?
Como los vas borrando, si empiezas por el principio te dará error (antes o después).
Por ejempo, si la lista tiene 20 elementos, al eliminar el 0, el que antes era el 1 pasa al 0 y al intentar eliminar el 1, realmente has borrado el dos.

Espero haberme explicado.
__________________
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
  #2  
Antiguo 05-10-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Neftali
Como los vas borrando, si empiezas por el principio te dará error (antes o después).
¡Ahh! Entonces podemos ahorrarnos una variable:

Código Delphi [-]
while ScrollBox1.ControlCount > 0 do
  ScrollBox1.Controls[0].Free;

// Saludos
Responder Con Cita
  #3  
Antiguo 05-10-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 26
vtdeleon Va por buen camino
Saludos
Cita:
Empezado por roman
¡Ahh! Entonces podemos ahorrarnos una variable:

Código Delphi [-]
while ScrollBox1.ControlCount > 0 do
  ScrollBox1.Controls[0].Free;
Wow Muy acertada y eficiente tu técnica
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #4  
Antiguo 05-10-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por vtdeleon
Wow Muy acertada y eficiente tu técnica
¡Eso no es nada! Dale a roman cinco minutos más y hasta el bucle se hará innecesario...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 05-10-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por dec
y hasta el bucle se hará innecesario...
Eso es fácil:

Application.Terminate;



// Saludos
Responder Con Cita
  #6  
Antiguo 05-10-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Poder: 29
delphi.com.ar Va camino a la fama
Talking

Cita:
Empezado por vtdeleon
SaludosWow Muy acertada y eficiente tu técnica
Voy a buscar un poquito de pelea contradiciendo esto , en lo que refiere a optimización de código, es mucho mas eficiente la opción del for, ya que consulta solo una vez la propiedad ControlCount, en cambio el while ejecutará el código de la propiedad para cada iteración.
Sería muy fino evaluar según el tamaño de la lista que código nos conviene.

PD: Siempre suponiendo que la ejecución es lineal, que solo "nosotros" eliminamos estos componentes.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.

Última edición por delphi.com.ar fecha: 05-10-2005 a las 19:57:20. Razón: Post Data
Responder Con Cita
  #7  
Antiguo 05-10-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
En un ciclo for también hay una comparación en cada vuelta. Aunque no escrita explícitamente en el código, sí en el código ensamblado.



// Saludos
Responder Con Cita
  #8  
Antiguo 05-10-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Ya entendí a lo que te refieres. Sí tienes razón.

// Saludos
Responder Con Cita
  #9  
Antiguo 05-10-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Poder: 29
delphi.com.ar Va camino a la fama
Cita:
Empezado por roman
En un ciclo for también hay una comparación en cada vuelta. Aunque no escrita explícitamente en el código, sí en el código ensamblado.
Noo.. pero sabes a lo que me refiero!... la comparación siempre esta, pero en el caso de la propiedad se ejecuta el código propio de la propiedad (en este caso TWinControl.GetControlCount). Sin lugar a dudas va a ser mucho mas "económico" un entero mas en memoria, a no ser que solo tengas un ítem en la lista .
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #10  
Antiguo 06-10-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Nunca te acostarás... etc.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 08:09:10.


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