HTML see <script>
Code: Select all | Expand
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Menu</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<link rel="stylesheet" href="/easyui/themes/color.css">
<link rel="stylesheet" href="/easyui/themes/metro/easyui.css">
<script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
<script src="https://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
<script>
function ExecMenu(opcao){
alert("Executando ExecMenu: " + opcao); <<<< ----- ok
window.chrome.webview.postmessage(opcao); <<<< ---- :-( não funciona
SendToFWH( opcao ); <<<< ---- :-( não funciona
}
</script>
<style>
body {
font-family: "Segoe UI", sans-serif;
padding: 20px;
background: #f4f6f9;
}
.menu-card {
padding: 0;
padding-bottom: 12px;
background: #fff;
border: 1px solid #d0d7de;
border-radius: 6px;
box-shadow: 0 1px 3px rgba(0,0,0,0.05);
margin-bottom: 20px;
}
h3.menu-titulo {
margin: 0;
padding: 8px 12px;
background-color: 'f6f6f6;
color: '0078d4;
font-size: 16px;
font-weight: bold;
border-bottom: 1px solid 'ddd;
border-radius: 6px 6px 0 0;
}
ul {
margin: 2px 0;
padding: 0;
}
li, li a {
list-style: none;
margin: 0;
padding: 0;
border: none;
line-height: 1.2;
}
.menu-card li {
cursor: pointer;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.menu-card li:hover {
background: #B0E2FF;
}
li a {
color: #0078d4;
text-decoration: underline;
display: block;
padding: 2px 2px;
}
li a:hover {
text-decoration: none;
}
li span {
display: inline-flex;
align-items: center;
gap: 6px;
}
li img, li i {
vertical-align: middle;
display: inline-block;
margin-right: 6px;
}
</style>
</head>
<body>
<div class="menu-container" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px;">
<div class="menu-card" style="background:#fff; border:1px solid #d0d7de; border-radius:6px; padding:12px; box-shadow:0 1px 3px rgba(0,0,0,0.05);">
<h3 style="margin:0; color: white; font-size:16px; border-bottom:1px solid #eee; border-radius: 6px 6px 0 0;border-bottom: 1px solid #ddd; font-weight: bold;padding: 8px 12px;padding-bottom:4px; background-color: #004080;">Arquivos</h3>
<ul style="list-style:none; padding:0; margin:0; white-space: nowrap;">
<li><span><i class="fas fa-dollar-sign" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVPla000():New( ::oWnd )'); return false;">Captura lista de preços</a></span></li>
<li><span><i class="fas fa-box" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVFrm087():New(::oWnd)'); return false;">Gerar arquivo de produtos (Global)</a></span></li>
<li><span><i class="fas fa-envelope" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('EnviaLista()'); return false;">Enviar lista de preco por email</a></span></li>
<li><span><i class="fas fa-cog" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TCfg():New(::oWnd)'); return false;">Configurações Gerais</a></span></li>
<li><span><i class="fas fa-user" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVFrm046():New(::oWnd, ::oWnd:oMenu)'); return false;">Vendedor/Usuário/Representante</a></span></li>
<li><span><i class="fas fa-user-lock" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVFrm124():New(::oWnd)'); return false;">Ligar/Desligar direitos para vários usuários</a></span></li>
</ul>
</div>
<div class="menu-card" style="background:#fff; border:1px solid #d0d7de; border-radius:6px; padding:12px; box-shadow:0 1px 3px rgba(0,0,0,0.05);">
<h3 style="margin:0; color: white; font-size:16px; border-bottom:1px solid #eee; border-radius: 6px 6px 0 0;border-bottom: 1px solid #ddd; font-weight: bold;padding: 8px 12px;padding-bottom:4px; background-color: #004080;">Processos especiais</h3>
<ul style="list-style:none; padding:0; margin:0;">
<li><span><i class="fas fa-database" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('Msg("Solicite informações para restaurar copias de segurança")'); return false;">Restaurar Cópias de Segurança</a></span></li>
<li><span><i class="fas fa-table" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TCheckTab():New(.T., ::oWnd)'); return false;">Conferência das tabelas</a></span></li>
<li><span><i class="fas fa-table" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgMeter({|oMeter| RecnoTab(oMeter) },"aguarde","processando")'); return false;">Recupera tabela-especial</a></span></li>
<li><span><i class="fas fa-exchange-alt" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TrocaTbl()'); return false;">Troca de tabela - manutenção</a></span></li>
<li><span><i class="fas fa-upload" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TMigra():New(.T.,,,.T.)'); return false;">Carrega tabela de dados - manutenção</a></span></li>
<li><span><i class="fas fa-file-archive" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TBackup():New(2, ::oWnd)'); return false;">Backup dos Arquivos XML-NFe</a></span></li>
<li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TBackup():New(3, ::oWnd)'); return false;">Enviar todos os XML-NFe por Cliente</a></span></li>
<li><span><i class="fas fa-terminal" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('ManutencaoQuery()'); return false;">Manutenção por query</a></span></li>
<li><span><i class="fas fa-wrench" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('ManutencaoPorFuncao()'); return false;">Manutenção por função</a></span></li>
<li><span><i class="fas fa-terminal" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('CriaManutencaoQuery()'); return false;">Cria Manutenção por query</a></span></li>
<li><span><i class="fas fa-tools" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('CriaManutencaoPorFuncao()'); return false;">Cria Manutenção por função</a></span></li>
<li><span><i class="fas fa-folder-open" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVFrm086():New()'); return false;">Organizar Arquivos</a></span></li>
<li><span><i class="fas fa-file-medical" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('ManTableFrm086()'); return false;">Manutenção arquivos - corrigir integridade</a></span></li>
<li><span><i class="fas fa-tools" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('Reparar()'); return false;">Manutenção de tabela</a></span></li>
<li><span><i class="fas fa-circle" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TCheckDic():Ler(::oWnd)'); return false;">Registros de eventos</a></span></li>
<li><span><i class="fas fa-history" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TCheckDic():LerPed(::oWnd)'); return false;">Histórico de pedidos de venda</a></span></li>
<li><span><i class="fas fa-history" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TCheckDic():LerPedComp(::oWnd)'); return false;">Histórico de pedidos de compra</a></span></li>
<li><span><i class="fas fa-history" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TCheckDic():LerPedCompDiversos(::oWnd)'); return false;">Histórico de pedidos de compra - diversos</a></span></li>
<li><span><i class="fas fa-receipt" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TCheckDic():VerDuplicata(1,::oWnd)'); return false;">Histórico de duplicatas - Contas a pagar</a></span></li>
<li><span><i class="fas fa-receipt" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TCheckDic():VerDuplicata(2,::oWnd)'); return false;">Histórico de duplicatas - Contas a receber</a></span></li>
<li><span><i class="fas fa-share-square" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('SuporteSis()'); return false;">Enviar informações do sistema</a></span></li>
<li><span><i class="fas fa-user" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TUser():New(::oWnd)'); return false;">Usuários conectados</a></span></li>
<li><span><i class="fas fa-database" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TSysInfo():New(::oWnd)'); return false;">Informações do MySQL</a></span></li>
<li><span><i class="fas fa-cloud-upload-alt" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgRun("Verificando versão no Servidor FTP", "Sisrev Informática Ltda.", {|oMsg| ChamaGoFTP()} )'); return false;">Atualizar versão do Sistema por FTP</a></span></li>
<li><span><i class="fas fa-cloud-upload-alt" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVMan233():New(::oWnd)'); return false;">Atualizar NFe_Util por FTP</a></span></li>
<li><span><i class="fas fa-cloud-upload-alt" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVMan234():New(::oWnd)'); return false;">Atualizar Fontes do Danfe por FTP</a></span></li>
<li><span><i class="fas fa-sync" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgRun("Verificando versão no Servidor Web", "Sisrev Informática Ltda.", {|oMsg| ChamaGoWeb(1)} )'); return false;">Atualizar versão via Servidor Web</a></span></li>
<li><span><i class="fas fa-sync-alt" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgRun("Verificando versão no Servidor Web", "Sisrev Informática Ltda.", {|oMsg| ChamaGoWeb(2)} )'); return false;">Substituir versão (mesmo número) via Servidor Web</a></span></li>
</ul></div>
<div class="menu-card" style="background:#fff; border:1px solid #d0d7de; border-radius:6px; padding:12px; box-shadow:0 1px 3px rgba(0,0,0,0.05);">
<h3 style="margin:0; color: white; font-size:16px; border-bottom:1px solid #eee; border-radius: 6px 6px 0 0;border-bottom: 1px solid #ddd; font-weight: bold;padding: 8px 12px;padding-bottom:4px; background-color: #004080;">Arquivos de contabilidade</h3>
<ul style="list-style:none; padding:0; margin:0;">
<li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TFolhaMNovo():New(.F.)'); return false;">Gerar arquivo Folhamatic layout 1.9 </a></span></li>
<li><span><i class="fas fa-file-invoice-dollar" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVMan210():New(::oWnd)'); return false;">Gerar arquivo de recebimentos</a></span></li>
<li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TFolha20():New(.T.)'); return false;">Gerar arquivo Folhamatic layout 2.0 (2009) </a></span></li>
<li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TContMatic():New(1)'); return false;">Gerar arquivo Contmatic (Entradas/Saidas) </a></span></li>
<li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TContMatic():New(2)'); return false;">Gerar arquivo Contmatic (Lançtos.Contabeis: Pagos/Recebidos) </a></span></li>
<li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgMeter( {|oMeter|TSintegra2009():TxtInventario_Contmatic(oMeter)},"Processando","Aguarde")'); return false;">Gerar arquivo Contmatic (Inventário) </a></span></li>
<li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TFolhaMCompra():New()'); return false;">Gerar arquivo Folhamatic layout 2.0 (Notas de Compras) </a></span></li>
<li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TFolha20():New(.T., .T.)'); return false;">Gerar arquivo Folhamatic layout 2.0.06 </a></span></li>
<li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TFolhaMCompra():New(.T.)'); return false;">Gerar arquivo Folhamatic layout 2.0.06 (Notas de Compras) </a></span></li>
<li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVArq001():New()'); return false;">Gerar arquivo Prosoft (Lançtos.Contabeis: Pagos/Recebidos) </a></span></li>
<li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgMeter( {|oMeter|TSintegra2009():TxtInventario_Prosoft(oMeter)},"Processando","Aguarde")'); return false;">Gerar arquivo Prosoft (Inventário) </a></span></li>
<li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVArq002():New()'); return false;">Gerar arquivo Questor (Lançtos.Contabeis: Pagos/Recebidos) </a></span></li>
<li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVArq003():New()'); return false;">Gerar arquivo Folhamatic (Lançtos.Contabeis: Pagos/Recebidos) </a></span></li>
<li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVArq004():New()'); return false;">Gerar Arquivo para o Sistema Domínio (Lançamentos Contábeis: Pagos/Recebidos) </a></span></li>
<li><span><i class="fas fa-folder" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgMeter({|oMeter| TNfeMonitor():GeraNfe(oMeter,1)},"Processando","Aguarde")'); return false;">Arquivos NFe (gera XML das notas-saídas)</a></span></li>
<li><span><i class="fas fa-file-code" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgMeter({|oMeter| TNfeMonitor():GeraNfe(oMeter,2)},"Processando","Aguarde")'); return false;">Arquivos NFe (gera XML das notas-por cliente)</a></span></li>
<li><span><i class="fas fa-file-import" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgMeter({|oMeter| TNfeMonitor():GeraNfeEnt(oMeter,1)},"Processando","Aguarde")'); return false;">Arquivos NFe (gera XML das notas-entradas)</a></span></li>
<li><span><i class="fas fa-file-import" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgMeter({|oMeter| TNfeMonitor():GeraNfeEnt(oMeter,2)},"Processando","Aguarde")'); return false;">Arquivos NFe (gera XML das notas-entradas-por fornecedor)</a></span></li>
<li><span><i class="fas fa-file-invoice" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVRLis256():New(::oWnd)'); return false;">Relatório de Conferência de XML de Notas de Entrada</a></span></li>
<li><span><i class="fas fa-file-signature" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgMeter({|oMeter| TNFeMonitor():GeraCartas(oMeter)},"Processando","Aguarde")'); return false;">Arquivos de Carta de Correção (gera XML das cartas)</a></span></li>
<li><span><i class="fas fa-table" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TEContab():New(2)'); return false;">Tabela de Produtos para Sistema E-Contab </a></span></li>
<li><span><i class="fas fa-file-invoice-dollar" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVRlis260():New(::oWnd)'); return false;">Escritório '1 - 100 clientes (contabilidade)</a></span></li>
<li><span><i class="fas fa-file-invoice-dollar" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVRlis261():New(::oWnd)'); return false;">Escritório '2 - 100 fornecedores (contabilidade)</a></span></li>
<li><span><i class="fas fa-box" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVRlis262():New(::oWnd)'); return false;">Escritório '3 - 100 produtos (saídas)(contabilidade)</a></span></li>
<li><span><i class="fas fa-box" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVRlis263():New(::oWnd)'); return false;">Escritório '4 - 100 produtos (entrada)(contabilidade)</a></span></li>
</ul></div>
<div class="menu-card" style="background:#fff; border:1px solid #d0d7de; border-radius:6px; padding:12px; box-shadow:0 1px 3px rgba(0,0,0,0.05);">
<h3 style="margin:0; color: white; font-size:16px; border-bottom:1px solid #eee; border-radius: 6px 6px 0 0;border-bottom: 1px solid #ddd; font-weight: bold;padding: 8px 12px;padding-bottom:4px; background-color: #004080;">Arquivos Fiscais</h3>
<ul style="list-style:none; padding:0; margin:0;">
<li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TSintegra2009():New()'); return false;">Gerar Sintegra 2009 (a partir 01-05-2009)</a></span></li>
<li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TSintegra2009():Registro88()'); return false;">Gerar Sintegra 2009 (registro 88)</a></span></li>
<li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgMeter( {|oMeter|TSintegra2009():Processa74(oMeter,,,,,,,.T.)},"Processando","Aguarde")'); return false;">Gerar Sintegra 2009 (somente - registro 74)</a></span></li>
<li><span><i class="fas fa-file-invoice" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVFrm040():New()'); return false;">SPED Fiscal - Cadastro do Contador</a></span></li>
<li><span><i class="fas fa-file-invoice" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVFrm045():New(::oWnd)'); return false;">SPED Fiscal - Gerar arquivo fiscal</a></span></li>
<li><span><i class="fas fa-folder" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVFrm044():New(::oWnd)'); return false;">SPED PIS/COFINS - Gerar arquivo</a></span></li>
</ul></div>
</div>
</body>
</html>
Code: Select all | Expand
/*========================================================================
SISREV INFORMATICA LTDA.
Prestando serviços com qualidade desde 1993
CNPJ: 02.623.572/0001-52
CNPJ: 02.623.572/0002-33
www.sisrev.com.br
========================================================================
Sistema..: Sisrev-Win 5.0
Autor(es): Ariovaldo da Costa Foliene
Aplicação: TVWeb
Notas....: Abre as páginas do Sisrev-Web - Microsoft Edge WebView2
Data.....: 10-03-2025
========================================================================
TVisual--+
|
+--TVisualForm--+
|
+--TVWeb.prg
========================================================================
*/
#include "fivewin.ch"
#include "Objects.ch"
#include "\sis\fsql901\include\rede.ch"
STATIC oWV
* ========================================================================
CLASS TVWeb FROM TVisualForm
* ========================================================================
DATA cPage, oWebView
METHOD New() CONSTRUCTOR
METHOD AddControl()
METHOD BuildMenu()
END CLASS
* ========================================================================
METHOD New( xcPage, xcNome ) CLASS TVWeb
* ========================================================================
#ifdef __XHARBOUR__
TVWebMsg() ; return Self
#endif
DEFAULT xcPage := ""
DEFAULT xcNome := Empresas(1)
::Super:New("rel")
::cNome := xcNome
::cPage := "http://localhost:3000/" + xcPage
::lToolBar := FALSE
::lTask := FALSE
::lRastrear := FALSE
::AddControl()
::oWebView:oWnd:bValid := {|| ::oWebView:Terminate(),;
WndMain():Show() ,;
WndMain():SetFocus() ,;
TRUE }
return Self
* ========================================================================
METHOD AddControl() CLASS TVWeb
* ========================================================================
#ifndef __XHARBOUR__
::oWebView:= TWebView2():New()
::oWebView:SetTitle( WebTitle("Sisrev-Web" + ::cNome ) )
::oWebView:oWnd:bResized := {|| ::oWebView:oWnd:Maximize() }
::oWebView:oWnd:SetMenu( ::BuildMenu() )
::oWebView:oWnd:SetColor( CLR_BLACK ,nRGB( 231, 242, 255 ) )
::oWebView:oWnd:l2007 := .T.
::oWebView:SetSize( WndWidth( ::oWebView:oWnd:hWnd ) - 15,;
WndHeight( ::oWebView:oWnd:hWnd ) - 58 )
::oWebView:SetUserAgent( WebAgent())
::oWebView:Navigate( ::cPage )
::oWebView:bOnBind := { |cJson| ExecWeb(cJson) }
::oWebView:OpenDevToolsWindow(.F.)
::oWebView:ShowDownloads(.F.)
::oWebView:oWnd:bInit := {|| ::oWebView:oWnd:Maximize() }
::oWebView:Run()
::oWebView:Destroy()
WndMain():Hide()
#endif
return nil
* ========================================================================
Function ExecWeb( cData )
* ========================================================================
local cEndPoint := ""
if ValType( cData ) == "A"
#ifdef __HARBOUR__
cData := HB_VALTOEXP(cData) /* converts any data type to STR Value */
cData := strtran( cData, "{", "")
cData := strtran( cData, "}", "")
cData := strtran( cData, "'", "")
#endif
Endif
cEndPoint:= substr( cData, aT(":", cData ) + 1 , 100 )
cData := strtran("#classe=" + cData +"#EndPoint="+cEndPoint, "#", "&" )
OnGet( cData )
return nil
* =========================================================================
Function StartTVWeb(cFileName)
* =========================================================================
if IfExist(oWV)
oWV:oWebView:Navigate("http://localhost:3000/" + cFileName)
Else
oWV := TVWeb():New(cFileName)
Endif
return nil
* =========================================================================
METHOD BuildMenu() CLASS TVWeb
* =========================================================================
local oMenu
MENU oMenu
MENUITEM "Fechar" ACTION ::oWebView:oWnd:End()
ENDMENU
return oMenu
* =========================================================================
Function TVWebMsg()
return Msg("** Esta funcionidade somente para HarBour **")
* =========================================================================
* =========================================================================
Function WebAgent()
* =========================================================================
return "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N)"+;
" AppleWebKit/537.36 (KHTML, like Gecko)" +;
" Chrome/103.0.5060.53 Mobile Safari/537.36"