Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   El control del bucle debe ser con una variable local (https://www.clubdelphi.com/foros/showthread.php?t=52254)

Chris 15-01-2008 20:11:10

El control del bucle debe ser con una variable local
 
Dios mio!!!! Esto me está volviendo loco.

Qué tal compañeros, ojala me den una ayudita a este problemon que tengo.
Resulta que no me deja compilar, me da el siguiente mensaje:
Cita:

For loop control variable must be simple local variable
Entiendo el mensaje, sé lo que significa y sé como se repara, el problema es que no me pasa el compilador y siempre sigue dando el mismo problema.

Código Delphi [-]
Procedure miProcedimiento;
var
I, ItemsCount: Integer;
Begin
...
For I := 0 to (ItemsCount - 1) do  <- acá se me indica el error!
....
end;

Realmente, ya no sé que hacer. ¿Alguna sugerencia?

Saludos.

egostar 15-01-2008 20:18:32

Lo que yo haría es
  1. Pasar ItemsCount como Variable General
  2. Dejar I como variable Local
Quiero imaginar que si estas pasando algún valor a ItemsCount, :rolleyes:

Salud OS

Chris 15-01-2008 20:18:54

Me disculpan por el desperdicio de espacio que acabo de hacer.
Lo que pasa es que me faltaba un end; en un sub-procedimiento. :D :o

Ojala un moderador borre este hilo. Bye.

Saludos.

Pd: Muchísisimas Gracias Egostar por tu respuesta

egostar 15-01-2008 20:23:45

Cita:

Empezado por D&W (Mensaje 258272)
Me disculpan por el desperdicio de espacio que acabo de hacer.
Lo que pasa es que me faltaba un end; en un sub-procedimiento. :D :o

Ojala un moderador borre este hilo. Bye.

Saludos.

Pd: Muchísisimas Gracias Egostar por tu respuesta

Bueno, suele pasar :D

PD, Y que me quiten dos respuestas a mi contador, no señor, :D:D

maeyanes 15-01-2008 20:26:33

Hola...

Además, sirve de ejemplo para saber que primero hay que revisar los pares begin..end de tu código si te llega a dar ese mismo error... :D


Saludos...

rafita 15-01-2008 20:30:09

Realmente no puedo ayudarte, pero me da la impresión de que el error no está ahí porque ese trozo de código no tiene errores y funciona perfectamente

Código:


procedure TForm1.ProbarClick(Sender: TObject);
var  I, ItemsCount: Integer;
Begin
  ItemsCount:=8;
  For I := 0 to (ItemsCount - 1) do
    ShowMessage('Ahora i = ' + IntToStr(i));
end;

Un consejo: cuando compilas te muestra todos los errores, pero a veces el primero no es el que tienes que corregir, por ejemplo, si en el bucle anterior quitas los dos puntos (:)
Código:


for i=0 to (itemscount -1) do

el primer error que te da es que la variable del bucle debe ser una variable local,
pero el segundo error te dice que los tipos Integer y Boolean son incompatibles.
Ambos son en la misma línea, pero es el segundo el que te da la pista para encontrar el problema.

Suerte

maeyanes 15-01-2008 20:31:20

Eh... rafita, leiste bien todo el hilo antes de responder? :p


Saludos... :)

egostar 15-01-2008 20:37:12

Cita:

Empezado por maeyanes (Mensaje 258277)
Eh... rafita, leiste bien todo el hilo antes de responder? :p


Saludos... :)

Hey, no abuses amigo maeyanes, te aprovechas para incrementar tus posts,

oops +1 :D:D:D

Salud OS

rafita 15-01-2008 20:39:08

Sin prisas por favor, sin prisas :D

Pero la verdad es que sólo estaba el primer post. La proóxima vez refrescaré el hilo antes de enviar mi respuesta.

Chris 15-01-2008 23:23:55

Cita:

Empezado por egostar (Mensaje 258280)
Hey, no abuses amigo maeyanes, te aprovechas para incrementar tus posts,

oops +1 :D:D:D

Salud OS

Cita:

Empezado por egostar (Mensaje 258273)
Bueno, suele pasar :D

PD, Y que me quiten dos respuestas a mi contador, no señor, :D:D

hey!! egostar, acá los nicas solemos decir algo "quien las usa, se las imagina" :D ;)


La franja horaria es GMT +2. Ahora son las 20:33:36.

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