FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
problema extraño con ciclo for
Un cordial saludo a todos.
Tengo un problema extraño con un ciclo for, lo inicializo Código:
for i := 0 to 3 Es algo muy raro, nunca me habia sucedido en delphi y tampoco en cualquier otro lenguaje. Agradezco cualquier ayuda que me puedan brindar. |
#2
|
||||
|
||||
Hola, no tienes que preocuparte, es culpa del optimizador de Delphi, cuando compilas el proyecto, si tienes activada la opción usar el optimizador, te haces como esta, cambiarte internamente el bucle for..downto en lugar de un for..to, eliminar variables que no va a usar, etc.
Si vas a las opciones del programa->compilar y creo que es el primer check que aparece a la izquierda (creo que se llama optimizer), lo desmarcas ya toca ir bien. Espero te sirva, Saludos |
#3
|
||||
|
||||
Bueno no pones el código completo, pero puedo intentar adivinar lo que pasa. Si dentro del bucle no utilizas el valor de la variable i la optimización del compilador hace que la variable i disminuya en vez de incrementarse ya que esta esta manera es mas eficiente. Es decir, si tenemos esto:
Y ejecutamos nuestro programa paso a paso veremos que i toma el valor 4, 3, 2, 1 debido a la optimización del compilador. En principio el pitido se sigo oyendo 4 veces así que lo que haga el compilador no nos importa. Sin embargo si tenemos esto otro:
Y lo vuelves a ejecutar paso a paso, veras que ahora la i toma los valores correctos, 0, 1, 2, 3. |
#4
|
|||
|
|||
muchas gracias por sus respuestas, probe con ambas respuestas y Seoane tiene razón, lo que no entiendo es porque si tengo un codigo como el siguiente el for no funciona
Código:
for i := 0 to 3 begin if valor <> 0 then Query1CODIGO.value := miarreglo[i].valor; end; |
#5
|
||||
|
||||
Solo para agregar, el detalle de la optimización: http://www.clubdelphi.com/foros/show...96&postcount=5
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema con rave report. Se queda generando páginas como si estuviera en un ciclo | mglucero | Impresión | 1 | 21-06-2007 19:43:49 |
Problema extraño con showmodal =S | Ken_Masters | Varios | 3 | 15-11-2006 01:57:11 |
Problema extraño en FireBird | Sick boy | Firebird e Interbase | 4 | 20-10-2006 12:39:54 |
crear label por codigo en un ciclo for.. las beses de el ciclo | sakuragi | .NET | 3 | 29-09-2005 05:04:29 |
Extraño problema con Quick Report | cone220 | Impresión | 3 | 13-05-2004 16:29:11 |
|