No funcionan los Ejemplos TWeb

mod_harbour es un módulo para Apache que permite correr tus PRGs directamente en la web!!!
User avatar
acuellar
Posts: 1648
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

No funcionan los Ejemplos TWeb

Post by acuellar »

Estimado Carles

Los ejemplos de TWeb Master no funcionan con libharbour.dll de Mercury
Saludos,

Adhemar C.
User avatar
Carles
Posts: 1155
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona
Been thanked: 8 times
Contact:

Re: No funcionan los Ejemplos TWeb

Post by Carles »

Hola,

Que error te da?

C.
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
Skype -> https://join.skype.com/cnzQg3Kr1dnk
User avatar
acuellar
Posts: 1648
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: No funcionan los Ejemplos TWeb

Post by acuellar »

Buenos días

sale éste error

Code: Select all | Expand


Version 1.3
Process execute 08/26/21 06:06:55 (2 msec.)
Error
Proc. file  C:/Apache24/htdocs/tweb/browse.prg
Error   (1) Unknown or unregistered symbol
Operation   HB_COMPILEFROMBUF
Subsystem   BASE/6101
Trace   ReplaceBlocks
Block   
0001 //    {% LoadHrb( 'lib/tweb/tweb.hrb' )  %}
Error Code  LoadHrb( 'lib/tweb/tweb.hrb' )
 
Saludos,

Adhemar C.
User avatar
Carles
Posts: 1155
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona
Been thanked: 8 times
Contact:

Re: No funcionan los Ejemplos TWeb

Post by Carles »

Hola,

No usas el mod que necesita mercury. Para win64 --> https://github.com/carles9000/modharbou ... /mod/win64

C.
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
Skype -> https://join.skype.com/cnzQg3Kr1dnk
User avatar
acuellar
Posts: 1648
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: No funcionan los Ejemplos TWeb

Post by acuellar »

Carles

Lo tengo actualizado
Directorio de C:\Apache24\bin

01/07/21 12:09 3,409,408 libcrypto-1_1-x64.dll
01/07/21 12:09 1,263,048 libcurl-x64.dll
01/07/21 12:09 682,496 libssl-1_1-x64.dll

Directorio de C:\Apache24\htdocs

01/07/21 12:09 6,902,272 libharbour.dll
25/06/21 10:33 1,028,968 libmariadb64.dll
25/06/21 10:33 5,191,680 libmysql64.dll

Directorio de C:\Apache24\modules

01/07/21 12:09 92,160 mod_harbour.so

Todos al 01/07/2021

Los ejemplos de Mercury funcionan perfecto. Los de TWeb_master NO

Gracias por la ayuda.
Saludos,

Adhemar C.
User avatar
Carles
Posts: 1155
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona
Been thanked: 8 times
Contact:

Re: No funcionan los Ejemplos TWeb

Post by Carles »

Ademar,

Puedes volver ha actualizar TWeb --> https://github.com/carles9000/tweb

Ejecuta info.prg. Deberia aparecer version 1.4

Gracias.
C.
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
Skype -> https://join.skype.com/cnzQg3Kr1dnk
User avatar
acuellar
Posts: 1648
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: No funcionan los Ejemplos TWeb

Post by acuellar »

Perfecto.
Ahora funcionan los de TWeb-master y Mercury

