Jump to content
Fivewin Brasil

FastReport dinâmico


alex2002

Recommended Posts

Olá pessoal,

Alguém usa o Fast sem a edição na mão do relatório? 

Tenho uma pancada de relatório em RPV que são gerados dinamicamente e estou querendo passar tudo pra Fast. Mas quero mudar apenas o meu gerador de relatório para não atrapalhar os mais de 1.000 prgs que possuo hoje.

Se alguém usa, por favor, passa a senha rsrsrsrsrs

Um abraço,

Alexandre Pereira

 

Link to comment
Share on other sites

Alex, tenho um material que consegui na internet, mas não tenho o link, caso venha encontrar farei o post aqui!

Não testei ainda este material, caso vc consiga ter sucesso! Post o resultado para pessoal!

/============================================================================//
//   FR3  TO  PRG                                			By: Arthur Silvestre //
//                                                        						   //
//                                                                            //
//Data da Geração: 01/11/2013                                                   //
//Arquivo Importado: C:\des\Outros\cedro\entr1geral.fr3                            //
//============================================================================//
#Include "FiveWin.CH"
#Include "FastRepH.CH"


Function Main()
	FrPrn:=frReportManager():new()

	AddVariavel()

	FrPrn:ShowReport()
	FrPrn:DestroyFR()
Return .T.


Function AddVariavel()
//Nova Pagina//
FrPrn:NewReport("Page1")
   PropriedadesFR("Page1","Height=1000;Left=0;Top=0;Width=1000;Name=Page1;Font.Charset=1;Font.Color=0;Font.Height=-9;Font.Name=tableau;Font.Style=0;PaperWidth=210;PaperHeight=297;PaperSize=9;LeftMargin=10;RightMargin=10;TopMargin=10;BottomMargin=10;ColumnWidth=0;ColumnPositions.Text=;HGuides.Text=;VGuides.Text=")

FrPrn:SetProperty("Report", "ScriptLanguage", "PascalScript ")
FrPrn:SetProperty("Report.ScriptText", "Text", StrTran( "
begin
      Picture1.Picture.LoadFromFile(<vlogoemp>);
     
  
end." ,"
" , CRLF ) )

FrPrn:AddBand("PageFooter1","Page1",frxPageFooter)
   PropriedadesFR("PageFooter1","Height=41,57483N*;Left=0N*;Top=464,88219N*;Width=718,1107N*")

    FrPrn:AddMemo("PageFooter1","vsiteemp",'[vsiteemp]
[vemaiemp]',3.77953,0,710.55164,37.7953)
      PropriedadesFR("vsiteemp","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=0;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;Frame.Style=fsDouble;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False;VAlign=vaCenter")

    FrPrn:AddMemo("PageFooter1","Date",'[Date]',608.50433,15.11812,102.04731,18.89765)
      PropriedadesFR("Date","ShowHint=False;Font.Charset=1;Font.Color=0;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;Frame.Color=8421504;HAlign=haCenter;ParentFont=False;VAlign=vaCenter")

    FrPrn:AddMemo("PageFooter1","Page",'Pag:[Page#][TotalPages#]',608.50433,0,105.82684,18.89765)
      PropriedadesFR("Page","ShowHint=False;Font.Charset=1;Font.Color=0;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;Frame.Color=8421504;HAlign=haCenter;ParentFont=False;VAlign=vaCenter")

FrPrn:AddBand("PageHeader1","Page1",frxPageHeader)
   PropriedadesFR("PageHeader1","Height=151,1812N*;Left=0N*;Top=86,92919N*;Width=718,1107N*")

    FrPrn:AddMemo("PageHeader1","Memo6",'',0,0,718.1107,124.72449)
      PropriedadesFR("Memo6","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-17;Font.Name=Arial;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")

    FrPrn:AddPicture("PageHeader1","Picture1",DIGITE O CAMINHO DA IMAGEM,3.77953,3.77953,151.1812,117.16543)
      PropriedadesFR("Picture1","ShowHint=False;Center=True;Frame.Typ=15;HightQuality=False")

    FrPrn:AddMemo("PageHeader1","vnomeemp",'[vnomeemp]',158.74026,0,559.37044,22.67718)
      PropriedadesFR("vnomeemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")

    FrPrn:AddMemo("PageHeader1","vendeemp",'End:[vendeemp]',158.74026,22.67718,464.88219,18.89765)
      PropriedadesFR("vendeemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")

    FrPrn:AddMemo("PageHeader1","vnumeemp",'Nrº:[vnumeemp]',627.40198,22.67718,90.70872,18.89765)
      PropriedadesFR("vnumeemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")

    FrPrn:AddMemo("PageHeader1","vbairemp",'Bairro:[vbairemp]',158.74026,45.35436,173.85838,22.67718)
      PropriedadesFR("vbairemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")

    FrPrn:AddMemo("PageHeader1","vcidaemp",'Cidade:[vcidaemp]',336.37817,45.35436,196.53556,22.67718)
      PropriedadesFR("vcidaemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")

    FrPrn:AddMemo("PageHeader1","vufempre",'Uf:[vufempre]',532.91373,45.35436,60.47248,22.67718)
      PropriedadesFR("vufempre","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")

    FrPrn:AddMemo("PageHeader1","vcepempr",'Cep:[vcepempr]',597.16574,45.35436,120.94496,22.67718)
      PropriedadesFR("vcepempr","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")

    FrPrn:AddMemo("PageHeader1","vcnpjemp",'CnpjCpf:[vcnpjemp]',423.30736,68.03154,219.21274,22.67718)
      PropriedadesFR("vcnpjemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")

    FrPrn:AddMemo("PageHeader1","vteleemp",'Telefone:[vteleemp]',158.74026,68.03154,260.78757,22.67718)
      PropriedadesFR("vteleemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")

    FrPrn:AddMemo("PageHeader1","vativemp",'[vativemp]',158.74026,90.70872,559.37044,22.67718)
      PropriedadesFR("vativemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")

    FrPrn:AddMemo("PageHeader1","Memo1",'Data',0,128.50402,139.84261,22.67718)
      PropriedadesFR("Memo1","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-16;Font.Name=Arial Narrow;Font.Style=[fsBold];Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")

    FrPrn:AddMemo("PageHeader1","Memo2",'Descriçao',139.84261,128.50402,362.83488,22.67718)
      PropriedadesFR("Memo2","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-16;Font.Name=Arial Narrow;Font.Style=[fsBold];Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")

    FrPrn:AddMemo("PageHeader1","Memo4",'Parcela',502.67749,128.50402,94.48825,22.67718)
      PropriedadesFR("Memo4","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-16;Font.Name=Arial Narrow;Font.Style=[fsBold];Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")

    FrPrn:AddMemo("PageHeader1","Memo5",'Valor',597.16574,128.50402,120.94496,22.67718)
      PropriedadesFR("Memo5","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-16;Font.Name=Arial Narrow;Font.Style=[fsBold];Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")

FrPrn:AddBand("MasterData2","Page1",frxMasterData)
   PropriedadesFR("MasterData2","Height=22,67718N*;Left=0N*;Top=298,58287N*;Width=718,1107N*;ColumnWidth=0;ColumnGap=0;DataSetName=REC;KeepFooter=True;RowCount=0")

    FrPrn:AddMemo("MasterData2","RECDATAREC",'[REC."DATAREC"]',0,0,139.84261,22.67718)
      PropriedadesFR("RECDATAREC","ShowHint=False;Color=-16777192;DataSetName=REC;Font.Charset=1;Font.Color=255;Font.Height=-12;Font.Name=Comic Sans MS;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];Highlight.Font.Charset=1;Highlight.Font.Color=32768;Highlight.Font.Height=-12;Highlight.Font.Name=Comic Sans MS;Highlight.Font.Style=0;Highlight.Color=-16777192;Highlight.Condition=<REC."TIPOREC">='E';ParentFont=False")

    FrPrn:AddMemo("MasterData2","RECPARCNUM",'[REC."PARCNUM"][REC."PARCREC"]',502.67749,0,94.48825,22.67718)
      PropriedadesFR("RECPARCNUM","ShowHint=False;Color=-16777192;DataSetName=REC;Font.Charset=1;Font.Color=255;Font.Height=-12;Font.Name=Comic Sans MS;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];HAlign=haCenter;Highlight.Font.Charset=1;Highlight.Font.Color=32768;Highlight.Font.Height=-12;Highlight.Font.Name=Comic Sans MS;Highlight.Font.Style=0;Highlight.Color=-16777192;Highlight.Condition=<REC."TIPOREC">='E';ParentFont=False;VAlign=vaCenter")

    FrPrn:AddMemo("MasterData2","RECTIPOREC",'[REC."TIPOREC"]',139.84261,0,0,22.67718)
      PropriedadesFR("RECTIPOREC","ShowHint=False;DataSetName=REC;Font.Charset=1;Font.Color=-16777208;Font.Height=-16;Font.Name=Britannic Bold;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")

    FrPrn:AddMemo("MasterData2","Memo7",'[REC."DESCREC"]',139.84261,0,362.83488,22.67718)
      PropriedadesFR("Memo7","ShowHint=False;Color=-16777192;DataSetName=REC;Font.Charset=1;Font.Color=255;Font.Height=-12;Font.Name=Comic Sans MS;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];Highlight.Font.Charset=1;Highlight.Font.Color=32768;Highlight.Font.Height=-12;Highlight.Font.Name=Comic Sans MS;Highlight.Font.Style=0;Highlight.Color=-16777192;Highlight.Condition=<REC."TIPOREC">='E';ParentFont=False")

    FrPrn:AddMemo("MasterData2","Memo8",'[REC."VALOREC"]',597.16574,0,120.94496,22.67718)
      PropriedadesFR("Memo8","ShowHint=False;Color=-16777192;DataSetName=REC;DisplayFormat.FormatStr=%2.2n;DisplayFormat.Kind=fkNumeric;Font.Charset=1;Font.Color=255;Font.Height=-12;Font.Name=Comic Sans MS;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];HAlign=haCenter;Highlight.Font.Charset=1;Highlight.Font.Color=32768;Highlight.Font.Height=-12;Highlight.Font.Name=Comic Sans MS;Highlight.Font.Style=0;Highlight.Color=-16777192;Highlight.Condition=<REC."TIPOREC">='E';ParentFont=False;VAlign=vaCenter")

FrPrn:AddBand("ReportTitle1","Page1",frxReportTitle)
   PropriedadesFR("ReportTitle1","Height=45,35436N*;Left=0N*;Top=18,89765N*;Width=718,1107N*")

    FrPrn:AddMemo("ReportTitle1","vtituloo",'[vtituloo]',2,0,714.33117,41.57483)
      PropriedadesFR("vtituloo","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-27;Font.Name=Comic Sans MS;Font.Style=[fsBold];Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];HAlign=haCenter;ParentFont=False")

FrPrn:AddBand("Footer1","Page1",frxFooter)
   PropriedadesFR("Footer1","Height=60,47248N*;Left=0N*;Top=343,93723N*;Width=718,1107N*;Stretched=True")

    FrPrn:AddMemo("Footer1","Memo9",'[vrodape]',11.33859,7.55906,702.99258,34.01577)
      PropriedadesFR("Memo9","ShowHint=False;Color=15793151;Font.Charset=1;Font.Color=16711680;Font.Height=-15;Font.Name=Arial Narrow;Font.Style=[fsBold];Frame.Style=fsDashDotDot;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];HAlign=haRight;ParentFont=False")

Return .t.



Function PropriedadesFR(oBj,Propriedades)
	Local aPro:={} 
	Local aProp:={} 

	aPro:=HB_ATokens(Propriedades,";")

	for x:=1 to len(aPro)
		if (AT(".",aPro[x]))>0
			 aadd(aProp,Substr(aPro[x],1,AT(".",aPro[x])-1))
		    aadd(aProp,Substr(aPro[x],AT(".",aPro[x])+1,AT("=",aPro[x])-(1+AT(".",aPro[x]))))
		    aadd(aProp,Substr(aPro[x],AT("=",aPro[x])+1,Len(aPro[x])-AT("=",aPro[x])))
		    IF right(aProp[3],2) == "N*"
			 	FrPrn:SetProperty(oBj+"."+aProp[1],aProp[2],Val(Substr(StrTran(aProp[3],",","."),1,Len(aProp[3])-2)))
		    ELSE
			 	FrPrn:SetProperty(oBj+"."+aProp[1],aProp[2],aProp[3])
		    ENDIF
			 aProp:={}
		else
		    aadd(aProp,Substr(aPro[x],1,AT("=",aPro[x])-1))
		    aadd(aProp,Substr(aPro[x],AT("=",aPro[x])+1,Len(aPro[x])-AT("=",aPro[x])))
		    IF right(aProp[2],2) == "N*"
			 	FrPrn:SetProperty(oBj,aProp[1],Val(Substr(StrTran(aProp[2],",","."),1,Len(aProp[2])-2)))
		    ELSE
			 	FrPrn:SetProperty(oBj,aProp[1],aProp[2])
		    ENDIF
			 aProp:={}
		endif
	next

Return .t.


//============================================================================//
//   FR3  TO  PRG                                			By: Arthur Silvestre //
//                                                                            //
//                                                                            //
//Data da Geração: 01/11/2013                                                   //
//Arquivo Importado: C:\des\Outros\cedro\entr1geral.fr3                            //
//============================================================================//

 

Link to comment
Share on other sites

Segue outro exemplo: Matheus Chaves, que não conheço, também peguei na net cedro.prg

FrPrn:=frReportManager():new()
   FrPrn:NewReport("Page1")
   PropriedadesFR("Page1","Height=1000;Left=0;Top=0;Width=1000;Name=Page1;Font.Charset=1;Font.Color=0;Font.Height=-9;Font.Name=tableau;Font.Style=0;PaperWidth=210;PaperHeight=297;PaperSize=9;LeftMargin=10;RightMargin=10;TopMargin=10;BottomMargin=10;ColumnWidth=0;ColumnPositions.Text=;HGuides.Text=;VGuides.Text=")

   //FrPrn:LoadFromFile("c:\des\cedro\entr1geral.fr3")
   FrPrn:SetUserDataSet( "REC","DATAREC;TIPOREC;DESCREC;PARCREC;PARCNUM;VALOREC",{||I := 1},{||I := I + 1},{||I := I - 1},{||I > Len(aItensRec[1])},{|cField| X:= Campo1VetorRec(cField,I) ,X  })
   //FrPrn:SetProperty("MasterData2","DataSetName","REC")

   ** Apos o LoadFromFile
   frprn:addvariable("Variaveis", "vnomeemp","'&vNOMEEMP'")
   frprn:addvariable("Variaveis", "vendeemp","'&vENDEEMP'")
   frprn:addvariable("Variaveis", "vnumeemp","'&vNUMEEMP'")
   frprn:addvariable("Variaveis", "vbairemp","'&vBAIREMP'")
   frprn:addvariable("Variaveis", "vcidaemp","'&vCIDAEMP'")
   frprn:addvariable("Variaveis", "vufempre","'&vUFEMPRE'")
   frprn:addvariable("Variaveis", "vcepempr","'&vCEPEMPR'")
   frprn:addvariable("Variaveis", "vcnpjemp","'&vCNPJEMP'")
   frprn:addvariable("Variaveis", "vteleemp","'&vTELEEMP'")
   frprn:addvariable("Variaveis", "vativemp","'&vATIVEMP'")
   frprn:addvariable("Variaveis", "vemaiemp","'&vEMAIEMP'")
   frprn:addvariable("Variaveis", "vsiteemp","'&vSITEEMP'")
   frprn:addvariable("Variaveis", "vlogoemp","'&vLOGOEMP'")
   frprn:addvariable("Variaveis", "vtituloo","'&vtituloo'")
   frprn:addvariable("Variaveis", "vreceitas","'&vReceitas'")
   frprn:addvariable("Variaveis", "vdespesas","'&vDespesas'")
   frprn:addvariable("Variaveis", "vrendimen","'&vRendimen'")
   frprn:addvariable("Variaveis", "vrodape","'&vrodape'")

   asp:=[']

   FrPrn:AddBand("PageFooter1","Page1",frxPageFooter)
   PropriedadesFR("PageFooter1","Height=41,57483N*;Left=0N*;Top=464,88219N*;Width=718,1107N*")

   FrPrn:AddMemo("PageFooter1","vsiteemp",'[vsiteemp]'+CRLF+'[vemaiemp]',3.77953,0,710.55164,37.7953)
   PropriedadesFR("vsiteemp","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=0;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;Frame.Style=fsDouble;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False;VAlign=vaCenter")

   FrPrn:AddMemo("PageFooter1","Date",'[Date]',608.50433,15.11812,102.04731,18.89765)
   PropriedadesFR("Date","ShowHint=False;Font.Charset=1;Font.Color=0;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;Frame.Color=8421504;HAlign=haCenter;ParentFont=False;VAlign=vaCenter")

   FrPrn:AddMemo("PageFooter1","Page",'Pag:[Page#]/[TotalPages#]',608.50433,0,105.82684,18.89765)
   PropriedadesFR("Page","ShowHint=False;Font.Charset=1;Font.Color=0;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;Frame.Color=8421504;HAlign=haCenter;ParentFont=False;VAlign=vaCenter")

   FrPrn:AddBand("PageHeader1","Page1",frxPageHeader)
   PropriedadesFR("PageHeader1","Height=151,1812N*;Left=0N*;Top=86,92919N*;Width=718,1107N*")

   FrPrn:AddMemo("PageHeader1","Memo6",'',0,0,718.1107,124.72449)
   PropriedadesFR("Memo6","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-17;Font.Name=Arial;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")

   FrPrn:AddPicture("PageHeader1","Picture1",vlogoemp,3.77953,3.77953,151.1812,117.16543)
   PropriedadesFR("Picture1","ShowHint=False;Center=True;Frame.Typ=15;HightQuality=False")

   FrPrn:AddMemo("PageHeader1","vnomeemp",'[vnomeemp]',158.74026,0,559.37044,22.67718)
   PropriedadesFR("vnomeemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")

   FrPrn:AddMemo("PageHeader1","vendeemp",'End:[vendeemp]',158.74026,22.67718,464.88219,18.89765)
   PropriedadesFR("vendeemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")

   FrPrn:AddMemo("PageHeader1","vnumeemp",'Nrº:[vnumeemp]',627.40198,22.67718,90.70872,18.89765)
   PropriedadesFR("vnumeemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")

   FrPrn:AddMemo("PageHeader1","vbairemp",'Bairro:[vbairemp]',158.74026,45.35436,173.85838,22.67718)
   PropriedadesFR("vbairemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")

   FrPrn:AddMemo("PageHeader1","vcidaemp",'Cidade:[vcidaemp]',336.37817,45.35436,196.53556,22.67718)
   PropriedadesFR("vcidaemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")

   FrPrn:AddMemo("PageHeader1","vufempre",'Uf:[vufempre]',532.91373,45.35436,60.47248,22.67718)
   PropriedadesFR("vufempre","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")

   FrPrn:AddMemo("PageHeader1","vcepempr",'Cep:[vcepempr]',597.16574,45.35436,120.94496,22.67718)
   PropriedadesFR("vcepempr","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")

   FrPrn:AddMemo("PageHeader1","vcnpjemp",'CnpjCpf:[vcnpjemp]',423.30736,68.03154,219.21274,22.67718)
   PropriedadesFR("vcnpjemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")

   FrPrn:AddMemo("PageHeader1","vteleemp",'Telefone:[vteleemp]',158.74026,68.03154,260.78757,22.67718)
   PropriedadesFR("vteleemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")

   FrPrn:AddMemo("PageHeader1","vativemp",'[vativemp]',158.74026,90.70872,559.37044,22.67718)
   PropriedadesFR("vativemp","ShowHint=False;Font.Charset=1;Font.Color=-16777208;Font.Height=-13;Font.Name=Comic Sans MS;Font.Style=0;ParentFont=False")

   FrPrn:AddMemo("PageHeader1","Memo1",'Data',0,128.50402,139.84261,22.67718)
   PropriedadesFR("Memo1","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-16;Font.Name=Arial Narrow;Font.Style=[fsBold];Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")

   FrPrn:AddMemo("PageHeader1","Memo2",'Descrição',139.84261,128.50402,362.83488,22.67718)
   PropriedadesFR("Memo2","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-16;Font.Name=Arial Narrow;Font.Style=[fsBold];Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")

   FrPrn:AddMemo("PageHeader1","Memo4",'Parcela',502.67749,128.50402,94.48825,22.67718)
   PropriedadesFR("Memo4","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-16;Font.Name=Arial Narrow;Font.Style=[fsBold];Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")

   FrPrn:AddMemo("PageHeader1","Memo5",'Valor',597.16574,128.50402,120.94496,22.67718)
   PropriedadesFR("Memo5","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-16;Font.Name=Arial Narrow;Font.Style=[fsBold];Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False")
   FrPrn:AddBand("MasterData2","Page1",frxMasterData)
   PropriedadesFR("MasterData2","Height=22,67718N*;Left=0N*;Top=298,58287N*;Width=718,1107N*;ColumnWidth=0;ColumnGap=0;DataSetName=REC;KeepFooter=True;RowCount=0")
   FrPrn:AddMemo("MasterData2","RECDATAREC",'[REC."DATAREC"]',0,0,139.84261,22.67718)
   PropriedadesFR("RECDATAREC",'ShowHint=False;Color=-16777192;DataSetName=REC;Font.Charset=1;Font.Color=255;Font.Height=-12;Font.Name=Comic Sans MS;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];Highlight.Font.Charset=1;Highlight.Font.Color=32768;Highlight.Font.Height=-12;Highlight.Font.Name=Comic Sans MS;Highlight.Font.Style=0;Highlight.Color=-16777192;Highlight.Condition=<REC."TIPOREC">=&asp E &asp;ParentFont=False')
   FrPrn:AddMemo("MasterData2","RECPARCNUM",'[REC."PARCNUM"]/[REC."PARCREC"]',502.67749,0,94.48825,22.67718)
   PropriedadesFR("RECPARCNUM",'ShowHint=False;Color=-16777192;DataSetName=REC;Font.Charset=1;Font.Color=255;Font.Height=-12;Font.Name=Comic Sans MS;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];HAlign=haCenter;Highlight.Font.Charset=1;Highlight.Font.Color=32768;Highlight.Font.Height=-12;Highlight.Font.Name=Comic Sans MS;Highlight.Font.Style=0;Highlight.Color=-16777192;Highlight.Condition=<REC."TIPOREC">=&asp E &asp;ParentFont=False;VAlign=vaCenter')
   FrPrn:AddMemo("MasterData2","RECTIPOREC",'[REC."TIPOREC"]',139.84261,0,0,22.67718)
   PropriedadesFR("RECTIPOREC",'ShowHint=False;DataSetName=REC;Font.Charset=1;Font.Color=-16777208;Font.Height=-16;Font.Name=Britannic Bold;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];ParentFont=False')
   FrPrn:AddMemo("MasterData2","Memo7",'[REC."DESCREC"]',139.84261,0,362.83488,22.67718)
   PropriedadesFR("Memo7",'ShowHint=False;Color=-16777192;DataSetName=REC;Font.Charset=1;Font.Color=255;Font.Height=-12;Font.Name=Comic Sans MS;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];Highlight.Font.Charset=1;Highlight.Font.Color=32768;Highlight.Font.Height=-12;Highlight.Font.Name=Comic Sans MS;Highlight.Font.Style=0;Highlight.Color=-16777192;Highlight.Condition=<REC."TIPOREC">=&asp E &asp;ParentFont=False')
   FrPrn:AddMemo("MasterData2","Memo8",'[REC."VALOREC"]',597.16574,0,120.94496,22.67718)
   PropriedadesFR("Memo8",'ShowHint=False;Color=-16777192;DataSetName=REC;DisplayFormat.FormatStr=%2.2n;DisplayFormat.Kind=fkNumeric;Font.Charset=1;Font.Color=255;Font.Height=-12;Font.Name=Comic Sans MS;Font.Style=0;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];HAlign=haCenter;Highlight.Font.Charset=1;Highlight.Font.Color=32768;Highlight.Font.Height=-12;Highlight.Font.Name=Comic Sans MS;Highlight.Font.Style=0;Highlight.Color=-16777192;Highlight.Condition=<REC."TIPOREC">=&asp E &asp;ParentFont=False;VAlign=vaCenter')
   FrPrn:AddBand("ReportTitle1","Page1",frxReportTitle)
   PropriedadesFR("ReportTitle1","Height=45,35436N*;Left=0N*;Top=18,89765N*;Width=718,1107N*")

   FrPrn:AddMemo("ReportTitle1","vtituloo",'[vtituloo]',2,0,714.33117,41.57483)
   PropriedadesFR("vtituloo","ShowHint=False;Color=-16777192;Font.Charset=1;Font.Color=-16777208;Font.Height=-27;Font.Name=Comic Sans MS;Font.Style=[fsBold];Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];HAlign=haCenter;ParentFont=False")
   FrPrn:AddBand("Footer1","Page1",frxFooter)
   PropriedadesFR("Footer1","Height=60,47248N*;Left=0N*;Top=343,93723N*;Width=718,1107N*;Stretched=True")

   FrPrn:AddMemo("Footer1","Memo9",'[vrodape]',11.33859,7.55906,702.99258,34.01577)
   PropriedadesFR("Memo9","ShowHint=False;Color=15793151;Font.Charset=1;Font.Color=16711680;Font.Height=-15;Font.Name=Arial Narrow;Font.Style=[fsBold];Frame.Style=fsDashDotDot;Frame.Typ=[ftLeft,ftRight,ftBottom,ftTop];HAlign=haRight;ParentFont=False")


   FrPrn:SetFileName(vtituloo) //so no finalzinho

 

Link to comment
Share on other sites

Consegui encontrar o link:

https://github.com/matheushchaves/CedroDesktop

Alexandre,  neste link tem CEDRO.EXE que é demonstração de relatórios dinâmico com FastReport, (EXEMPLO DE 4 RELATÓRIOS DIFERENTES), assim como o prg completo, postei parte dele.

Operador: ADMIN - senha 123456

Se vc criar um arquivo txt com nome de  c:\desenv.sys na raiz do drive que vc estiver executando, o sistema entra FrPrn:DesignReport(), do contrário, entra no FrPrn:ShowReport()

blz

ATT

José M. Silva

Link to comment
Share on other sites

  • 1 year later...
3 horas atrás, sygecom disse:

@alex2002

Tenho um exemplo que não está 100% que lê relatórios em TXT para gerar em FASTREPORT, se isso ajuda posso postar aqui.

Opa, posta aí então meu amigo.

Por falar nisso, vc está sumido. Uso até hoje aquela dica de instalação do MySQL que vc me passou (instalar pelo próprio aplicativo).

Um abraço,

Alexandre Pereira

Link to comment
Share on other sites

Bom dia Alê,

Lembro de você em um evento do Fivewin que aconteceu em Minas, acho que no SESC, foi top aquele evento, por aqui tudo corrido e por ai ? tudo bem ?

 

Segue abaixo o exemplo, como eu disse não está 100% mas da para partir dai para fazer algo bem legal.

FUNCTION MyManualReport( cTXT2FR3 )
/*
Recebe por parâmetro o arquivo .txt ou .prn para mostrar na tela do fastreport
 exemplo: c:\syg_temp\relatorio.txt
*/
local oFrPrn

IF !FILE(cTXT2FR3)
   ShowMsg("Erro ao localizar o arquivo para impressão " +cTXT2FR3 )
   RETURN(.F.)
ENDIF   

oFrPrn := frReportManager():new()

//oFrPrn:LoadLangRes(PEGA_ARQUIVO_SAGI(1,.T.)) // aqui é o icone da tela
oFrPrn:PreviewOptions:SetShowCaptions(.T.)
oFrPrn:SetIcon(1001)
oFrPrn:SetTitle("Visualizador de Relatórios do Sistema.")

oFrPrn:StartManualBuild( { || MyManualReport2(oFrPrn,cTXT2FR3) }, FR_LANDSCAPE, , FR_PIXELS )

oFrPrn:PrepareReport()
oFrPrn:ShowPreparedReport()

oFrPrn:Clear()
oFrPrn:DestroyFR()     // detona com o fastreporte e a dll da memoria.
oFrPrn:=nil

RETURN(.t.)

FUNCTION MyManualReport2(oFrPrn,cTXT2FR3)
/*
Exemplo de uso sem arquivo .FR3
*/
local tmp_Name:='', cText_ARQ:='', nLINES:=0, nA:=0, nINIT_LINE:=0, cIMPTEXT:=''
//local cLOGO:=ARQUIVOLOGOMARCA() // pega o logotipo do cliente para mostrar no relatorio
local cLOGO:=''

   oFrPrn:SetDefaultFontProperty( "Name", "Arial" )
   oFrPrn:SetDefaultFontProperty( "Size", 10 )

   IF !EMPTY(cLOGO)
      oFrPrn:PictureAt( cLOGO , 30, 200, 150, 150 )
      nINIT_LINE:=300
   ENDIF
   
   cText_ARQ := memoread( cTXT2FR3 ) // carrega o TXT

   nLINES := mlcount( cText_ARQ, 250 ) // total de linhas
   FOR nA := 1 to nLINES
      cLINE := MEMOLINE( cText_ARQ, 250, nA, 1, .F., .T. )
      
      IF Left(AllTrim( cLine ), 1 ) == Chr( 15 ) .or. Left( AllTrim(cLine), 1 ) == Chr( 18 )
         loop
      ENDIF

      If Left(AllTrim(cLine),1)==Chr(12) //SALTO DA PAGINA
         LOOP
         //oFrPrn:NewPage()
      ENDIF
      
      IF AT('[',cLine)>0 .OR. AT(']',cLine)>0
         cLine:=Stuff(cLine, AT('[',cLine),1,'-')
         cLine:=Stuff(cLine, AT(']',cLine),1,'-')
      ENDIF
      
      IF !EMPTY(ALLTRIM(cLINE)) 

         //oFrPrn:MemoAt(cLINE, 100, (nA*100)+nINIT_LINE, 350, 50 )
         nINIT_LINE:=0
         cIMPTEXT:=cIMPTEXT+cLINE+CR_LF
         //MemoAt(cStr, nLeft, nTop, nWidth, nHeight)
      ENDIF   
   NEXT
   oFrPrn:MemoAt(cIMPTEXT, 10, 350, 1500, 1500 )

   
*   tmp_Name := oFrPrn:MemoAt( "Some memo with bottom frame ...", 30, 30, 300, 50 )
*   oFrPrn:SetManualObjProperty( tmp_Name + ".Frame", "Typ", "[ftBottom]" )

//   oFrPrn:LineAt( 30, 200, 100, 100 )
//   oFrPrn:MemoAt( "<-- It's a some line ...", 200, 250, 350, 50 )


//   oFrPrn:NewPage()

 //  oFrPrn:MemoAt( "It's a second page..................", 30, 30, 100, 1000 )

RETURN(.T.)

 

Link to comment
Share on other sites

17 horas atrás, sygecom disse:

Bom dia Alê,

Lembro de você em um evento do Fivewin que aconteceu em Minas, acho que no SESC, foi top aquele evento, por aqui tudo corrido e por ai ? tudo bem ?

 

Segue abaixo o exemplo, como eu disse não está 100% mas da para partir dai para fazer algo bem legal.


FUNCTION MyManualReport( cTXT2FR3 )
/*
Recebe por parâmetro o arquivo .txt ou .prn para mostrar na tela do fastreport
 exemplo: c:\syg_temp\relatorio.txt
*/
local oFrPrn

IF !FILE(cTXT2FR3)
   ShowMsg("Erro ao localizar o arquivo para impressão " +cTXT2FR3 )
   RETURN(.F.)
ENDIF   

oFrPrn := frReportManager():new()

//oFrPrn:LoadLangRes(PEGA_ARQUIVO_SAGI(1,.T.)) // aqui é o icone da tela
oFrPrn:PreviewOptions:SetShowCaptions(.T.)
oFrPrn:SetIcon(1001)
oFrPrn:SetTitle("Visualizador de Relatórios do Sistema.")

oFrPrn:StartManualBuild( { || MyManualReport2(oFrPrn,cTXT2FR3) }, FR_LANDSCAPE, , FR_PIXELS )

oFrPrn:PrepareReport()
oFrPrn:ShowPreparedReport()

oFrPrn:Clear()
oFrPrn:DestroyFR()     // detona com o fastreporte e a dll da memoria.
oFrPrn:=nil

RETURN(.t.)

FUNCTION MyManualReport2(oFrPrn,cTXT2FR3)
/*
Exemplo de uso sem arquivo .FR3
*/
local tmp_Name:='', cText_ARQ:='', nLINES:=0, nA:=0, nINIT_LINE:=0, cIMPTEXT:=''
//local cLOGO:=ARQUIVOLOGOMARCA() // pega o logotipo do cliente para mostrar no relatorio
local cLOGO:=''

   oFrPrn:SetDefaultFontProperty( "Name", "Arial" )
   oFrPrn:SetDefaultFontProperty( "Size", 10 )

   IF !EMPTY(cLOGO)
      oFrPrn:PictureAt( cLOGO , 30, 200, 150, 150 )
      nINIT_LINE:=300
   ENDIF
   
   cText_ARQ := memoread( cTXT2FR3 ) // carrega o TXT

   nLINES := mlcount( cText_ARQ, 250 ) // total de linhas
   FOR nA := 1 to nLINES
      cLINE := MEMOLINE( cText_ARQ, 250, nA, 1, .F., .T. )
      
      IF Left(AllTrim( cLine ), 1 ) == Chr( 15 ) .or. Left( AllTrim(cLine), 1 ) == Chr( 18 )
         loop
      ENDIF

      If Left(AllTrim(cLine),1)==Chr(12) //SALTO DA PAGINA
         LOOP
         //oFrPrn:NewPage()
      ENDIF
      
      IF AT('[',cLine)>0 .OR. AT(']',cLine)>0
         cLine:=Stuff(cLine, AT('[',cLine),1,'-')
         cLine:=Stuff(cLine, AT(']',cLine),1,'-')
      ENDIF
      
      IF !EMPTY(ALLTRIM(cLINE)) 

         //oFrPrn:MemoAt(cLINE, 100, (nA*100)+nINIT_LINE, 350, 50 )
         nINIT_LINE:=0
         cIMPTEXT:=cIMPTEXT+cLINE+CR_LF
         //MemoAt(cStr, nLeft, nTop, nWidth, nHeight)
      ENDIF   
   NEXT
   oFrPrn:MemoAt(cIMPTEXT, 10, 350, 1500, 1500 )

   
*   tmp_Name := oFrPrn:MemoAt( "Some memo with bottom frame ...", 30, 30, 300, 50 )
*   oFrPrn:SetManualObjProperty( tmp_Name + ".Frame", "Typ", "[ftBottom]" )

//   oFrPrn:LineAt( 30, 200, 100, 100 )
//   oFrPrn:MemoAt( "<-- It's a some line ...", 200, 250, 350, 50 )


//   oFrPrn:NewPage()

 //  oFrPrn:MemoAt( "It's a second page..................", 30, 30, 100, 1000 )

RETURN(.T.)

 

Olá meu amigo, que memória hein?  Foi isso mesmo.

Tudo bem por aqui e muito obrigado pelo exemplo.

Um abraço,

Alexandre Pereira

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...