Skip to content

Instantly share code, notes, and snippets.

@Dadinel
Last active August 22, 2019 12:53
Show Gist options
  • Save Dadinel/5242f917350c822d3046097ef146b5ec to your computer and use it in GitHub Desktop.
Save Dadinel/5242f917350c822d3046097ef146b5ec to your computer and use it in GitHub Desktop.
Função de exemplo para gerar um error.log, contendo parâmetros, variáveis, tabela e pilha
#include "protheus.ch"
#define TABLE_DELET "SQLExemplo"
#define SQLITE_DRIVER "SQLITE_MEM"
user function funcao_gera_error_log()
funcao_chama_error_log()
return nil
static function funcao_chama_error_log()
cria_abre_tabela()
aqui_gera_error_log("Valor do parâmetro enviado", .T.)
return nil
static function aqui_gera_error_log(cParametro as char, lArgumento as logical)
local cString as char
local lBoolean as logical
local dData as date
local aArray as array
local oObject as object
local jJson
private cPrivate as char
cPrivate := "Variavel private, procure não utilizar, dificulta a manutenabilidade do fonte"
public cPublica as char
cPublica := "Minha variável pública"
cString := "String local"
lBoolean := .F.
dData := Date()
aArray := Array(1)
oObject := TFont():New()
jJson := JSonObject():New()
if variavel_nao_existe == variavel_nao_existe[0]
endif
return nil
static function cria_abre_tabela()
local aFields as array
aFields := {}
aAdd(aFields, { "CAMPO_STR", "C", 25, 0 })
aAdd(aFields, { "CAMPO_NUM", "N", 05, 0 })
DBCreate(TABLE_DELET, aFields, SQLITE_DRIVER)
DBUseArea(.T., SQLITE_DRIVER, TABLE_DELET, TABLE_DELET, .T., .F.)
(TABLE_DELET)->(DBAppend(.T.))
(TABLE_DELET)->CAMPO_STR := "Valor do campo String"
(TABLE_DELET)->CAMPO_NUM := 12345
(TABLE_DELET)->(DBCommit())
return nil
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment