Page 1 of 1

Problema con el FOR

Posted: Tue Feb 27, 2007 11:27 am
by new_indika
Hola! Este es mi primer post en FiveTechSoft. Hace un tiempo que soy asiduo a el y he visto muchos de vuestros ejemplos/problemas y me han ayudado en la programación. Saludos.

Mi duda es, (creo que sencilla), pero no doy con la solución. Os posteo el código.

FOR i := 1 TO 6
oFont:End()
NEXT

Supongamos que tengo seis fuentes, y quiero cerrarlas con un FOR en el que se sustituya por el valor que va tomando, es decir, para que hiciese lo mismo que este trozo de codigo.

oFont1:End()
oFont2:End()
oFont3:End()
oFont4:End()
oFont5:End()
oFont6:End()

Gracias por adelantado!

Posted: Tue Feb 27, 2007 11:32 am
by Kleyber
Hola new_indika,

Antes que nada bienvenido al foro.

Si lo entendi bien, una sugerencia seria:

Code: Select all

for nX:=1 to 6
     cX:=str(nX,1)
     oFont(nX):End()
next
Espero te sirva,

Saludos

Posted: Tue Feb 27, 2007 12:08 pm
by Antonio Linares
AEval( { oFont1, oFont2, oFont3, oFont4, oFont5, oFont6 }, { | o | o:End() } )

Posted: Tue Feb 27, 2007 12:34 pm
by new_indika
Muchas gracias!

Posted: Tue Feb 27, 2007 2:57 pm
by Biel EA6DD
Otra seria definir los fonts dentro del array, y luego cerrar con el bucle FOR ... NEXT

Code: Select all

LOCAL aFont[6]

DEFINE FONT aFont[1] ...
...
FOR i := 1 TO 6 
   aFont[i]:End() 
NEXT 

Re: Problema con el FOR

Posted: Tue Feb 27, 2007 3:21 pm
by ACC69
new_indika wrote:Hola! Este es mi primer post en FiveTechSoft. Hace un tiempo que soy asiduo a el y he visto muchos de vuestros ejemplos/problemas y me han ayudado en la programación. Saludos.

Mi duda es, (creo que sencilla), pero no doy con la solución. Os posteo el código.

FOR i := 1 TO 6
oFont:End()
NEXT

Supongamos que tengo seis fuentes, y quiero cerrarlas con un FOR en el que se sustituya por el valor que va tomando, es decir, para que hiciese lo mismo que este trozo de codigo.

oFont1:End()
oFont2:End()
oFont3:End()
oFont4:End()
oFont5:End()
oFont6:End()

Gracias por adelantado!


Hola amigo prueba con esto:
AEval( oFont,{|o| o:End()} )

o de otra manera asi:
FOR X=1 TO 8
oFont[X]:End()
NEXT X... BUENO ES IGUAL, PERO A MI ME FUNCIONA

Posted: Wed Feb 28, 2007 2:25 am
by Ruben Fernandez
Amigo:

FOR i := 1 TO 6
oFont:End()
NEXT

Tienes dos puntos en for i :=
debes sacarle los 2 puntos.

Saludos

Ruben Fernandez.

Posted: Wed Feb 28, 2007 4:21 am
by joseluisysturiz
No seria mas practico si creas un array con los font y luego llamas el que quieras...? aFonts := { {Font1, font2, Font3, Fontn} }, nose, digo.