14 Ago 2020 12:52
14 Ago 2020 12:55
14 Ago 2020 12:56
function main
TEMPLATE // <-------------------------
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="Vlademiro">
<title>Sistema </title>
<!-- Bootstrap core CSS -->
<link href="css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<main role="main" class="container">
<h1>Tutorial de Mod-Harbour + Grid</h1>
<p class="lead">Ponto de partida</p>
</main><!-- /.container -->
</body>
</html>
ENDTEXT // <----------------------------------
return nil
14 Ago 2020 12:57
function main
local cMsg := "Mensagem para o usuário"
local cMsg2 := "Mensagem para o usuário (modelo 2)"
TEMPLATE PARAMS cMsg, cMsg2
<!doctype html>
<html lang="en">
<?prg return cMsg?>
<div class="alert alert-warning" role="alert"><?prg Qout( cMsg ) ?></div>
<div class="alert alert-primary" role="alert"><?prg ?? cMsg2 ?></div>
14 Ago 2020 12:59
<?prg if nFlag == 1 ?>
<div class="alert alert-warning" role="alert"><?prg return cMsg?></div>
<?prg else ?>
<div class="alert alert-primary" role="alert"><?prg return cMsg2?></div>
<?prg end ?>
Error: Unclosed control structure 'IF*'
operation: line:3
called from: HB_COMPILEFROMBUF, line: 0
called from: ..\source\exec.prg, EXECUTE, line: 60
called from: ..\source\exec.prg, EXECINLINE, line: 115
called from: ..\source\exec.prg, INLINEPRG, line: 95
called from: pcode.hrb, MAIN, line: 43
called from: HB_HRBDO, line: 0
called from: ..\source\exec.prg, EXECUTE, line: 62
14 Ago 2020 13:01
function main
local cArq := PathBase("/data") + "/clientes.dbf"
?? "Abrindo em : " , cArq
USE ( cArq ) SHARED // Use shared por causa do ambiente compartilhado
DO WHILE .NOT. EOF()
? field->nome
skip
ENDDO
return nil
14 Ago 2020 13:02
#define adOpenForwardOnly 0
#define adOpenKeyset 1
#define adOpenDynamic 2
#define adOpenStatic 3
#define adLockReadOnly 1
#define adLockPessimistic 2
#define adLockOptimistic 3
#define adLockBatchOptimistic 4
#define adUseNone 1
#define adUseServer 2
#define adUseClient 3
#define adStateClose 0
function main
LOCAL oRs , oCn, cSql
LOCAL cString := "Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + PathBase() + "/scott.mdb"
LOCAL i
for i = 0 to 25
?? hb_Version( i )
endfor
oCn := win_oleCreateObject( "ADODB.Connection" )
oCn:ConnectionString := cString
oCn:Open()
oRs := win_oleCreateObject( "ADODB.Recordset" )
oRs:CursorLocation = adUseClient
oRs:Open( "SELECT * FROM emp", oCn , adOpenDynamic, adLockOptimistic )
if oCn:State = adStateClose
? ('Failed open table EMP')
Return
Endif
if oRs:recordcount > 0
oRs:Movefirst()
do while !oRs:eof()
? oRs:fields("ename"):value
oRs:movenext()
enddo
oRs:Movefirst() // Opcional, retorna para o primeiro registro
endif
return nil
14 Ago 2020 13:04
<body>
<table border="1">
<tr>
<td>Código</td>
<td>Nome</td>
<td>E-mail</td>
<td>Data de Cadastro</td>
<td>Ação</td>
</tr>
<?php while($dado = $con->fetch_array()) { ?>
<tr>
<td><?php echo $dado['usu_codigo']; ?></td>
<td><?php echo $dado['usu_nome']; ?></td>
<td><?php echo $dado['usu_email']; ?></td>
<td><?php echo date('d/m/Y', strtotime($dado['usu_datadecadastro'])); ?></td>
<td>
<a href="usu_editar.php?codigo=<?php echo $dado['usu_codigo']; ?>">Editar</a>
<a href="usu_excluir.php?codigo=<?php echo $dado['usu_codigo']; ?>">Excluir</a>
</td>
</tr>
<?php } ?>
</table>
#define adOpenForwardOnly 0
#define adOpenKeyset 1
#define adOpenDynamic 2
#define adOpenStatic 3
#define adLockReadOnly 1
#define adLockPessimistic 2
#define adLockOptimistic 3
#define adLockBatchOptimistic 4
#define adUseNone 1
#define adUseServer 2
#define adUseClient 3
#define adStateClose 0
function main
LOCAL oRs , oCn, cSql
LOCAL cString := "Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + PathBase() + "/scott.mdb"
oCn := win_oleCreateObject( "ADODB.Connection" )
oCn:ConnectionString := cString
oCn:Open()
oRs := win_oleCreateObject( "ADODB.Recordset" )
oRs:CursorLocation = adUseClient
oRs:Open( "SELECT * FROM emp", oCn , adOpenDynamic, adLockOptimistic )
if oCn:State = adStateClose
? "<script>alert('Failed open table EMP')</script>"
Return
Endif
TEMPLATE PARAMS oRs
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="Vlademiro">
<title>Sistema </title>
<!-- Bootstrap core CSS -->
<link href="css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<main role="main" class="container">
<h1>Tutorial de Mod-Harbour + Grid</h1>
<p class="lead">Grid versão inicial</p>
<div class="row">
<table id="registros" class="table table-striped">
<thead><tr><th>EMPNO</th><th>ENAME</th></tr></thead>
<!-- Dados -->
<tbody>
<!-- Dados -->
<?prg
return FData( oRs )
?>
</tbody>
</table>
</div>
</main><!-- /.container -->
</body>
</html>
ENDTEXT
return nil
FUNCTION FData( oRs )
LOCAL cData := ""
if oRs:recordcount > 0
oRs:Movefirst()
do while !oRs:eof()
cData += "<tr>"
cData += "<td>" + hb_ntos( oRs:fields("empno"):value ) + "</td>"
cData += "<td>" + oRs:fields("ename"):value + "</td>"
cData += "</tr>"
oRs:movenext()
enddo
oRs:Movefirst() // Opcional, retorna para o primeiro registro
endif
RETURN cData
14 Ago 2020 13:05
14 Ago 2020 13:31
14 Ago 2020 13:42
< tr >
<% FOR nCont = 1 TO 10 %>
< td >
<% nCont %>
< /td >
<% NEXT %>
< /td >
<?prg >
? "< tr >"
FOR nCont = 1 TO 10
? "< td >" + Str( ncont, 6 ) + "< /td >"
NEXT
? "< /tr >"
?>
14 Ago 2020 13:56
14 Ago 2020 19:19
14 Ago 2020 19:25
HTML5 + JQuery ------AJAX--------> arquivo.json
(VIEW) (DATA)
[
{ "id":9, "nome":"João Marcelo" },
{ "id":1, "nome":"Jefferson" },
{ "id":2, "nome":"Daniel" }
]
<table id="registros" class="table table-striped">
<script>
$( document ).ready( function(){
$.ajax({
type: 'GET',
url: "dados.json",
async: true,
dataType: 'json',
success: function( data ){
$.each( data, function( key, val ) {
$('<tr>').html( "<td>" + val.id + "</td>" +
"<td>" + val.nome + "</td>" ).appendTo("#registros tbody");
});
}
}); // ajax
}); // $( document ).ready
</script>
(1) $( document ).ready( // Aguarda o documento carregar para executar o código
(2) $.ajax // Inicio da chamada ajax
(3) type : 'GET' // Tipo de método usado (não faz diferença porque não tem dados para enviar)
(4) dataType: 'json' // O tipo de dado que será convertido.
(5) url // Endereço onde eu devo pegar os dados (aceita endereços relativos)
(6) success // Bloco de código que será executado em caso de sucesso (a página existe)
14 Ago 2020 19:28
#define adOpenForwardOnly 0
#define adOpenKeyset 1
#define adOpenDynamic 2
#define adOpenStatic 3
#define adLockReadOnly 1
#define adLockPessimistic 2
#define adLockOptimistic 3
#define adLockBatchOptimistic 4
#define adUseNone 1
#define adUseServer 2
#define adUseClient 3
#define adStateClose 0
function main
LOCAL oRs , oCn, cSql
LOCAL cString := "Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + PathBase() + "/scott.mdb"
LOCAL hReg
LOCAL aReg := {}
oCn := win_oleCreateObject( "ADODB.Connection" )
oCn:ConnectionString := cString
oCn:Open()
oRs := win_oleCreateObject( "ADODB.Recordset" )
oRs:CursorLocation = adUseClient
oRs:Open( "SELECT * FROM emp", oCn , adOpenDynamic, adLockOptimistic )
if oCn:State = adStateClose
Return "ERRO"
Endif
if oRs:recordcount > 0
oRs:Movefirst()
do while !oRs:eof()
hReg := {=>}
hReg[ "id" ] := oRs:fields("empno"):value
hReg[ "nome" ] := oRs:fields("ename"):value
AADD( aReg , hReg )
oRs:movenext()
enddo
oRs:Movefirst() // Opcional, retorna para o primeiro registro
endif
?? hb_JsonEncode( aReg )
return nil
url: "dados.prg",
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}