No funcionan los Ejemplos TWeb

mod_harbour es un módulo para Apache que permite correr tus PRGs directamente en la web!!!

No funcionan los Ejemplos TWeb

Postby acuellar » Wed Aug 25, 2021 10:51 pm

Estimado Carles

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

Adhemar C.
User avatar
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: No funcionan los Ejemplos TWeb

Postby Carles » Thu Aug 26, 2021 5:36 am

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
Carles
 
Posts: 1137
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

Re: No funcionan los Ejemplos TWeb

Postby acuellar » Thu Aug 26, 2021 10:08 am

Buenos días

sale éste error
Code: Select all  Expand view

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
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: No funcionan los Ejemplos TWeb

Postby Carles » Thu Aug 26, 2021 11:12 am

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
Carles
 
Posts: 1137
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

Re: No funcionan los Ejemplos TWeb

Postby acuellar » Thu Aug 26, 2021 12:34 pm

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
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: No funcionan los Ejemplos TWeb

Postby Carles » Thu Aug 26, 2021 1:17 pm

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
Carles
 
Posts: 1137
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

Re: No funcionan los Ejemplos TWeb

Postby acuellar » Thu Aug 26, 2021 2:15 pm

Perfecto.
Ahora funcionan los de TWeb-master y Mercury

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

Code: Select all  Expand view

//  {% 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
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: No funcionan los Ejemplos TWeb

Postby Carles » Thu Aug 26, 2021 4:08 pm

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
Carles
 
Posts: 1137
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

Re: No funcionan los Ejemplos TWeb

Postby acuellar » Thu Aug 26, 2021 4:49 pm

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 view

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


Gracias por la ayuda.
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: No funcionan los Ejemplos TWeb

Postby Carles » Thu Aug 26, 2021 4:58 pm

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
Carles
 
Posts: 1137
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

Re: No funcionan los Ejemplos TWeb

Postby acuellar » Thu Aug 26, 2021 10:19 pm

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
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: No funcionan los Ejemplos TWeb

Postby Carles » Fri Aug 27, 2021 5:45 am

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
Carles
 
Posts: 1137
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

Re: No funcionan los Ejemplos TWeb

Postby acuellar » Fri Aug 27, 2021 1:07 pm

Muchas gracias Carles

Lo logré.

Cómo se activa el FOOTER del BROWSE

Gracias por su tiempo y ayuda.
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: No funcionan los Ejemplos TWeb

Postby Otto » Sat Aug 28, 2021 8:56 am

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 view


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
Otto
 
Posts: 6332
Joined: Fri Oct 07, 2005 7:07 pm

Re: No funcionan los Ejemplos TWeb

Postby Carles » Sat Aug 28, 2021 3:45 pm

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
User avatar
Carles
 
Posts: 1137
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

Next

Return to mod_harbour

Who is online

Users browsing this forum: No registered users and 0 guests