... rota pra passar em várias UFs.
É selecionado o caminho com menos UFs, pode não ser o mais curto, e pode não ser o caminho mais usado.
PROCEDURE Main
SetMode(33,100)
CLS
AltD()
? "SP-RN-RS-RJ"
? hb_ValToExp( TrajetoVariasUFs( "SP", "RN", "RS", "RJ" ) )
//? "SP-SE"
//? hb_ValToExp ...
Pesquisa resultou em 3018 ocorrências: +Procedure
Termo pesquisado: +procedure
- 23 Nov 2025 14:44
- Fórum: Contribuições, Dicas e Tutoriais
- Tópico: Encontrando a rota entre duas UFs
- Respostas: 2
- Exibições: 128
- 21 Nov 2025 16:35
- Fórum: Contribuições, Dicas e Tutoriais
- Tópico: Encontrando a rota entre duas UFs
- Respostas: 2
- Exibições: 128
Encontrando a rota entre duas UFs
... UF, e a lista das UFs vizinhas de cada uma.
A rotina vai testando a passagem pelas vizinhas, até encontrar uma lista que chegue ao destino.
PROCEDURE Main
SetMode(33,100)
CLS
AltD()
? "SP-RJ"
? hb_ValToExp( TrajetoPorUF( "SP", "RJ" ) )
? "SP-SE"
? hb_ValToExp( TrajetoPorUF( "SP", "SE ...
A rotina vai testando a passagem pelas vizinhas, até encontrar uma lista que chegue ao destino.
PROCEDURE Main
SetMode(33,100)
CLS
AltD()
? "SP-RJ"
? hb_ValToExp( TrajetoPorUF( "SP", "RJ" ) )
? "SP-SE"
? hb_ValToExp( TrajetoPorUF( "SP", "SE ...
- 20 Nov 2025 09:52
- Fórum: Contribuições, Dicas e Tutoriais
- Tópico: Fluxo dos fontes
- Respostas: 3
- Exibições: 143
Re: Fluxo dos fontes
Cuidado, depende muito de estruturas e outras coisas.
Declarar FIELDS pra campos de DBF:
#include "directry.ch"
#include "dbstruct.ch"
PROCEDURE Main
LOCAL aDBFList, aFile, aStru, aField, cPath := "", aFieldList := {}
LOCAL aItem, nPos, cTxt, cTxtLine
SetMode(33,132)
SetColor("W/B")
CLS ...
Declarar FIELDS pra campos de DBF:
#include "directry.ch"
#include "dbstruct.ch"
PROCEDURE Main
LOCAL aDBFList, aFile, aStru, aField, cPath := "", aFieldList := {}
LOCAL aItem, nPos, cTxt, cTxtLine
SetMode(33,132)
SetColor("W/B")
CLS ...
- 20 Nov 2025 09:48
- Fórum: Contribuições, Dicas e Tutoriais
- Tópico: Fluxo dos fontes
- Respostas: 3
- Exibições: 143
Fluxo dos fontes
... ajudar em alguma coisa.
A mais recente foi esta, como quebra galho, direcionado ao uso encontrado.
#include "directry.ch"
#include "inkey.ch"
PROCEDURE main
LOCAL aPRGList := {}, aItem, aItem2, aNewList := {}, nPos
setmode(33,100)
CLS
processapath( ".\", @aPRGList, 1 )
processapath( "d ...
A mais recente foi esta, como quebra galho, direcionado ao uso encontrado.
#include "directry.ch"
#include "inkey.ch"
PROCEDURE main
LOCAL aPRGList := {}, aItem, aItem2, aNewList := {}, nPos
setmode(33,100)
CLS
processapath( ".\", @aPRGList, 1 )
processapath( "d ...
- 17 Nov 2025 07:49
- Fórum: Contribuições, Dicas e Tutoriais
- Tópico: Corrigindo aplicativo antigo
- Respostas: 3
- Exibições: 137
Re: Corrigindo aplicativo antigo
retval.png
De 3,500 pra 2.300
PROCEDURE Main
LOCAL cTxt, aList, cLine, cFile, aPrgList := {}, nPos, aItem
SetMode(33,100)
SetMode("W/B")
CLS
cTxt := MemoRead( "errorlist.txt" )
aList := hb_RegExSplit( hb_Eol(), cTxt )
FOR EACH cLine IN aList
IF "procedure returns value" $ Lower ...
De 3,500 pra 2.300
PROCEDURE Main
LOCAL cTxt, aList, cLine, cFile, aPrgList := {}, nPos, aItem
SetMode(33,100)
SetMode("W/B")
CLS
cTxt := MemoRead( "errorlist.txt" )
aList := hb_RegExSplit( hb_Eol(), cTxt )
FOR EACH cLine IN aList
IF "procedure returns value" $ Lower ...
- 20 Out 2025 18:36
- Fórum: [x]Harbour
- Tópico: Migrar Clipper para Harbour.
- Respostas: 261
- Exibições: 726231
Migrar Clipper para Harbour.
Amiguinhos,
Para algum efeito SET PROCEDURE TO <arquivoDeComandos> pode ser trocado para #include <arquivoDeComandos>
Para algum efeito SET PROCEDURE TO <arquivoDeComandos> pode ser trocado para #include <arquivoDeComandos>
- 04 Set 2025 19:24
- Fórum: MiniGui
- Tópico: Tem fontes da minigui que fico confuso
- Respostas: 0
- Exibições: 752
Tem fontes da minigui que fico confuso
Fico confuso com esse fonte
*--------------------------------------------------------*
Static Procedure MsgBalloon( cMessage, cTitle )
*--------------------------------------------------------*
Local i := Ascan( _HMG_SYSDATA, GetFormHandle("Main") )
Default cMessage := "Prompt", cTitle ...
*--------------------------------------------------------*
Static Procedure MsgBalloon( cMessage, cTitle )
*--------------------------------------------------------*
Local i := Ascan( _HMG_SYSDATA, GetFormHandle("Main") )
Default cMessage := "Prompt", cTitle ...
- 29 Ago 2025 16:59
- Fórum: Contribuições, Dicas e Tutoriais
- Tópico: Uia, descobri algo interessante do AScan() / hb_AScan()
- Respostas: 0
- Exibições: 1495
Uia, descobri algo interessante do AScan() / hb_AScan()
Tava tentando entender alguns erros ao mudar HMG 3 pra OOP.......
Achei...
PROCEDURE Main
LOCAL aList := { 0, "A", {0,0} }
SetMode(25,80)
CLS
? hb_ASCan( aList, "J" )
Inkey(0)
RETURN
Isso resulta em ZERO.
mas.....
? AScan( aList, { | e | e == "J" } )
Já isso vai dar erro de type ...
Achei...
PROCEDURE Main
LOCAL aList := { 0, "A", {0,0} }
SetMode(25,80)
CLS
? hb_ASCan( aList, "J" )
Inkey(0)
RETURN
Isso resulta em ZERO.
mas.....
? AScan( aList, { | e | e == "J" } )
Já isso vai dar erro de type ...
- 21 Ago 2025 14:29
- Fórum: Contribuições, Dicas e Tutoriais
- Tópico: Como seria isto em xharbour ? sem o ...
- Respostas: 3
- Exibições: 1594
Como seria isto em xharbour ? sem o ...
Aqui já falaram que usar ... era coisa de preguiçoso.... kkkk
Como faria isso dar certo sem ... ou em xharbour ?
#include "hbclass.ch"
PROCEDURE Main
LOCAL oItem
oItem := Test():New()
oItem:One()
oItem:One( Nil )
oItem:Two()
oItem:Two( Nil )
Inkey(0)
RETURN
CREATE CLASS Test
METHOD ...
Como faria isso dar certo sem ... ou em xharbour ?
#include "hbclass.ch"
PROCEDURE Main
LOCAL oItem
oItem := Test():New()
oItem:One()
oItem:One( Nil )
oItem:Two()
oItem:Two( Nil )
Inkey(0)
RETURN
CREATE CLASS Test
METHOD ...
- 18 Ago 2025 16:31
- Fórum: MiniGui
- Tópico: Só uma idéia que veio na cabeça pra OOP na HMG3
- Respostas: 12
- Exibições: 1593
Só uma idéia que veio na cabeça pra OOP na HMG3
/*
h_HmgApp
*/
#include "hbclass.ch"
MEMVAR _HMG_SYSDATA
THREAD STATIC oApp
INIT PROCEDURE Init_oApp
oApp := _hmg_AppClass():New()
RETURN
CREATE CLASS _Hmg_AppClass
VAR aList INIT {}
METHOD AddItem( xValue )
METHOD GetItemFromName( xValue )
METHOD GetItemFromHandle( xValue )
METHOD ...
- 12 Ago 2025 18:06
- Fórum: Contribuições, Dicas e Tutoriais
- Tópico: Classificação Tributária
- Respostas: 1
- Exibições: 1455
Classificação Tributária
Baixa no site RS em formato JSON.
REQUEST HB_CODEPAGE_PTISO
#include "inkey.ch"
PROCEDURE Main
LOCAL aList, aItem
Set( _SET_CODEPAGE, "PTISO" )
aList := MemoRead( "d:\fontes\integra\sql\json\classtrib.json" )
aList := hb_JsonDecode( aList )
FOR EACH aItem IN aList
? aItem[ "Código da ...
REQUEST HB_CODEPAGE_PTISO
#include "inkey.ch"
PROCEDURE Main
LOCAL aList, aItem
Set( _SET_CODEPAGE, "PTISO" )
aList := MemoRead( "d:\fontes\integra\sql\json\classtrib.json" )
aList := hb_JsonDecode( aList )
FOR EACH aItem IN aList
? aItem[ "Código da ...
- 10 Ago 2025 11:21
- Fórum: [x]Harbour
- Tópico: Compilar com -w3 -es2
- Respostas: 7
- Exibições: 5430
Compilar com -w3 -es2
... at runtime. At runtime, the specified variables must be created using the PRIVATE, PARAMETERS or PUBLIC statements. This can occur in the procedure containing the MEMVAR declaration or in a higher -level procedure.
Attempting to access the variables before they are created will cause an ...
Attempting to access the variables before they are created will cause an ...
- 10 Ago 2025 02:23
- Fórum: [x]Harbour
- Tópico: Compilar com -w3 -es2
- Respostas: 7
- Exibições: 5430
Compilar com -w3 -es2
... variáveis LOCAL.
PUBLIC e PRIVATE são tipos de variáveis lentas, não recomendáveis. Se precisar de variáveis visíveis em todo o arquivo .PRG, use variáveis do tipo STATIC, declaradas antes da primeira PROCEDURE ou FUNCTION declarada no .PRG, assim como fez com MEMVAR no exemplo que apresentou.
PUBLIC e PRIVATE são tipos de variáveis lentas, não recomendáveis. Se precisar de variáveis visíveis em todo o arquivo .PRG, use variáveis do tipo STATIC, declaradas antes da primeira PROCEDURE ou FUNCTION declarada no .PRG, assim como fez com MEMVAR no exemplo que apresentou.
- 09 Ago 2025 20:22
- Fórum: [x]Harbour
- Tópico: Compilar com -w3 -es2
- Respostas: 7
- Exibições: 5430
Compilar com -w3 -es2
... teste aqui.
test4.prg:2: warning W0001 Ambiguous reference 'CVAR'
No segundo fonte, falta declarar a variável.
// fonte1.prg
Memvar cVar
Procedure Main()
Public cVar:= 'Hello World'
Teste()
Return
//fonte2.prg
MEMVAR cVar // <<<<====
Function Teste()
? cVar
Return Nil // <=== Porque poluir ...
test4.prg:2: warning W0001 Ambiguous reference 'CVAR'
No segundo fonte, falta declarar a variável.
// fonte1.prg
Memvar cVar
Procedure Main()
Public cVar:= 'Hello World'
Teste()
Return
//fonte2.prg
MEMVAR cVar // <<<<====
Function Teste()
? cVar
Return Nil // <=== Porque poluir ...
- 09 Ago 2025 19:01
- Fórum: [x]Harbour
- Tópico: Compilar com -w3 -es2
- Respostas: 7
- Exibições: 5430
Compilar com -w3 -es2
Como resolver o erro na compilação desses .prg compilando com -w3 -es2 ?
Teste.prg :
Hbmk2 Demo.prg teste.prg -w3 -es2
Código: Selecionar todos
Memvar cVar
Procedure Main()
Public cVar:= 'Hello World'
Teste()
Return
Código: Selecionar todos
Function Teste()
? cVar
Return(Nil)