Foros del Web » Programando para Internet » ASP Clásico »

Problemas imagen fpdf y bucle for

Estas en el tema de Problemas imagen fpdf y bucle for en el foro de ASP Clásico en Foros del Web. Buenas! A ver si a alguien se le ocurre una idea con mi problema. Me explico, estoy creando un pdf con fpdf. Debe poner una ...
  #1 (permalink)  
Antiguo 20/12/2010, 05:01
 
Fecha de Ingreso: noviembre-2010
Mensajes: 4
Antigüedad: 14 años, 1 mes
Puntos: 0
Problemas imagen fpdf y bucle for

Buenas!

A ver si a alguien se le ocurre una idea con mi problema. Me explico, estoy creando un pdf con fpdf. Debe poner una serie de datos que provienen de mi base de datos. Tengo un bucle for para que para cada registro me ponga una imagen de fondo y coloque correctamente los datos. Todo está cuadrado pero tengo un problema que no sé resolver y me resulta extraño: La primera vez que incluyo la imagen en el pdf el bucle for me da un salto de 2 números!!!!

Os pongo el código para que lo veais:

for i=0 to total step 1
arra=i
set oConn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")

oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("bd/datos.mdb")
SQL2="SELECT * from ficha where id=" & arraidatos(arra) & ""
rs.Open SQL2, oConn, 2,3

registro=arra
registro=registro+1
modulo=registro mod 6

if registro>5 then
if modulo=0 then
pdf.AddPage()

salto=0

end if
else
if arra=0 then
pdf.AddPage()


end if
end if
coorfoto=20+salto

----------------------- En este punto, la primera vez que se ejecuta el bucle for i vale 0

pdf.image "fotos/fondoimpresionpdf.jpg", 30 , coorfoto, 150 , 37

-----------------------En este punto, i vale 2 justo después de poner la imagen (no entiendo por qué...)


nombre=rs.Fields("nombre")
poblacion=rs.Fields("poblacion")
provincia=rs.Fields("provincia")
calle=rs.Fields("calle")
numero=rs.Fields("numero")
tipocomida=rs.Fields("tipocomida")
telefono=rs.Fields("telefono")
direccion= calle & ", " & numero

pdf.SetFont "Arial","B",14

pdf.SetY 21+salto
pdf.SetX 30
pdf.Cell 150,7, nombre,centrado,1,alinea

pdf.SetFont "Arial","",8
pdf.SetY 29+salto
pdf.Setx 61
pdf.Cell 44,8, direccion,centrado,0,alinea
pdf.Setx 136
pdf.Cell 44,8, poblacion,centrado,1,alinea
pdf.SetY 38+salto
pdf.SetX 61
pdf.Cell 44,8, tipocomida,centrado,0,alinea
pdf.SetX 136
pdf.Cell 44,8, provincia,centrado,1,alinea


pdf.SetFont "Arial","B",14
pdf.SetY 50+salto
pdf.SetX 103
pdf.Cell 45,8, telefono,centrado,0,alinea

salto=salto+45

next

A partir de la primera vez que el bucle for se ejecuta, i pasa a valer 2 y luego se va incrementando normalmente. ¿A alguien se le ocurre que puede estar pasando?
  #2 (permalink)  
Antiguo 20/12/2010, 10:23
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 10 meses
Puntos: 146
Respuesta: Problemas imagen fpdf y bucle for

No es que no te crea, pero yo ocuparía algo más concreto que un comentario para observar que efectivamente la variable se incrementa dos veces.

Para empezar yo limpiaria ese código, eliminaría el uso de la variable arra eliminaría sentencia dobles (como el pdf.AddPage() que tienes), no crearía el objeto de conexión ni el recordSet dentro del ciclo, y demás; posterior a eso haría una prueba de escritorio con un listado de los registros de tu tabla Access y constataría el funcionamiento de mi código, que por lo que noto de reojo tiene sus detalles.

Haz la prueba de escritorio, si si sale bien y el código sigue sin ejecutarse correctamente, pon los primeros 3 registros para ver que tienen.

Saludos
  #3 (permalink)  
Antiguo 20/12/2010, 10:37
 
Fecha de Ingreso: noviembre-2010
Mensajes: 4
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Problemas imagen fpdf y bucle for

Gracias por la respuesta:

La verdad que la solución era bastante sencilla, pero hasta que uno no se choca 30 veces...

Simplemente cambié i por j, para hacer el bucle. Por lo que se ve al crear la imagen llamará a algun bucle for que ha usa i y por eso me incrementa dos veces la variable. En cuanto la cambié a j ha dejado de dar problemas.

En cuanto a lo del código es cierto que está sucio y tiene variables inservibles (de tanto toquetear probando cosas aquí y allá a ver si daba con la solución). No obstante ya lo he limpiado y funciona correctamente...

Gracias por la ayuda!!

Etiquetas: bucle, fpdf
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:14.