Tenía funcionando éste programa, ahora no muestra los datos :(

Code: Select all | Expand


//  {% LoadHrb( 'lib/tweb/tweb.hrb' ) %}

#define PATH_DATA       HB_GetEnv( "PRGPATH" ) + '/data/'

#include {% TWebInclude() %}
REQUEST HB_CODEPAGE_ES850
REQUEST HB_LANG_ESWIN
REQUEST DBFCDX
function main(op)
    local o, oCol, oWeb, oBrw, cAlias
    local aRows := {}
    local cStyle := cHtml:= cfooter:=''

        USE ( PATH_DATA + 'proyectos.dbf' ) NEW SHARED
        INDEX ON field->code TAG "code" FOR field->SALDO>0  MEMORY         
   
          cAlias := Alias()
        while !Eof()
       
            Aadd( aRows,  {  'code'     => UHtmlEncode( (cAlias)->code  )   ,;
                        'proyecto'  => UHtmlEncode( (cAlias)->proyecto  )   ,;
                        'responsabl'    => UHtmlEncode( (cAlias)->responsabl  ) ,;
                        'costo' =>  (cAlias)->costo ,;
                                         'saldo'    =>  (cAlias)->saldo     })
            (cAlias)->( dbskip() )
        end
        CLOSE
       
        DEFINE WEB oWeb TITLE 'Adm. Condominios' TABLES INIT
        TEXT TO cStyle ECHO
       
        <head>
        <html lang="es">
           <meta charset="utf-8">
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="icon" href="images/admcon.ico" type="image/x-icon">
        <link rel="shortcut icon" href="admcon.ico" type="image/x-icon">
        <title>Adm. Condominios</title>
   </head> 
   
    ENDTEXT
   
    Banner()   
    DEFINE FORM o ID 'Proyectos'
   
    INIT FORM o            

        DEFINE BROWSE oBrw ID 'ringo' HEIGHT 350 OF o

      ADD oCol TO oBrw ID 'code'   HEADER 'COD.'
      ADD oCol TO oBrw ID 'proyecto'   HEADER 'PROYECTO'
            ADD oCol TO oBrw ID 'responsabl'   HEADER 'RESPONSABLE'
          ADD oCol TO oBrw ID 'costo'   HEADER 'COSTO'
            ADD oCol TO oBrw ID 'saldo'   HEADER 'SALDO'
        INIT BROWSE oBrw DATA aRows 
       
    END FORM o 
    TEXT TO cfooter ECHO
      <div class="container">
          <center><a href="javascript&#058; history.go(-1)">Volver</a></center>
         <br>
       <a href="https://adhemarcr.github.io/acrsoft/"> <img
            src="images/lAcrSoft.jpg" align="left"> <br> Soluciones Informáticas
        </a>
          </div>
      </div>
    ENDTEXT
retu nil

function Banner()

    TEXT TO cHtml ECHO
    <div class="container">
      <a href="javascript&#058; history.go(-1)">Volver</a>
        <center><b><h5>P R O Y E C T O S</h5></b></center>
    </div> 
    ENDTEXT  
return

Return
 

Copié la carpeta lib nueva dentro del proyecto

No da error, Sólo muestra:
COD. PROYECTO RESPONSABLE COSTO SALDO

Gracias por la ayuda
Saludos,

Adhemar C.
User avatar
Carles
Posts: 1155
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona
Been thanked: 8 times
Contact:

Re: No funcionan los Ejemplos TWeb

Post by Carles »

Hola,

A mi me funciona :-)

A lo mejor es que al tener la libreria no actualizada la tienes en cache. Ejecutalo y una vez cargada la pagina haz Ctrl+F5 que fuerzas a recargar todo de nuevo.

Ya me cuentas.
C.
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
Skype -> https://join.skype.com/cnzQg3Kr1dnk
User avatar
acuellar
Posts: 1648
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: No funcionan los Ejemplos TWeb

Post by acuellar »

Muchas gracias Carles

Pulse Ctrl-F5 y funcionó.

Cómo se hace para dar formato numérico PICTURE "@Z 99,999.99" a una columna?

Code: Select all | Expand


ADD oCol TO oBrw ID 'saldo'   HEADER 'SALDO'
 


Gracias por la ayuda.
Saludos,

Adhemar C.
User avatar
Carles
Posts: 1155
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona
Been thanked: 8 times
Contact:

Re: No funcionan los Ejemplos TWeb

Post by Carles »

Hola,

Me alegro que funcionase.

acuellar wrote:
Cómo se hace para dar formato numérico PICTURE "@Z 99,999.99" a una columna?.


Mirate los ejemplos de browse que hay un monton y experimenta con ellos Hay alguno que enseña a formatear columnas.
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
Skype -> https://join.skype.com/cnzQg3Kr1dnk
User avatar
acuellar
Posts: 1648
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: No funcionan los Ejemplos TWeb

Post by acuellar »

Estimado Carles

Los revisé todos los ejemplos y no encontré la forma de dar formato numérico a la columna.
Tampoco como obtener el total de la columna en el footer

Gracias por su tiempo y ayuda.
Saludos,

Adhemar C.
User avatar
Carles
Posts: 1155
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona
Been thanked: 8 times
Contact:

Re: No funcionan los Ejemplos TWeb

Post by Carles »

