FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Report html
Posts: 1818
Joined: Wed Oct 26, 2005 02:49 PM
Report html
Posted: Wed May 22, 2024 01:03 PM

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.

Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Report html
Posted: Wed May 22, 2024 02:43 PM
Leandro, lo único que tengo sobre HTML.

http://www.pctoledo.com.br/forum/viewtopic.php?f=28&t=23845
Code (fw): Select all Collapse
// https://github.com/harbour/core/blob/master/tests/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.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 6984
Joined: Fri Oct 07, 2005 07:07 PM
Re: Report html
Posted: Wed May 22, 2024 05:58 PM
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/fwforum/htmlreport.html?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en-US&_x_tr_pto=wapp
Posts: 866
Joined: Tue Oct 16, 2007 08:57 AM
Re: Report html
Posted: Thu May 23, 2024 03:27 AM
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/fwforum/htmlreport.html?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en-US&_x_tr_pto=wapp
Dear Otto,
Nice job.
Maybe release my more projects new html report.
Best Regards,



Richard



Harbour 3.2.0dev (r2503251254) => Borland C++ v7.7 32bit

MySQL v8.0

Harbour 3.2.0dev (r2503251254) => Borland C++ v7.7 64bit

Continue the discussion