Olá,
Alguém querendo desenvolver em Harbour no Linux?
Temos a distribuição Biglinux (biglinux.com.br)
onde construímos um pacote binário para rodar em Linux.
Só instalar o pacote e ser feliz!
Pesquisa resultou em 24 ocorrências
- 05 Fev 2024 15:02
- Fórum: [x]Harbour
- Tópico: Harbour no Linux
- Respostas: 1
- Exibições: 661
- 15 Mar 2023 15:10
- Fórum: Contribuições, Dicas e Tutoriais
- Tópico: sistema de cooperativa de caminhoes
- Respostas: 1
- Exibições: 644
sistema de cooperativa de caminhoes
O que exatamente precisa que o software faça?
Em qual ambiente? Windows ou Linux?
- 15 Mar 2023 15:00
- Fórum: [x]Harbour
- Tópico: SETGET Como funciona em uma classe
- Respostas: 9
- Exibições: 3151
SETGET Como funciona em uma classe
#include "hbclass.ch"
PROCEDURE Main
LOCAL xTela := c():New()
SetMode( 20, 80 )
xTela:nRow := 10
@ Row(), Col() SAY "teste"
xTela:nRow := 12
@ Row(), Col() SAY "outro"
Inkey(0)
RETURN
CLASS c
METHOD nRow( xValue ) SETGET
END CLASS
METHOD nRow( xValue ) Class c
IF xValue != NIL ...
- 15 Mar 2023 00:44
- Fórum: [x]Harbour
- Tópico: SETGET Como funciona em uma classe
- Respostas: 9
- Exibições: 3151
SETGET Como funciona em uma classe
Poderá usar o SETGET de várias formas:
METHOD getName()
return ::Name
METHOD setName(cName)
::Name := cName;
METHOD setgetName(cName)
if pcount() == 1
::Name := cName
endif
return ::Name
METHOD Max(nMaxCounter)
if pcount() == 1
::MaxCounter := nMaxCounter
endif
return ::MaxCounter
METHOD getName()
return ::Name
METHOD setName(cName)
::Name := cName;
METHOD setgetName(cName)
if pcount() == 1
::Name := cName
endif
return ::Name
METHOD Max(nMaxCounter)
if pcount() == 1
::MaxCounter := nMaxCounter
endif
return ::MaxCounter
- 15 Out 2021 09:58
- Fórum: [x]Harbour
- Tópico: ALT+C personalizado
- Respostas: 9
- Exibições: 1179
ALT+C personalizado
As combinações das teclas CTRL+C e CTRL+BREAK recebem tratamento especial por processos de console.
Por padrão, quando uma janela do console tem o foco do teclado, CTRL+C ou CTRL+BREAK é tratado como um sinal (SIGINT ou SIGBREAK) e não como entrada de teclado. Por padrão, esses sinais são passados ...
Por padrão, quando uma janela do console tem o foco do teclado, CTRL+C ou CTRL+BREAK é tratado como um sinal (SIGINT ou SIGBREAK) e não como entrada de teclado. Por padrão, esses sinais são passados ...
- 15 Out 2021 09:56
- Fórum: [x]Harbour
- Tópico: ALT+C personalizado
- Respostas: 9
- Exibições: 1179
ALT+C personalizado
Funciona sim, uso aqui!
O que não funciona é o CTRL + BREAK (mas é possível alterar via C o comportamento),
mas o ALT+C como o cavalheiro informou em sua mensagem funciona perfeitamente.
O que não funciona é o CTRL + BREAK (mas é possível alterar via C o comportamento),
mas o ALT+C como o cavalheiro informou em sua mensagem funciona perfeitamente.
- 15 Out 2021 07:27
- Fórum: [x]Harbour
- Tópico: ALT+C personalizado
- Respostas: 9
- Exibições: 1179
ALT+C personalizado
Olá,
Use SetKey para essa finalidade.
Ex:
#Define TECLA_ALTC 302
SetKey( TECLA_ALTC, {|| Altc() })
function Altc( cTexto )
LOCAL cScreen := SaveScreen()
LOCAL cCor := SetColor()
SetColor("")
Cls
ErrorBeep()
if Conf("Encerrar a Execucao do Aplicativo ?")
DbCommitAll()
DbCloseAll ...
Use SetKey para essa finalidade.
Ex:
#Define TECLA_ALTC 302
SetKey( TECLA_ALTC, {|| Altc() })
function Altc( cTexto )
LOCAL cScreen := SaveScreen()
LOCAL cCor := SetColor()
SetColor("")
Cls
ErrorBeep()
if Conf("Encerrar a Execucao do Aplicativo ?")
DbCommitAll()
DbCloseAll ...
- 03 Out 2021 22:52
- Fórum: CA-Clipper
- Tópico: Ajuda para rodar programa clipper antigo
- Respostas: 12
- Exibições: 7673
Ajuda para rodar programa clipper antigo
Olá,
Resolvido a parada!
Encaminhei email para maiores detalhes.
Resolvido a parada!
Encaminhei email para maiores detalhes.
- 28 Set 2021 22:26
- Fórum: CA-Clipper
- Tópico: Ajuda para rodar programa clipper antigo
- Respostas: 12
- Exibições: 7673
Ajuda para rodar programa clipper antigo
O que ele deseja recuperar? Dados? Sistema todo?
Qual a recompensa?
Qual a recompensa?
- 11 Ago 2021 17:54
- Fórum: Contribuições, Dicas e Tutoriais
- Tópico: Funções para o tratamento de arquivos INI
- Respostas: 23
- Exibições: 6999
Funções para o tratamento de arquivos INI
Também tenho funções que existem no Harbour, mas que trabalham diferentes.
Por exemplo, o Harbour tem várias funções pra XML, e tenho outras pra trabalhar de forma diferente na SefazClass.
Na época do post não existiam as funções de arquivo INI.
Não foi minha intenção desqualificar os fontes, mas ...
Por exemplo, o Harbour tem várias funções pra XML, e tenho outras pra trabalhar de forma diferente na SefazClass.
Na época do post não existiam as funções de arquivo INI.
Não foi minha intenção desqualificar os fontes, mas ...
- 11 Ago 2021 09:59
- Fórum: Contribuições, Dicas e Tutoriais
- Tópico: Funções para o tratamento de arquivos INI
- Respostas: 23
- Exibições: 6999
Funções para o tratamento de arquivos INI
Mas isso já faz parte do Harbour.
https://github.com/vszakats/hb/blob/main/src/rtl/hbini.prg
Esse código não faz parte do Harbour, é um código já bem antigo que escrevi
para manipulação de arquivos .INI, ainda no Clipper 5, e que foi portado em classe
logo que Harbour ficou disponível.
Veja que ...
https://github.com/vszakats/hb/blob/main/src/rtl/hbini.prg
Esse código não faz parte do Harbour, é um código já bem antigo que escrevi
para manipulação de arquivos .INI, ainda no Clipper 5, e que foi portado em classe
logo que Harbour ficou disponível.
Veja que ...
- 11 Ago 2021 01:01
- Fórum: Contribuições, Dicas e Tutoriais
- Tópico: Funções para o tratamento de arquivos INI
- Respostas: 23
- Exibições: 6999
Funções para o tratamento de arquivos INI
Olá pessoal,
Se puderem aproveitar alguma coisa ainda,
Classe inteira para manipulação de arquivos .INI
Uso desde sempre, e nunca tive problemas.
#include <hbclass.ch>
#include <fileio.ch>
#include <ferror.ch>
#define true .T.
#define false .F.
#define _CRLF chr(13) + chr(10)
#define ESC 27 ...
Se puderem aproveitar alguma coisa ainda,
Classe inteira para manipulação de arquivos .INI
Uso desde sempre, e nunca tive problemas.
#include <hbclass.ch>
#include <fileio.ch>
#include <ferror.ch>
#define true .T.
#define false .F.
#define _CRLF chr(13) + chr(10)
#define ESC 27 ...
- 25 Jul 2021 19:44
- Fórum: [x]Harbour
- Tópico: Hash com Harbour ?
- Respostas: 9
- Exibições: 4239
Hash com Harbour ?
Olá pessoal,
Minha contribuição de hash em classe.
#include "hbclass.ch"
CLASS THash
EXPORTED:
DATA xNil INIT nil
DATA Hash INIT {=>}
public:
METHOD new CONSTRUCTOR
DESTRUCTOR Destroy()
METHOD Create()
METHOD Value(xHash, xValue) SETGET
METHOD Execute(xValue, nRow, nCol)
METHOD ...
Minha contribuição de hash em classe.
#include "hbclass.ch"
CLASS THash
EXPORTED:
DATA xNil INIT nil
DATA Hash INIT {=>}
public:
METHOD new CONSTRUCTOR
DESTRUCTOR Destroy()
METHOD Create()
METHOD Value(xHash, xValue) SETGET
METHOD Execute(xValue, nRow, nCol)
METHOD ...
- 16 Mai 2018 17:32
- Fórum: CA-Clipper
- Tópico: Uso correto da função NETERR()
- Respostas: 10
- Exibições: 8432
Uso correto da função NETERR()
Formas de Usar as funções:
if Printer->(TravaArq())
for nX := 1 To nTam
Printer->(DbAppend())
for nField := 1 To Printer->(FCount())
Printer->(FieldPut( nField, aPrinter[nX,nField]))
next
next
Printer->(Libera())
endif
if Conf( "Pergunta: Confirma Registro da Senha ?")
if Vendedor ...
if Printer->(TravaArq())
for nX := 1 To nTam
Printer->(DbAppend())
for nField := 1 To Printer->(FCount())
Printer->(FieldPut( nField, aPrinter[nX,nField]))
next
next
Printer->(Libera())
endif
if Conf( "Pergunta: Confirma Registro da Senha ?")
if Vendedor ...
- 16 Mai 2018 17:17
- Fórum: CA-Clipper
- Tópico: Uso correto da função NETERR()
- Respostas: 10
- Exibições: 8432
Uso correto da função NETERR()
Olá Gabriel,
Veja se isso te ajuda.
Defines:
#define true .T.
#define false .F.
#define FALSO .F.
#define OK .T.
#define ESC 27
#define P_DEF(Par, Def) Par := if( Par = Nil, Def, Par )
Função para abrir arquivo BD:
*-----------------------------------------------*
function NetUse( cBcoDados ...
Veja se isso te ajuda.
Defines:
#define true .T.
#define false .F.
#define FALSO .F.
#define OK .T.
#define ESC 27
#define P_DEF(Par, Def) Par := if( Par = Nil, Def, Par )
Função para abrir arquivo BD:
*-----------------------------------------------*
function NetUse( cBcoDados ...