Arrays en FastReport (SOLUCIONADO)
Arrays en FastReport (SOLUCIONADO)
Amigos:
Alguien que me ayude a entender cómo ligar el siguiente array a FastReport, tanto para
diseñar el reporte como para la impresión ?
aRegs[nRegs,nCols]
Saludos
Alguien que me ayude a entender cómo ligar el siguiente array a FastReport, tanto para
diseñar el reporte como para la impresión ?
aRegs[nRegs,nCols]
Saludos
Last edited by Armando on Wed May 19, 2010 2:18 pm, edited 1 time in total.
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- jrestojeda
- Posts: 543
- Joined: Wed Jul 04, 2007 3:51 pm
- Location: Buenos Aires - Argentina
Re: Arrays en FastReport
Hola Armando...
Espero te sirva...
Saludos, Esteban.
Code: Select all
oFr:SetUserDataSet( "aMiArray","COLUMNA1;COLUMNA2;COLUMNA3;COLUMNA4",;
{||np := 1}, ; //--> bGoTop
{||np := np + 1}, ; //--> bSkipPlus
{||np := np - 1}, ; //--> bSkipMinus
{||np > Len(aMiArray)}, ; //--> bCheckEOF
{|aField|nCol := IIF( aField == "COLUMNA1" , 1,;
IIF( aField == "COLUMNA2" , 2,;
IIF( aField == "COLUMNA3" , 3,;
IIF( aField == "COLUMNA4" , 4, )))), aMiArray[np, nCol] } )
Saludos, Esteban.
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
Re: Arrays en FastReport
Esteban:
Gracias por tu apoyo pero fijate que no doy pie con bola
mira tengo un array de la siguiente forma:
aRegs[nReg,nCol]
Imaginemos que tiene 5 registros (nReg = 5) y que cada registro
tiene 4 campos (nCols = 4), cómo debería definir el código para
pasarlo a FastReport y abrir el diseñador que me permita usar el
array para formar el reporte ??
Saludos
Gracias por tu apoyo pero fijate que no doy pie con bola
mira tengo un array de la siguiente forma:
aRegs[nReg,nCol]
Imaginemos que tiene 5 registros (nReg = 5) y que cada registro
tiene 4 campos (nCols = 4), cómo debería definir el código para
pasarlo a FastReport y abrir el diseñador que me permita usar el
array para formar el reporte ??
Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- jrestojeda
- Posts: 543
- Joined: Wed Jul 04, 2007 3:51 pm
- Location: Buenos Aires - Argentina
Re: Arrays en FastReport
Armando...
Es así como te lo escribí.
En lo que escribí anteriormente lo que para tí es: "aRegs" para mí es: "aMiArray"
Prueba y dime que resulta.
Saludos, Esteban.
Es así como te lo escribí.
En lo que escribí anteriormente lo que para tí es: "aRegs" para mí es: "aMiArray"
Prueba y dime que resulta.
Saludos, Esteban.
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
Re: Arrays en FastReport
Esteban:
Tienes razón, ya lo logré, es muy sencillo !.
Saludos y muchas gracias
Tienes razón, ya lo logré, es muy sencillo !.
Saludos y muchas gracias
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Re: Arrays en FastReport
Esteban:
He logrado incluir el ARRAY en FastReport y he usado sus elementos para
constuir el reporte, mejor dicho la etiqueta, son etiquetas !.
Perooo, no logro que me imprima más de una, lo que necesito es que me
imprima una etiqueta por cada elemento (nRegs) del array.
aRegs[nRegs,nCols]
Saludos
He logrado incluir el ARRAY en FastReport y he usado sus elementos para
constuir el reporte, mejor dicho la etiqueta, son etiquetas !.
Perooo, no logro que me imprima más de una, lo que necesito es que me
imprima una etiqueta por cada elemento (nRegs) del array.
aRegs[nRegs,nCols]
Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Re: Arrays en FastReport
Hola Armando,
En las bandas (Master,Detail, etc.) hay una propiedad: "RowCount" donde puedes ponerle en número que equivale a las veces que quieres visualizar/imprimir dicha la banda, en tu caso la longitud del array. Es decir no asocias la banda a un origen de datos recordset ó DBF.
No se si te puede servir...
Un saludo
Ernesto
En las bandas (Master,Detail, etc.) hay una propiedad: "RowCount" donde puedes ponerle en número que equivale a las veces que quieres visualizar/imprimir dicha la banda, en tu caso la longitud del array. Es decir no asocias la banda a un origen de datos recordset ó DBF.
No se si te puede servir...
Un saludo
Ernesto
Re: Arrays en FastReport
Ernesto:
Gracias por tu respuesta.
Mira, tengo entendido que en el caso de una DBF o RecordSet la banda se imprime tantas
veces como registros haya en el DBF o RecordSet.
Tambien tengo entendido que en el caso de los Array sucede lo mismo, me parece que no
puedo utilizar el RowCount porque en cada impresión la longitud del Array puede variar, mejor
dicho varía, deduzco que algo me hace falta definir en el formato pero no doy con qué
Saludos
Gracias por tu respuesta.
Mira, tengo entendido que en el caso de una DBF o RecordSet la banda se imprime tantas
veces como registros haya en el DBF o RecordSet.
Tambien tengo entendido que en el caso de los Array sucede lo mismo, me parece que no
puedo utilizar el RowCount porque en cada impresión la longitud del Array puede variar, mejor
dicho varía, deduzco que algo me hace falta definir en el formato pero no doy con qué
Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Re: Arrays en FastReport
Hola Armando,
Si la longitud del array varía, puedes ponerlo asi:
nLenArray:=len(aArray)
oFr:SetProperty("MasterData1", "RowCount",nLenArray)
Un saludo,
Ernesto.
Si la longitud del array varía, puedes ponerlo asi:
nLenArray:=len(aArray)
oFr:SetProperty("MasterData1", "RowCount",nLenArray)
Un saludo,
Ernesto.
Re: Arrays en FastReport
Ernesto:
Fijate que sí pero no
Con tu solución se imprime el primer elemento del array pero tantas veces
como longitud tenga el array.
Deduzco que algo me falta en el diseño, pero no se qué
Saludos
Fijate que sí pero no
Con tu solución se imprime el primer elemento del array pero tantas veces
como longitud tenga el array.
Deduzco que algo me falta en el diseño, pero no se qué
Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Re: Arrays en FastReport (SOLUCIONADO)
Amigos:
Muchas por sus respuestas y sugerencias, este problema ha quedado solucionado.
Saludos
Muchas por sus respuestas y sugerencias, este problema ha quedado solucionado.
Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
-
- Posts: 1
- Joined: Thu Sep 08, 2011 3:55 pm
Re: Arrays en FastReport (SOLUCIONADO)
Alguien sabe de esto necesito hacer una matriz para almacenar un total.
Usamos el "TStringList" de clase como una matriz para el almacenamiento de sumas ". Vamos a almacenar datos numéricos
valores como cadenas. Al mismo tiempo, la primera línea en la lista corresponde al valor de la
primer grupo, etc La variable de valor entero (que vamos a aumentar después de imprimir el siguiente
grupo) se utiliza para calcular el número del grupo.
Por lo tanto, nuestro script se verá como sigue:
esto es lo que estoy haciendo:
procedure GroupFooter1OnBeforePrint(Sender: TfrxComponent);
begin
if then
Lista.Add(FloatToStr(SUM(<masterQuery."SALDO">,MasterData1)));
Inc(i);
{ if (Copy(<masterQuery."SALDO">, 1, 1) < '10') and (Copy(<masterQuery."SALDO">, 1, 1) > '10')and (chk_pendientes.Checked) then
begin
MasterData1.Visible := True;
GroupFooter1.visible := True;
end
else
begin
MasterData1.Visible := False;
GroupFooter1.visible := False;
end; }
end;
procedure GroupHeader1OnBeforePrint(Sender: TfrxComponent);
begin
if Engine.FinalPass then
Memo27.Text := 'Sum: ' + List;
end;
procedure frxReport1OnStartReport(Sender: TfrxComponent);
begin
Lista := TStringList.Create;
end;
procedure frxReport1OnStopReport(Sender: TfrxComponent);
begin
Lista.Free;
end;
solo quiero que cuando la suma del saldo sea <> 0 muestre en la banda lo distinto de cero
Usamos el "TStringList" de clase como una matriz para el almacenamiento de sumas ". Vamos a almacenar datos numéricos
valores como cadenas. Al mismo tiempo, la primera línea en la lista corresponde al valor de la
primer grupo, etc La variable de valor entero (que vamos a aumentar después de imprimir el siguiente
grupo) se utiliza para calcular el número del grupo.
Por lo tanto, nuestro script se verá como sigue:
esto es lo que estoy haciendo:
procedure GroupFooter1OnBeforePrint(Sender: TfrxComponent);
begin
if then
Lista.Add(FloatToStr(SUM(<masterQuery."SALDO">,MasterData1)));
Inc(i);
{ if (Copy(<masterQuery."SALDO">, 1, 1) < '10') and (Copy(<masterQuery."SALDO">, 1, 1) > '10')and (chk_pendientes.Checked) then
begin
MasterData1.Visible := True;
GroupFooter1.visible := True;
end
else
begin
MasterData1.Visible := False;
GroupFooter1.visible := False;
end; }
end;
procedure GroupHeader1OnBeforePrint(Sender: TfrxComponent);
begin
if Engine.FinalPass then
Memo27.Text := 'Sum: ' + List;
end;
procedure frxReport1OnStartReport(Sender: TfrxComponent);
begin
Lista := TStringList.Create;
end;
procedure frxReport1OnStopReport(Sender: TfrxComponent);
begin
Lista.Free;
end;
solo quiero que cuando la suma del saldo sea <> 0 muestre en la banda lo distinto de cero