Pular para o conteúdo principal

Postagens

Mostrando postagens de novembro, 2011

Postagem em destaque

BlackTDN :: Social :: Rifa Festival da Arte Capoeira Projeto Eu Sou Ninja

Angariar fundos para cobrir os custos logísticos do "Festival da Arte Capoeira" e apoiar o projeto Eu Sou Ninja em sua missão de promover a integração social e cultural na comunidade de Jacaraípe. Com a criação da rifa, buscamos envolver a comunidade de forma ativa no financiamento do evento, permitindo que todos contribuam para o sucesso do festival e para a continuidade das atividades do projeto. Prêmio: Copia da minha biblioteca pessoal de AdvPL/TLpp ..etc Participe da Rifa Eu já contribui. Só falta você! ```cmd Pasta de C:\GitHub\naldodj-tlpp 13/04/2024 19:17 . 19/03/2024 13:49 .. 05/01/2024 12:22 2.742 .gitattributes 14/11/2023 16:02 83 .gitignore 02/12/2023 20:08 .vscode 05/01/2024 12:05 bin 13/04/2024 19:18 4.121 ChangeLog.txt 27/12/2023 02:05 include 14/11/2023 16:02 27.030 LICENSE.txt 14/11/2023 16:02 0 makepatch.lst 14/11/2

Protheus :: Advpl :: Duelo de Titãs :: Harbour x ADVPL

Vez em quando me pego fuçando o código e as Classes disponíveis no Harbour Project para verificar as novidades, acompanhar a evolução da linguagem e, por que não, aprender com os mestres e, durante esse processo, faço algumas descobertas interessantes. Na pasta ..\examples\hbxlsxml da instalação padrão deparei-me com três classes: CLASS ExcelWriterXML :: xlsxml.prg CLASS ExcelWriterXML_Sheet  :: xlsxml_s.prg CLASS ExcelWriterXML_Style  :: xlsxml_y.prg Lendo a documentação no código fonte, percebi que essas três Classes foram originalmente escritas em PHP: /* * $Id: xlsxml_y.prg 17099 2011-10-28 18:34:39Z vouchcac $ */ /* * Harbour Project source code: * * Copyright 2011 Fausto Di Creddo Trautwein, ftwein@yahoo.com.br * www - http://www.xharbour.org http://harbour-project.org * * Thanks TO Robert F Greer, PHP original version * http://sourceforge.net/projects/excelwriterxml/ O grande “Fausto Di Creddo Trautwein” teve o trabalho de transcrever o código original em PHP para o

[OFF-Topic] Tic..Tac.. Tic.. Tac… Tic.. Tac… Que Horas São? 5:60

Ainda me espanta o fato de pessoas não saberem calcular Horas ou calcular valores baseados em Horas. Uma pequena recordação: 4) Em 15 minutos eu consigo descascar 2kg de batatas. Em uma hora conseguirei descascar quantos quilogramas? Temos a grandeza tempo (T) e a grandeza quantidade (Q). Quando aumenta a quantidade a descascar, o tempo também aumenta, por isto as duas grandezas são diretamente proporcionais e na representação, as duas terão a seta com a mesma orientação. Observe que não podemos trabalhar com horas e minutos ao mesmo tempo , por isto arbitramos trabalhar em minutos. Ao invés de uma hora, utilizaremos 60 minutos:”   Digo isso porque, depois de muito tempo, tive que explicar para uma pessoa de RH a diferença entre as Horas Apontadas no SIGAPON e as Horas Expressas na Folha e, porque, se eu dividisse o Salário pelo número de Horas de Referência mensal teria o Salário Hora e poderia multiplicá-lo, diretamente pelo valor expresso na Folha de Pagamento e não ao val

Clipper... Clipper... Clipper: Harbour/xharbour Diff (2/57) -NEW LANGUAGE STATEMENTS by Przemyslaw Czerpak

Clipper... Clipper... Clipper: Harbour/xharbour Diff (2/57) -NEW LANGUAGE STATEMENTS by Przemyslaw Czerpak : 'via Blog this' Harbour evoluiu a linguagem padrão xBase/CodeBase. Totvs precisa fazer o mesmo com o advpl. Olha que interessante: http://harbour-project.svn.sourceforge.net/viewvc/harbour-project/trunk/harbour/doc/xhb-diff.txt

Protheus :: AdvPL :: Interface de senha temporária

Por diversas vezes nos deparamos com circunstâncias onde é necessário desenvolver alguma interface para que o usuário digite uma senha para validar algum processo e seguir adiante, porém não é necessário que esta senha do usuário acessado, pois não faria sentido, na verdade é uma senha que pode ficar armazenada em algum parâmetro do sistema. Pensando nisto também não é necessário desenvolver uma MsDialog para isto, podemos utilizar a função Parambox, veja o exemplo do código abaixo. Abraços, Rleg

Protheus :: Advpl :: Mito sobre a dbSelectArea

dbSelectArea não abre uma tabela. Ela apenas faz que uma área de trabalho específica se torne a área de trabalho atual. No Protheus, a partir da versão 5.07, e, para otimizar o processo de abertura do sistema e das rotinas, a totvs implementou, via tratamento de erro, a abertura das tabelas sob demanda (“on demand”). Nas versões anteriores todas as tabelas especificadas no menu do módulo eram abertas. Isso era oneroso e demorado. Quando uma tabela não está aberta e tentamos referencia-la via –> ou usá-la via dbSelectArea( cAlias ) um código de erro do tipo EG_NOALIAS será verificado e a rotina irá redirecionar para as funções padrões de abertura de arquivos sejam ChkFile ou OpenSxs. Na realidade nem uma dessas funções “abrem” uma tabela. A única e exclusiva função para esse fim é dbUseArea(). Para maiores informações: Syntax DBSELECTAREA(<nArea> | <cAlias>) --> NIL Arguments <nArea> is a numeric value between zero and 250, inclusive, that

Protheus :: Advpl :: SetOnExit :: Definindo a função a ser Executada na saída do sistema

Respondendo ao questionamento de João: “boa tarde, existe algum ponto de entrada na saída do modulo, como tem o PE sigafat, tem algum na saída dele e dos outros módulos? att João” Podemos usar SetOnExit para definir a função a ser executada no encerramento do Protheus. A NDJLIB004 que define os Pontos de Entrada Genéricos dos Módulos do sistema  e define, também, a função de saída. Um fragmento seria: Irá definir a função a ser executada quando da saída do sistema. SetOnExist, infelizmente, só funciona na Interface SDI. Mas, se observar o código fizemos um tratamento específico para verificar a finalização do sistema para MDI também e para a Saída do sistema por um “Erro Abrupto”. MySetOnExit faz isso. Trata a finalização do sistema quando MDI e; Trata a finalização do sistema por um “Erro Abrupto”. Qual a idéia? Considerando que a NDJLIB004 define os Pontos de Entrada Genérico de “Todos” os Módulos do Sistema, uso-a, em conjunto com a função “InitSystem” para padr

Protheus :: Advpl :: VT100 Emulador de microterminal via TELNET

Dias atrás alguém me pediu para desvendar o SIGAACD. Mas o que (…) é o SIGAACD? Descobri que nada mais é do que um módulo do Protheus para o gerenciamento de microterminais através do protocolo TELNET usando VT100. Bem, desafio aceito. Em busca de material…. humpf… não encontrei…. vou usar a metodologia иαldσ dj (fuça..fuça.. fuça.. fuça… _VTOUT() humm… isso é interessante… fuça… fuça… fuça.. _VTREADBYTES( NR , NR , NR ) hum isso não entendi…. fuça.. fuça.. fuça.. fuça.. _VTGETBYTE(), opa, isso eu entendi…). Bem, já tenho o fragmento do material mínimo necessário para programar um emulador. Vamos entender o que é TELNET e VT100 e, depois, ao nosso exemplo: “Telnet é um protocolo cliente-servidor usado para permitir a comunicação entre computadores ligados numa rede (exemplos: rede local / LAN, Internet), baseado em TCP.” (fonte: Wikipédia ) VT100 nada mais é do que uma convenção de um padrão para emular um microterminal (fonte: Microsoft/TechNet :: Convenções VT-UTF8, VT100