Page 1 of 1

Report html

PostPosted: Wed May 22, 2024 1:03 pm
by leandro
Otto buenos días como estas?

Me dirijo a ti por que según el foro pareces el experto en este tema, aunque si algún colega sabe del tema, también se agradecen los comentarios, nos gustaría comenzar a generar reportes (para imprimir) desde código html, he leído varios de tus POST en el foro, pero me surgen varias dudas, es posible utilizarlo en fw o es solo para mod_harbour, y podemos utilizar herramientas como Bootstrap, fuentes de google entre otros, dentro de código html, para mejorar la presentación de los informes.

La idea es generar con el mismo código un informe por pantalla, tanto en webview2, como también en impresora.

De antemano gracias.

Re: Report html

PostPosted: Wed May 22, 2024 2:43 pm
by karinha
Leandro, lo único que tengo sobre HTML.

http://www.pctoledo.com.br/forum/viewtopic.php?f=28&t=23845

Code: Select all  Expand view

// https://github.com/harbour/core/blob/ma ... s/html.prg

/**
 *
 *  Harbour Test of a HTML-Generator class.
 *
 *              Tips: - Use ShowResults to make dynamic html (to test dynamic
 *                      results, put the exe file on CGI-BIN dir or equivalent);
 *                    - Use SaveToFile to make static html page
 *
 */


#Include "FiveWin.ch"
#include "hbclass.ch"

PROCEDURE Main()

   LOCAL oHTML := THtml():New()

   oHTML:SetTitle( "Harbour Power Demonstration and FiveWin" )
   oHTML:AddHead( "Harbour for Leandro" )
   oHTML:AddPara( "<b>Harbour</b> is xBase at its best. Have a taste today!", "left" )
   oHTML:AddPara( "<b>L i n k s</b>", "center" )
   oHTML:AddLink( "https://harbour.github.io", "Meet the Harbour power!" )
   oHTML:Generate()

   // Uncomment the following if you don't have a Web Server to test
   // this sample

   oHTML:SaveToFile( "Leandro.html" )

   // If the above is uncommented, you may comment this line:

   oHTML:ShowResult()

RETURN

CREATE CLASS THTML

   VAR cTitle                             // Page Title
   VAR cBody                              // HTML Body Handler
   VAR cBGColor                           // Background Color
   VAR cLinkColor                         // Link Color
   VAR cvLinkColor                        // Visited Link Color
   VAR cContent                           // Page Content Handler

   METHOD New()                           // New Method
   METHOD SetTitle( cTitle )              // Set Page Title
   METHOD AddLink( cLinkTo, cLinkName )   // Add <H1> Header
   METHOD AddHead( cDescr )               // Add Hyperlink
   METHOD AddPara( cPara, cAlign )        // Add Paragraph
   METHOD Generate()                      // Generate HTML
   METHOD ShowResult()                    // Saves Content to File
   METHOD SaveToFile( cFile )             // Show Result

END CLASS

METHOD New() CLASS THTML

   ::cTitle      := "Untitled"
   ::cBGColor    := "#FFFFFF"
   ::cLinkColor  := "#0000FF"
   ::cvLinkColor := "#FF0000"
   ::cContent    := ""
   ::cBody       := ""

RETURN Self

METHOD SetTitle( cTitle ) CLASS THTML

   ::cTitle := cTitle

RETURN Self

METHOD AddLink( cLinkTo, cLinkName ) CLASS THTML

   ::cBody += "<a href='" + cLinkTo + "'>" + cLinkName + "</a>"

RETURN Self

METHOD AddHead( cDescr ) CLASS THTML

   // Why this doesn't work?
   // ::cBody += ...
   // ???

   ::cBody += "<h1>" + cDescr + "</h1>"

RETURN NIL

METHOD AddPara( cPara, cAlign ) CLASS THTML

   hb_default( @cAlign, "Left" )

   ::cBody += ;
      "<p align='" + cAlign + "'>" + hb_eol() + ;
      cPara + hb_eol() + ;
      "</p>"

RETURN Self

METHOD Generate() CLASS THTML

   ::cContent := ;
      "<html><head>"                                          + hb_eol() + ;
      "<title>" + ::cTitle + "</title>"                       + hb_eol() + ;
      "<body link='" + ::cLinkColor + "' " +                               ;
      "vlink='" + ::cvLinkColor + "'>" +                      + hb_eol() + ;
      ::cBody                                                 + hb_eol() + ;
      "</body></html>"

RETURN Self

METHOD ShowResult() CLASS THTML

   OutStd( ;
;//      "HTTP/1.0 200 OK"                                     + hb_eol() + ;
      "CONTENT-TYPE: TEXT/HTML"                     + hb_eol() + hb_eol() + ;
      ::cContent )

RETURN Self

METHOD SaveToFile( cFile ) CLASS THTML

   LOCAL hFile := FCreate( cFile )

   FWrite( hFile, ::cContent )
   FClose( hFile )

RETURN Self
 


Regards, saludos.

Re: Report html

PostPosted: Wed May 22, 2024 5:58 pm
by Otto
Dear Leandro,
I have been working a lot with HTML as a report tool. And I create new things only with HTML.

Now with WEBVIEW2, you can link everything.
I think if a few more people will use HTML, we would quickly have the best possible report generator.
Just post what you want to do, maybe I can help.
Best regards,
Otto

https://mybergland-com.translate.goog/f ... r_pto=wapp

Re: Report html

PostPosted: Thu May 23, 2024 3:27 am
by richard-service
Otto wrote:Dear Leandro,
I have been working a lot with HTML as a report tool. And I create new things only with HTML.

Now with WEBVIEW2, you can link everything.
I think if a few more people will use HTML, we would quickly have the best possible report generator.
Just post what you want to do, maybe I can help.
Best regards,
Otto

https://mybergland-com.translate.goog/f ... r_pto=wapp


Dear Otto,
Nice job.
Maybe release my more projects new html report.