Ademar,

El ejemplo browse-formatter te enseña como formatear una columna. Solo has de poner en la parte javascript como quieres mostrar el valor.

Puedes ver el code aqui -> http://54.37.60.38/tweb/view?prg=browse-formatter.prg

C.
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
Skype -> https://join.skype.com/cnzQg3Kr1dnk
User avatar
acuellar
Posts: 1648
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: No funcionan los Ejemplos TWeb

Post by acuellar »

Muchas gracias Carles

Lo logré.

Cómo se activa el FOOTER del BROWSE

Gracias por su tiempo y ayuda.
Saludos,

Adhemar C.
User avatar
Otto
Posts: 6417
Joined: Fri Oct 07, 2005 7:07 pm
Has thanked: 40 times
Been thanked: 2 times
Contact:

Re: No funcionan los Ejemplos TWeb

Post by Otto »

Hello Ademar,
You could just build and test this example with HTML / JS only for testing.
See the attached code.
Here is a description how to use footer

https://examples.bootstrap-table.com/#o ... ooter.html#view-source


In this example the path is hard coded to: c:\www\htdocs\tweb-master\data\test.dbf

Best regards,
Otto



Code: Select all | Expand



REQUEST DBFCDX
REQUEST DBFFPT

function main
local cAlias, nI
local aRows := {}
local cRows

USE (  'c:\www\htdocs\tweb-master\data\test.dbf' ) SHARED NEW VIA 'DBFCDX'

cAlias := Alias()
for nI := 1 to 100
Aadd( aRows,  { 'first'     =>  rtrim(  (cAlias)->first  )  ,;
'last'      =>  rtrim(  (cAlias)->last   )  ,;                     
'age'       =>  rtrim(STR( (cAlias)->age ) )        })
(cAlias)->( dbskip() )
next
USE  

cRows   :=  hb_jsonencode(aRows)

TEMPLATE  PARAMS cRows

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
    <link rel="stylesheet" href="https://unpkg.com/bootstrap-table@1.18.3/dist/bootstrap-table.min.css">
    <script src="https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js"></script>
   
    <style>
        .fixed-height {
            height: 240px;
            overflow-y: auto;
        }
    </style>
</head>

<body>
    <br> <br>
    <div class="container ">   
       
        <div class="fixed-table-container fixed-height" style="height: 400px; padding-bottom: 35.5938px;">
            <table id="table" data-show-footer="true">
                <thead>
                    <tr>
                        <th data-field="first"  data-footer-formatter="firstFormatter" data-sortable="true">First</th>
                        <th data-field="last"  data-sortable="true">Last</th>
                        <th data-field="age" class="text-center">Age</th>
                    </tr>
                </thead>
            </table>
           
        </div>  
    </div>
    <script>
        function firstFormatter() {
            return 'Total'
        }
        var $table = $('#table')
        $(function() {
            var data =  <?prg return  cRows ?>
            $table.bootstrapTable({data: data})
        })
       
    </script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
    <script src="https://unpkg.com/bootstrap-table@1.18.3/dist/bootstrap-table.min.js"></script>
   
</body>
</html>
ENDTEXT
return

//----------------------------------------------------------------------------//

INIT PROCEDURE PrgInit
SET CENTURY ON
SET EPOCH TO YEAR(DATE())-98

SET DELETED ON
SET EXCLUSIVE OFF

REQUEST HB_Lang_DE

HB_LangSelect("DE")

SET DATE TO GERMAN

rddsetdefault( "DBFCDX" )

EXTERN DESCEND

RETURN

//----------------------------------------------------------------------------//
 
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
https://www.facebook.com/groups/modharbour.club
********************************************************************
User avatar
Carles
Posts: 1155
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona
Been thanked: 8 times
Contact:

Re: No funcionan los Ejemplos TWeb

Post by Carles »

Hi,

acuellar wrote:Muchas gracias Carles

Lo logré.

Cómo se activa el FOOTER del BROWSE

Gracias por su tiempo y ayuda.


Continuando con el ejemplo... tu puedes probar este código extremadamente limpio

http://54.37.60.38/tweb/view?prg=browse-footer.prg

O usar puro html y javascript tal como indica el amigo Otto :D

C.
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
Skype -> https://join.skype.com/cnzQg3Kr1dnk
Post Reply