Como Iniciar em xHarbour
Moderador: Moderadores
-
Spitzer
- Usuário Nível 2

- Mensagens: 60
- Registrado em: 15 Ago 2003 04:56
- Localização: Nova Fátima - PR
Como Iniciar em xHarbour
Olá!
Não sou novato por aqui, já fui um razoável frequentador quando desenvolvia em Clipper 5.2e.
Mas há alguns anos deixei a programação de lado, inclusive em outras linguagens que eu utilizava na empresa onde trabalhava.
Engraçado o que 4 ou 5 anos de ausência faz com a cabeça da gente!
Revirando a net hoje à procura de algo sobre xHarbour, vi palavras, termos e frases que faziam parte do meu cotidiano e hoje não sei direito do que se trata...
Claro que a idade contribui com o grau de amnésia! hehehhehe
Papo furado! Vamos ao que interessa!
Adquiri uma loja e pretendo eu mesmo desenvolver o software para controle de estoque, contas a pagar e a receber, caixa, controle bancário, enfim...
A princípio, pensei no xHarbour Open Source , porque posso utilizar algumas velhas rotinas minhas em Cliper 5.2e.
E só hoje vi tanta coisa a respeito de xHarbour que me deixou mais perdido ainda!
Então as perguntas:
1. Qual a mais recente versão do xHarbour? Onde pego?
2. Qual compilador utilizo? Li sobre hbmake, xdev...
3. O xHarbour por si só gera telas gráficas ou obrigatoriamente preciso de uma lib? Se precisar de uma lib, não vou perguntar qual, porque aí cada um tem sua preferência, mas me digam quais as mais difundidas para o xHarbour.
4. Onde há um tutorial para configuração, compilação, instalação e primeiros passos do xHarbour?
5. Existe algum programa demo para análise e aprendizado? Um que tenha uma inclusão, alteração, exclusão, consulta e relatório.
Quanto ao item 5, porque estou pedindo exemplos se tenho rotinas prontas pra isto em Clipper?
Vi que o projeto xHarbour adicionou novos e sofisticados recursos à linguagem xBase, então, é bem provável que existem rotinas muito mais eficientes, dinâmicas, criativas e objetivas que as minhas.
Era isto!
Desde já, obrigado!
Não sou novato por aqui, já fui um razoável frequentador quando desenvolvia em Clipper 5.2e.
Mas há alguns anos deixei a programação de lado, inclusive em outras linguagens que eu utilizava na empresa onde trabalhava.
Engraçado o que 4 ou 5 anos de ausência faz com a cabeça da gente!
Revirando a net hoje à procura de algo sobre xHarbour, vi palavras, termos e frases que faziam parte do meu cotidiano e hoje não sei direito do que se trata...
Claro que a idade contribui com o grau de amnésia! hehehhehe
Papo furado! Vamos ao que interessa!
Adquiri uma loja e pretendo eu mesmo desenvolver o software para controle de estoque, contas a pagar e a receber, caixa, controle bancário, enfim...
A princípio, pensei no xHarbour Open Source , porque posso utilizar algumas velhas rotinas minhas em Cliper 5.2e.
E só hoje vi tanta coisa a respeito de xHarbour que me deixou mais perdido ainda!
Então as perguntas:
1. Qual a mais recente versão do xHarbour? Onde pego?
2. Qual compilador utilizo? Li sobre hbmake, xdev...
3. O xHarbour por si só gera telas gráficas ou obrigatoriamente preciso de uma lib? Se precisar de uma lib, não vou perguntar qual, porque aí cada um tem sua preferência, mas me digam quais as mais difundidas para o xHarbour.
4. Onde há um tutorial para configuração, compilação, instalação e primeiros passos do xHarbour?
5. Existe algum programa demo para análise e aprendizado? Um que tenha uma inclusão, alteração, exclusão, consulta e relatório.
Quanto ao item 5, porque estou pedindo exemplos se tenho rotinas prontas pra isto em Clipper?
Vi que o projeto xHarbour adicionou novos e sofisticados recursos à linguagem xBase, então, é bem provável que existem rotinas muito mais eficientes, dinâmicas, criativas e objetivas que as minhas.
Era isto!
Desde já, obrigado!
Abraços,
Ademir Spitzer
Ademir Spitzer
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Re: Como Iniciar em xHarbour
1. Existe por exemplo a versão 1.2.1 para BCC 5.5.1 no site http://www.xharbour.org. Se trata da última versão estável do mesmo.
2. Você pode baixar o Borland Compiler 5.5.1 e compilar com hbmake. Mais fácil e terá muitos exemplos. O xDev é uma IDE interessantíssima para a edição do código. Para compilação ainda não posso dizer nada.
3. Ele vai gerar aplicativos console como era no Clipper. Para obter uma aparência Windows no sistema, precisará sim de bibliotecas gráficas. As mais difundidas e com muitos exemplos de uso são GTWVW, GTWVT, HWGUI e MINIGUI.
4. Neste fórum mesmo, usando a busca você encontrará muita coisa.
Para os relatórios você pode continuar usando o mesmo recurso comum no Clipper como Set Device to ... Set Printer to ... ou, direcionar a impressão para arquivos e usar funções como PrintFileRaw() para poder imprimir em impressoras USB, etc ... Além da classe Win32Prn, mas nesse caso demanda um pouco de estudo.
Enfim, meta as caras e de acordo com o que precisar, utilize o recurso de busca do fórum ou exponha as dúvidas.
Abraço.
2. Você pode baixar o Borland Compiler 5.5.1 e compilar com hbmake. Mais fácil e terá muitos exemplos. O xDev é uma IDE interessantíssima para a edição do código. Para compilação ainda não posso dizer nada.
3. Ele vai gerar aplicativos console como era no Clipper. Para obter uma aparência Windows no sistema, precisará sim de bibliotecas gráficas. As mais difundidas e com muitos exemplos de uso são GTWVW, GTWVT, HWGUI e MINIGUI.
4. Neste fórum mesmo, usando a busca você encontrará muita coisa.
Para os relatórios você pode continuar usando o mesmo recurso comum no Clipper como Set Device to ... Set Printer to ... ou, direcionar a impressão para arquivos e usar funções como PrintFileRaw() para poder imprimir em impressoras USB, etc ... Além da classe Win32Prn, mas nesse caso demanda um pouco de estudo.
Enfim, meta as caras e de acordo com o que precisar, utilize o recurso de busca do fórum ou exponha as dúvidas.
Abraço.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
Re: Como Iniciar em xHarbour
Faço como minhas as palavras do Ademir Spitzer;
Se algum programador Clipper que migrou para o Xharbour, quiser me mandar algum sistema (pode ser simples), que tenha as rotinas de cadastramento (inclusão, alteração e exclusão) de clientes, fornecedores,produtos, etc. e de emissão de relatórios desses mesmos cadastros, dentro de um menu caprichado, ficaria bem agradecido. Pode ter certeza de que o utilizarei para puro aprendizado.
Já peguei alguns que aproximam-se do acima, mas tinha erros, não compilava, etc.
Agradeceria muito também a indicação de onde possa baixar estes programas que possam dar-me um início concreto que como se programa em Xharbour (gostaria do Xharbour em ambiente visual);
Isto porque, modéstia às favas, os meus sistemas em Clipper tem o máximo do capricho possível, e não é porque passaria a usar o XHarbour que aceitaria telas pobres, objetos ridículos e operação redundante.
Os meus sistemas em Clipper são rápidos, resolvem, não tem nenhuma "frescura", mas a gente tem de modernizar-se...
Se alguém possa fazer esta gentileza, fica deste já o meu sincero agradecimento.
Fica abaixo o meu e-mail se quem quiser mandar-me o material diretamente.
agua.nova@hotmail.com
Se algum programador Clipper que migrou para o Xharbour, quiser me mandar algum sistema (pode ser simples), que tenha as rotinas de cadastramento (inclusão, alteração e exclusão) de clientes, fornecedores,produtos, etc. e de emissão de relatórios desses mesmos cadastros, dentro de um menu caprichado, ficaria bem agradecido. Pode ter certeza de que o utilizarei para puro aprendizado.
Já peguei alguns que aproximam-se do acima, mas tinha erros, não compilava, etc.
Agradeceria muito também a indicação de onde possa baixar estes programas que possam dar-me um início concreto que como se programa em Xharbour (gostaria do Xharbour em ambiente visual);
Isto porque, modéstia às favas, os meus sistemas em Clipper tem o máximo do capricho possível, e não é porque passaria a usar o XHarbour que aceitaria telas pobres, objetos ridículos e operação redundante.
Os meus sistemas em Clipper são rápidos, resolvem, não tem nenhuma "frescura", mas a gente tem de modernizar-se...
Se alguém possa fazer esta gentileza, fica deste já o meu sincero agradecimento.
Fica abaixo o meu e-mail se quem quiser mandar-me o material diretamente.
agua.nova@hotmail.com
O bom do computador é que ele resolve os problemas, sem nunca levantar nenhum.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Como Iniciar em xHarbour
Buenas,
Algumas coisas já foram respondidas pelo colega Alamino, mas vou responder todas mesmo assim.
Antes de baixar qualquer coisa, leia o post até o fim.
As mais usadas são.:
Open source.: Hwgui, Minigui e xHgtk
Comerciais.: Fivewin, Xailer e VXH
http://www.sqllib.com.br/v4/index.php?a ... ourInstall
http://www.sqllib.com.br/v4/index.php?a ... andInstall
http://www.sqllib.com.br/v4/index.php?a ... asMigracao
http://f1.grp.yahoofs.com/v1/EFJCTJ1dwg ... arbour.pdf
Esse ultimo link não sei se vai dar certo, mas se não der se cadastre no grupo do planetaharbour do yahoo e em arquivos procure por migracao clipper-xharbour.pdf
http://www.4shared.com/dir/9103314/4c5c ... aring.html
Agora se serve como indicação comece pela versão 1.0.0 e use o instalador do link abaixo, que vai lhe ajudar no começo, depois que pegar bem a pratica ai pode atualizar o xharbour e outras LIB.
http://www.4shared.com/file/rUleMdD4/hw ... rbour.html
Algumas coisas já foram respondidas pelo colega Alamino, mas vou responder todas mesmo assim.
Antes de baixar qualquer coisa, leia o post até o fim.
A mais recente versão do xHarbour hoje é a 1.2.1 que pode ser baixada do aquiSpitzer escreveu: 1. Qual a mais recente versão do xHarbour? Onde pego?
Eu usei por muito tempo o Hbmake, que vinha junto com o xharbour até a versão 1.0.0, nessa versão do link da pergunta 1 não vem mais o Hbmake mas vem o xBuild é bom também, mas achei meio complicado no começo, bom se serve como dica use o Hbmake para começar, porem use ele com a versão 1.0.0 do instalador abaixo, quando você se sentir mais seguro pode atualizar e migrar para outros make.2. Qual compilador utilizo? Li sobre hbmake, xdev...
O xHarbour por si só até gera telas gráficas, porem o trabalho que o pessoal teve em gerar LIB para janelas Grafica xHarbour você teria o mesmo, é anos de trabalho, ou seja seria a mesma coisa que pegar os fontes da Hwgui(LIB GRAFICA) e compilar junto com seu aplicativo....3. O xHarbour por si só gera telas gráficas ou obrigatoriamente preciso de uma lib? Se precisar de uma lib, não vou perguntar qual, porque aí cada um tem sua preferência, mas me digam quais as mais difundidas para o xHarbour.
As mais usadas são.:
Open source.: Hwgui, Minigui e xHgtk
Comerciais.: Fivewin, Xailer e VXH
Um tutorial oficial não tem, mas a comunidade se ajuda bastante, veja algumas dicas nos links abaixo:4. Onde há um tutorial para configuração, compilação, instalação e primeiros passos do xHarbour?
http://www.sqllib.com.br/v4/index.php?a ... ourInstall
http://www.sqllib.com.br/v4/index.php?a ... andInstall
http://www.sqllib.com.br/v4/index.php?a ... asMigracao
http://f1.grp.yahoofs.com/v1/EFJCTJ1dwg ... arbour.pdf
Esse ultimo link não sei se vai dar certo, mas se não der se cadastre no grupo do planetaharbour do yahoo e em arquivos procure por migracao clipper-xharbour.pdf
A idéia inicial do xharbour é manter 100% de compatibilidade com o clipper ou seja suas tela de clipper devem e podem ser compiladas com xharbour, mas para telas visuais gráficas ai muda um pouco e no link abaixo você vai encontrar varios exemplos.5. Existe algum programa demo para análise e aprendizado? Um que tenha uma inclusão, alteração, exclusão, consulta e relatório.
http://www.4shared.com/dir/9103314/4c5c ... aring.html
Agora se serve como indicação comece pela versão 1.0.0 e use o instalador do link abaixo, que vai lhe ajudar no começo, depois que pegar bem a pratica ai pode atualizar o xharbour e outras LIB.
http://www.4shared.com/file/rUleMdD4/hw ... rbour.html
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Re: Como Iniciar em xHarbour
Amiguinhos,
http://www.4shared.com/dir/9103314/4c5c ... aring.html
Neste você pode contrar um exemplo em xHarbour + HWgui, uma excelente lib gráfica. Feito com muito capricho pelo amigo Leonardo.
http://www.4shared.com/file/88136385/a2 ... rbour.html
Além dos link acima você pode também para fins de estudo dar uma olhada em um projeto que o colega Leonardo disponibilizou no Google Code:
http://code.google.com/p/scm/
Esse projeto acima compila 100% em Hwgui + xHarbour ou Harbour.
O colega Alamino já passou os caminhos de onde baixar para começar.
Aqui podemos encontrar um guia de referência e um manual.
Se quiser baixar:
http://www.xharbour.com/xhdn/referenceguide/
http://www.sendspace.com/pro/dl/xit7ed
Qualquer dúvida é só postar.
Sds,
Júlio.
No site abaixo você pode encontrar exemplos de sistemas em xHarbour.billy1943 escreveu:Agradeceria muito também a indicação de onde possa baixar estes programas que possam dar-me um início concreto que como se programa em Xharbour (gostaria do Xharbour em ambiente visual);
http://www.4shared.com/dir/9103314/4c5c ... aring.html
Neste você pode contrar um exemplo em xHarbour + HWgui, uma excelente lib gráfica. Feito com muito capricho pelo amigo Leonardo.
http://www.4shared.com/file/88136385/a2 ... rbour.html
Além dos link acima você pode também para fins de estudo dar uma olhada em um projeto que o colega Leonardo disponibilizou no Google Code:
http://code.google.com/p/scm/
Esse projeto acima compila 100% em Hwgui + xHarbour ou Harbour.
O colega Alamino já passou os caminhos de onde baixar para começar.
Aqui podemos encontrar um guia de referência e um manual.
Se quiser baixar:
http://www.xharbour.com/xhdn/referenceguide/
http://www.sendspace.com/pro/dl/xit7ed
Qualquer dúvida é só postar.
Sds,
Júlio.
xHarbour 1.2.1 (simplex) + BCC 5.8.2 + Hwgui + SQLRDD
Clipper 5.2e / Blinker 7
Júlio Cézar Elias
e-mail: jelias@tpnet.psi.br
Clipper 5.2e / Blinker 7
Júlio Cézar Elias
e-mail: jelias@tpnet.psi.br
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Re: Como Iniciar em xHarbour
Olá!
Parabéns Leo e JElias pela aula sensacional. Estou "migrando-me" e muito me ajudaram.
É muito ruim sair da condição de senior em uma ferramenta e, drásticamente, cair na condição de aprendiz em outra...
Agora as perguntas que não calam (desvio de assunto? Talvez...)
É verdade que o xHarbour está com o desenvolvimento parado e que o caminho seria o Harbour?
Parabéns Leo e JElias pela aula sensacional. Estou "migrando-me" e muito me ajudaram.
É muito ruim sair da condição de senior em uma ferramenta e, drásticamente, cair na condição de aprendiz em outra...
Agora as perguntas que não calam (desvio de assunto? Talvez...)
É verdade que o xHarbour está com o desenvolvimento parado e que o caminho seria o Harbour?
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
Re: Como Iniciar em xHarbour
Olá Amiguinho,
O que tenho lido sobre este assunto é que o xHarbour não está recebendo atualizações constantes e que alguns membros de sua equipe foram para o Harbour como é o caso do Przmek considerado por muitos como o cérebro do projeto. Na minha opnião é sempre importante dominar as duas opções e deixar seus sistemas compatível com ambas as versões e fazer seus próprios testes para que você mesmo possa decidir qual o melhor segundo suas necessidades.
Devemos sempre aguardar pois o xHarbour pode se recuperar. rs
Hoje estou usando o xHarbour 1.0.0 + BCC 5.5.1 + DBFCDX. Já estou planejando uma mudança para Harbour 2.0 + Hwgui + MSVC + SQLRDD + Postgresql.
Pode baixar o Harbour aqui viewtopic.php?f=4&t=9859
MSCV aqui http://www.microsoft.com/Express/VC;
Como este assunto já foi amplamento discutido aqui, irei colocar baixo alguns tópicos para que você possa entender melhor.
viewtopic.php?f=4&t=9859
viewtopic.php?f=4&t=9150
Espero ter colaborado!
Saudações,
Júlio.
O que tenho lido sobre este assunto é que o xHarbour não está recebendo atualizações constantes e que alguns membros de sua equipe foram para o Harbour como é o caso do Przmek considerado por muitos como o cérebro do projeto. Na minha opnião é sempre importante dominar as duas opções e deixar seus sistemas compatível com ambas as versões e fazer seus próprios testes para que você mesmo possa decidir qual o melhor segundo suas necessidades.
Devemos sempre aguardar pois o xHarbour pode se recuperar. rs
Hoje estou usando o xHarbour 1.0.0 + BCC 5.5.1 + DBFCDX. Já estou planejando uma mudança para Harbour 2.0 + Hwgui + MSVC + SQLRDD + Postgresql.
Pode baixar o Harbour aqui viewtopic.php?f=4&t=9859
MSCV aqui http://www.microsoft.com/Express/VC;
Como este assunto já foi amplamento discutido aqui, irei colocar baixo alguns tópicos para que você possa entender melhor.
viewtopic.php?f=4&t=9859
viewtopic.php?f=4&t=9150
Espero ter colaborado!
Saudações,
Júlio.
xHarbour 1.2.1 (simplex) + BCC 5.8.2 + Hwgui + SQLRDD
Clipper 5.2e / Blinker 7
Júlio Cézar Elias
e-mail: jelias@tpnet.psi.br
Clipper 5.2e / Blinker 7
Júlio Cézar Elias
e-mail: jelias@tpnet.psi.br
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Como Iniciar em xHarbour
Olá Alexandre,
Apenas complementando o que o colega Jelias falou, antes mesmo do Harbour disparar com inovações, o xharbour na versão 1.0.0 em 2007 já para mim estava muito boa e estável, apenas uso a versão 1.2.1 para poder usar LIB mais atualizadas como SQLRDD que uso com Postgresql, então particularmente falando o xHarbour é para mim ainda uma ótima opção, porem como o colega Jelias falou temos que acompanhar as evoluções e manter nossos aplicativos compatível com outros compiladores e outras versões, no meu caso é 100% compatível com Harbour + MSVC.
Apenas complementando o que o colega Jelias falou, antes mesmo do Harbour disparar com inovações, o xharbour na versão 1.0.0 em 2007 já para mim estava muito boa e estável, apenas uso a versão 1.2.1 para poder usar LIB mais atualizadas como SQLRDD que uso com Postgresql, então particularmente falando o xHarbour é para mim ainda uma ótima opção, porem como o colega Jelias falou temos que acompanhar as evoluções e manter nossos aplicativos compatível com outros compiladores e outras versões, no meu caso é 100% compatível com Harbour + MSVC.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
-
gilsonpaulo
- Usuário Nível 3

- Mensagens: 135
- Registrado em: 02 Fev 2008 11:30
- Localização: Quatro Barras
Re: Como Iniciar em xHarbour
Seque uns exemplos:
Código: Selecionar todos
function cliente()
select 1
use clientes shared alias clientes new
if neterr()
MsgBox1("ERRO NA ABERTURA DO BANCO, CLIENTES")
close all
return
endif
set index to clientes
go top
select 2
use remoto shared alias remoto new
if neterr()
MsgBox1("ERRO NA ABERTURA DO BANCO, REMOTO")
close all
return
endif
go top
telcliente=savescreen(00,00,31,97)
@ 00,00 say "ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿" color "15/1"
@ 01,00 say "³ ³" color "15/1"
@ 01,35 say "CADASTRO DE CLIENTES" color "14/1"
@ 02,00 say "ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´" color "15/1"
@ 03,00 say "³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿³" color "15/1"
// 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567
@ 04,00 say "³³ Bloqueado.: : Tipo Pessoa J/F.: : Data Cadastro.: : Cadastrado Por.: :³³" color "15/1"
@ 05,00 say "³³ Codigo.: : Cliente.: :³³" color "15/1"
@ 06,00 say "³³ Endereco.: : Numero.: : Cep.: :³³" color "15/1"
@ 07,00 say "³³ Bairro...: : Cidade.: : UF.: : ³³" color "15/1"
@ 08,00 say "³³ Cpf/Cnpj.: : Insc/Rg.: : Contato.: :³³" color "15/1"
@ 09,00 say "³³ Fone.....: : Fax.: : Celular.: : :³³" color "15/1"
@ 10,00 say "³³ Data Nascimento.: : Ultimo Servico.: : Ultima Compra.: : ³³" color "15/1"
@ 11,00 say "³³ ³³" color "15/1"
@ 12,00 say "³³ ³³" color "15/1"
@ 13,00 say "³³ ³³" color "15/1"
@ 14,00 say "³³ ³³" color "15/1"
@ 15,00 say "³³ ³³" color "15/1"
@ 16,00 say "³³ ³³" color "15/1"
@ 17,00 say "³³ ³³" color "15/1"
@ 18,00 say "³³ ³³" color "15/1"
@ 19,00 say "³³ ³³" color "15/1"
@ 20,00 say "³³ ³³" color "15/1"
@ 21,00 say "³³ ³³" color "15/1"
@ 22,00 say "³³ ³³" color "15/1"
@ 23,00 say "³³ ³³" color "15/1"
@ 24,00 say "³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ³" color "15/1"
@ 25,00 say "ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´" color "15/1"
@ 26,00 say "³ Opcoes....:[Incluir] [Alterar] [Excluir] ³" color "15/1"
// 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
@ 26,14 say "I" color "14/1"
@ 26,24 say "A" color "14/1"
@ 26,34 say "E" color "14/1"
@ 27,00 say "³ Consultas.:[Conferencia] [A Receber] [Gerar TxT] ³" color "15/1"
// 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
@ 27,17 say "F" color "14/1"
@ 27,34 say "B" color "14/1"
@ 27,47 say "X" color "14/1"
@ 28,00 say "³ Relatorios:[Acerto] ³" color "15/1"
// 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
@ 28,17 say "R" color "14/1"
@ 29,00 say "³ Ordena Por:[Codigo] [Nome] [NC Pesquisa Por Nome] ³" color "15/1"
// 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
@ 29,14 say "C" color "14/1"
@ 29,23 say "N" color "14/1"
@ 29,30 say "NC" color "14/1"
@ 30,00 say "ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ" color "15/1"
@ 31,00 say replicate(" ",97) color "0/15"
@ 31,80 say rodape2 color "0/15"
select clientes
do while .t.
set cursor off
setcolor("14/1,15/1")
@ 04,14 say clibloq
@ 04,34 say clitippes
@ 04,52 say clidatcad picture "@K 99/99/9999"
@ 04,80 say clicadpor
@ 05,11 say clicodigo
@ 05,27 say clidescli
@ 06,13 say cliendcli
@ 06,75 say clinumero
@ 06,86 say clicep picture "@R 99999-999"
@ 07,13 say clibairro
@ 07,53 say clicidade
@ 07,89 say cliuf
if clitippes = "F"
@ 08,13 say clicpf picture "@R 999.999.999-99"
else
@ 08,13 say clicnpj picture "@R 99.999.999/9999-99"
endif
@ 08,42 say cliinsc
@ 08,73 say clicontato
@ 09,13 say clifone picture "@R (99)9999-9999"
@ 09,33 say clifax picture "@R (99)9999-9999"
@ 09,57 say clicelular picture "@R (99)9999-9999"
@ 10,20 say clidatnasc picture "@K 99/99/9999"
@ 10,48 say cliultserv picture "@K 99/99/9999"
@ 10,75 say cliultcomp picture "@K 99/99/9999"
ik = 0
ik = inkey(0)
if ik=27
exit
elseif ik=5
skip -1
ik = 0
elseif ik=24
skip
ik = 0
elseif ik = 6
go bottom
elseif ik = 1
go top
elseif ik = 105 .or. ik = 73
telinccli=savescreen(00,00,31,97)
inccli()
restscreen(00,00,31,97,telinccli)
elseif ik = 69 .or. ik = 101
op = MsgBox2("CONFIRMA EXCLUSÇO DO CLIENTE?" )
do case
case op = 1
select clientes
if rlock()
delete
skip
dbcommit()
unlock
else
MsgBox1("NÇO CONSEGUI EXCLUIR O REGISTRO, TENTE NOVAMENTE")
endif
endcase
elseif ik = 65 .or. ik = 97
if .not. empty(clidescli)
altcli()
endif
elseif ik = 82 .or. ik = 114
if .not. empty(clidescli)
remoto()
endif
else
tone(300)
endif
if eof()
skip -1
endif
if bof()
go top
endif
enddo
select 1
use
select 2
use
close
restscreen(00,00,31,97,telcliente)
return(nil)
*******************************************************************************
static procedure inccli()
local iclibloq:=space(01),iclitippes:=space(01),iclicadpor:=space(15),iclicodigo:=space(05),;
iclidescli:=space(68),icliendcli:=space(52),iclinumero:=space(04),iclicep:=space(08),;
iclibairro:=space(30),iclicidade:=space(30),icliuf:=space(02),iclicpf:=space(11),;
iclicnpj:=space(14),icliinsc:=space(20),iclicontato:=space(22),iclifone:=space(10),;
iclifax:=space(10),iclicelular:=space(10),iclidatnasc:=ctod("00.00.00")
@ 00,00 say "ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿" color "15/1"
@ 01,00 say "³ ³" color "15/1"
@ 01,35 say "CADASTRO DE CLIENTES" color "14/1"
@ 02,00 say "ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´" color "15/1"
@ 03,00 say "³ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿³" color "15/1"
// 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567
@ 04,00 say "³³ Bloqueado.: : Tipo Pessoa J/F.: : Data Cadastro.: : Cadastrado Por.: :³³" color "15/1"
@ 05,00 say "³³ Codigo.: : Cliente.: :³³" color "15/1"
@ 06,00 say "³³ Endereco.: : Numero.: : Cep.: :³³" color "15/1"
@ 07,00 say "³³ Bairro...: : Cidade.: : UF.: : ³³" color "15/1"
@ 08,00 say "³³ Cpf/Cnpj.: : Insc/Rg.: : Contato.: :³³" color "15/1"
@ 09,00 say "³³ Fone.....: : Fax.: : Celular.: : :³³" color "15/1"
@ 10,00 say "³³ Data Nascimento.: : Ultimo Servico.: : Ultima Compra.: : ³³" color "15/1"
@ 11,00 say "³³ ³³" color "15/1"
@ 12,00 say "³³ ³³" color "15/1"
@ 13,00 say "³³ ³³" color "15/1"
@ 14,00 say "³³ ³³" color "15/1"
@ 15,00 say "³³ ³³" color "15/1"
@ 16,00 say "³³ ³³" color "15/1"
@ 17,00 say "³³ ³³" color "15/1"
@ 18,00 say "³³ ³³" color "15/1"
@ 19,00 say "³³ ³³" color "15/1"
@ 20,00 say "³³ ³³" color "15/1"
@ 21,00 say "³³ ³³" color "15/1"
@ 22,00 say "³³ ³³" color "15/1"
@ 23,00 say "³³ ³³" color "15/1"
@ 24,00 say "³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ³" color "15/1"
@ 25,00 say "ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´" color "15/1"
@ 26,00 say "³ Opcoes....:[Incluir] [Alterar] [Excluir] ³" color "15/1"
// 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
@ 26,14 say "I" color "14/1"
@ 26,24 say "A" color "14/1"
@ 26,34 say "E" color "14/1"
@ 27,00 say "³ Consultas.:[Conferencia] [A Receber] [Gerar TxT] ³" color "15/1"
// 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
@ 27,17 say "F" color "14/1"
@ 27,34 say "B" color "14/1"
@ 27,47 say "X" color "14/1"
@ 28,00 say "³ Relatorios:[Acerto] ³" color "15/1"
// 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
@ 28,17 say "R" color "14/1"
@ 29,00 say "³ Ordena Por:[Codigo] [Nome] [NC Pesquisa Por Nome] ³" color "15/1"
// 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
@ 29,14 say "C" color "14/1"
@ 29,23 say "N" color "14/1"
@ 29,30 say "NC" color "14/1"
@ 30,00 say "ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ" color "15/1"
@ 31,00 say replicate(" ",97) color "0/15"
@ 31,80 say rodape2 color "0/15"
do while .t.
setcolor("10/1,10/1")
iclibloq="N"
@ 04,14 say iclibloq picture "@!KX" //valid(iclibloq$"SN")
@ 04,34 get iclitippes picture "@!KX" valid(iclitippes$"JF")
set cursor on
read
set cursor off
if lastkey() == 27
return
endif
@ 04,52 say date() picture "@K 99/99/9999"
@ 04,80 say funcionario
select clientes
set order to 6
go top
bus = 0
do while .t.
bus++
seek strzero(bus,5,0)
if .not. found()
iclicodigo = bus
exit
endif
enddo
@ 05,11 say iclicodigo picture "@K 99999"
@ 05,27 get iclidescli picture "@!KX" valid !empty(iclidescli)
@ 06,13 get icliendcli picture "@!KX"
@ 06,75 get iclinumero picture "@!K"
@ 06,86 get iclicep picture "@R 99999-999"
@ 07,13 get iclibairro picture "@!KX"
@ 07,53 get iclicidade picture "@!KX"
@ 07,89 get icliuf picture "@!KX"
if iclitippes = "F"
@ 08,13 get iclicpf picture "@R 999.999.999-99"
else
@ 08,13 get iclicnpj picture "@R 99.999.999/9999-99"
endif
@ 08,42 get icliinsc picture "@!KX"
@ 08,73 get iclicontato picture "@!KX"
@ 09,13 get iclifone picture "@R (99)9999-9999"
@ 09,33 get iclifax picture "@R (99)9999-9999"
@ 09,57 get iclicelular picture "@R (99)9999-9999"
@ 10,20 get iclidatnasc picture "@K 99/99/9999"
set cursor on
read
set cursor off
if lastkey() == 27
return
endif
op=MsgBox2( "CONFIRMA CADASTRO?" )
do case
case op=1
clientes->(dbappend())
if neterr()
op=MsgBox1("NAO FOI POSSIVEL GRAVAR O REGISTRO","TENTE NOVAMENTE")
do case
case op=1
loop
endcase
else
if rlock()
clientes->clibloq:= iclibloq
clientes->clitippes:= iclitippes
clientes->clidatcad:= date()
clientes->clicadpor:= funcionario
clientes->clicodigo:= strzero(iclicodigo,5,0)
clientes->clidescli:= iclidescli
clientes->cliendcli:= icliendcli
clientes->clinumero:= padl(rtrim(iclinumero),4," ")
clientes->clicep:= iclicep
clientes->clibairro:= iclibairro
clientes->clicidade:= iclicidade
clientes->cliuf:= icliuf
if iclitippes = "F"
clientes->clicpf:= iclicpf
else
clientes->clicnpj:= iclicnpj
endif
clientes->cliinsc:= icliinsc
clientes->clicontato:= iclicontato
clientes->clifone:= iclifone
clientes->clifax:= iclifax
clientes->clicelular:= iclicelular
clientes->clidatnasc:= iclidatnasc
dbcommit()
unlock
endif
endif
case op=2
exit
endcase
exit
enddo
*******************************************************************************
static procedure altcli()
local aclibloq:=clibloq,aclitippes:=clitippes,aclicadpor:=clicadpor,aclicodigo:=clicodigo,;
aclidescli:=clidescli,acliendcli:=cliendcli,aclinumero:=clinumero,aclicep:=clicep,;
aclibairro:=clibairro,aclicidade:=clicidade,acliuf:=cliuf,aclicpf:=clicpf,;
aclicnpj:=clicnpj,acliinsc:=cliinsc,aclicontato:=clicontato,aclifone:=clifone,;
aclifax:=clifax,aclicelular:=clicelular,aclidatnasc:=clidatnasc
do while .t.
setcolor("10/1,10/1")
// 04,14 say aclibloq picture "@!KX" //valid(aclibloq$"SN")
// 04,34 say aclitippes picture "@!KX" //valid(aclitippes$"JF")
/* 04,52 say date() picture "@K 99/99/9999"
04,80 say funcionario
select clientes
set order to 6
go top
bus = 0
do while .t.
bus++
seek strzero(bus,5,0)
if .not. found()
iclicodigo = bus
exit
endif
enddo
*/
@ 05,11 say aclicodigo picture "@K 99999"
@ 05,27 get aclidescli picture "@!KX" valid !empty(aclidescli)
@ 06,13 get acliendcli picture "@!KX"
@ 06,75 get aclinumero picture "@!K"
@ 06,86 get aclicep picture "@R 99999-999"
@ 07,13 get aclibairro picture "@!KX"
@ 07,53 get aclicidade picture "@!KX"
@ 07,89 get acliuf picture "@!KX"
if aclitippes = "F"
@ 08,13 get aclicpf picture "@R 999.999.999-99"
else
@ 08,13 get aclicnpj picture "@R 99.999.999/9999-99"
endif
@ 08,42 get acliinsc picture "@!KX"
@ 08,73 get aclicontato picture "@!KX"
@ 09,13 get aclifone picture "@R (99)9999-9999"
@ 09,33 get aclifax picture "@R (99)9999-9999"
@ 09,57 get aclicelular picture "@R (99)9999-9999"
@ 10,20 get aclidatnasc picture "@K 99/99/9999"
set cursor on
read
set cursor off
if lastkey() == 27
return
endif
op2=MsgBox2( "CONFIRMA ALTERAۂO DO CADASTRO DO CLIENTE?" )
if op2 = 1
if rlock()
// clientes->clibloq:= aclibloq
// clientes->clitippes:= aclitippes
// clientes->clidatcad:= date()
// clientes->clicadpor:= funcionario
// clientes->clicodigo:= strzero(aclicodigo,5,0)
clientes->clidescli:= aclidescli
clientes->cliendcli:= acliendcli
clientes->clinumero:= padl(rtrim(aclinumero),4," ")
clientes->clicep:= aclicep
clientes->clibairro:= aclibairro
clientes->clicidade:= aclicidade
clientes->cliuf:= acliuf
if clitippes = "F"
clientes->clicpf:= aclicpf
else
clientes->clicnpj:= aclicnpj
endif
clientes->cliinsc:= acliinsc
clientes->clicontato:= aclicontato
clientes->clifone:= aclifone
clientes->clifax:= aclifax
clientes->clicelular:= aclicelular
clientes->clidatnasc:= aclidatnasc
dbcommit()
unlock
endif
else
exit
endif
exit
enddo
*******************************************************************************
function remoto()
local vet1[5],vet2[5],vet3[5]
telrem=savescreen(02,39,29,97)
setcolor("15/1,1/15")
@ 02,39 clear to 29,97
@ 02,39 to 29,97
@ 04,39 say "Ã"
@ 04,97 say "´"
@ 27,39 say "ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´"
// 01234567890123456789012345678901234567890
@ 28,40 say "[Incluir] [Excluir] [Alterar] [Esc -> Retorna]"
@ 28,41 say "I" color("14/1")
@ 28,51 say "E" color("14/1")
@ 28,61 say "A" color("14/1")
@ 28,71 say "ESC" color("14/1")
select remoto
set filter to codcli = clientes->clicodigo
go top
do while .t.
select remoto
vet1[1]="tipacesso"
vet1[2]="estacao"
vet1[3]="codacesso"
vet1[4]="senha"
vet3[1]="TIPO ACESSO"
vet3[2]="ESTACAO"
vet3[3]="CODIGO"
vet3[4]="SENHA"
dbedit(03,40,26,96,vet1,"sairem","",vet3)
set filter to
exit
enddo
restscreen(02,39,29,97,telrem)
select clientes
return
*******************************************************************************
function sairem()
if lastkey() = 27
return(0)
endif Código: Selecionar todos
/******************************************************************************
* Sistema .....: GS INFORMATICA
* Programa ....:
* Autor .......: Gilson Paulo Schuck
* Sintese .....:
* Data ........: 28/9/2009 às 19:31:36
* Revisado em .: 28/9/2009 às 19:31:36
******************************************************************************/
#include 'common.ch'
#include 'sqllib.ch'
request sqllib
request mysql
request HB_LANG_PT
request dbfcdx
//request HB_GT_WIN
function main()
HB_LANGSELECT( 'PT' )
set epoch to 1960
set scoreboard off
set date british
set century on
set deleted on
set softseek on
set wrap on
setblink(.f.)
set message to 31
clear screen
/*SQL CONNECT ON "mysql.onda.com.br" ;
DATABASE "";
USER "";
PASSWORD "";
OPTIONS SQL_NO_WARNING;
LIB "MySQL"
SQL CONNECT ON "localhost" ;
DATABASE "eleitor";
USER "root";
PASSWORD "";
OPTIONS SQL_NO_WARNING;
LIB "MySQL"
*/
SQL CONNECT ON "gilsonpaulo.no-ip.org";
DATABASE "";
USER "root";
PASSWORD "";
OPTIONS SQL_NO_WARNING;
LIB "MySQL"
rddsetdefault("dbfcdx")
*************************************************************************************************
public funcionario:=space(15),psenha:=space(1),pindu:=space(1),pcusto:=SPACE(1),pcadcli:=space(1),;
firma:="GS INFORMATICA - COMERCIO E SERVIÇOS"
public rodape1:=" ³ ESC - Sair ³ GS INFORMATICA ³ (41) 3672-4071 / (41) 8802-3828 ³",;
rodape2:="³ ESC - Retorna ³"
*************************************************************************************************
Setup()
IF SQLErrorNO() > 0
MsgBox1("BASE DE DADOS OFF-LINE","VERIFIQUE O SERVIDOR")
endif
arquivos()
acesso()
Desktop()
menu_p()
*************************************************************************************************
function menu_p()
do while .t.
set color to "0/15,0/3"
@ 00,00 say replicate(" ",98)
@ 00,85 say netname()
@ 00,00 prompt " Cadastro "
@ 00,10 prompt " Usuarios "
menu to menu_p
if lastkey() = 27
op = Msgbox2("FINALIZAR O SISTEMA.")
do case
case op = 1
set color to 7/0
clear screen
commit
close databases
close all
//sql disconnect all
setcolor( '' )
clear screen
setcolor( "GR+/N" )
@ 01,10 say "GS Informatica"
@ 02,10 say "Quatro Barras - Pr (41) 8802-3828 / (41) 3672-4071"
setcolor("")
@ row()+2, col() say ""
quit
exit
endcase
endif
do case
case menu_p = 1
menu1()
case menu_p = 2
case menu_p = 3
case menu_p = 4
case menu_p = 6
endcase
enddo
return nil
*************************************************************************************************
FUNCTION Setup()
SetDefaultWindowSize() // e a outra função é chamada aqui.
WvW_SetMainCoord( .T. )
WvW_SetPaintRefresh( 100 )
WvW_SetVertCaret( .F. )
WvW_SetAltF4Close( .F. )
WvW_SetMouseMove( .F. )
WvW_SetDefLineSpacing( 0 )
WvW_SetMaxBMcache( 20 )
WvW_SetLineSpacing( 0, 0 )
WvW_SetPointer( 0, 1 )
// WvW_SetTitle(, "ITUPAVA LAR CONSTRUۂO & CONSTRUۂO" )
WvW_Maximize(0)
WvW_sbcreate()
WvW_NoClose()
RETURN (.T.)
*************************************************************************************************
FUNCTION SetDefaultWindowSize()
LOCAL Result:= .T.
Local ScreenWidth
SetMode(32,98)
IF Result
screenWidth := Wvw_GetScreenWidth()
DO CASE
CASE screenWidth >=1024
Result:= Wvw_SetFont(,'Terminal',20,10)
CASE screenWidth >= 800
Result:= Wvw_SetFont(,'Terminal',16,-8)
OTHERWISE
Result:= Wvw_SetFont(,'Terminal',12,6)
ENDCASE
IF Result
Wvw_SetCodePage(,255)
CLS
ENDIF
ENDIF
RETURN(Result)
*************************************************************************************************
function acesso()
i=0
i1=0
sen=""
psw=0
psenha=space(1)
pindu = space(1)
pcusto = space(1)
save screen to anh
select 1
use cadfun shared alias cadfun new
if neterr()
MsgBox1("ERRO DE ABERTURA DO BANCO DE USUARIOS")
return
endif
set index to cadfun
go top
do while .t.
set color to N/W
@ 12,25 say "ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿" color "n/w"
@ 13,25 say "³ ³" color "n/w"
@ 14,25 say "³ Nome.: :³" color "n/w"
@ 15,25 say "³ ³" color "n/w"
@ 16,25 say "³ Senha: * * * * * * ³" color "n/w"
@ 17,25 say "³ ³" color "n/w"
@ 18,25 say "ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ" color "n/w"
tn=1200
funcionario = SPACE(15)
setcolor("R/W,R/W")
@ 14,33 get funcionario picture "@! XXXXXXXXXXXXXXX"
set cursor on
read
set cursor off
if lastkey() = 27
loop
endif
go top
seek funcionario
if .not. found()
tone(1000,2)
loop
endif
set color to W/R,W/R
sen=""
i=0
i1 = 0
psw=" "
do while len(sen)<6
setcolor("W/W,W/W")
psw = space(1)
i1=i1+2
@ 16,33+i1-1 get psw picture "@K! X"
read
if lastkey() = 27
set cursor on
quit
exit
endif
sen=sen+psw
//setcolor("W/R,W/R")
@ 16,33+i1 say CHR(2) color "R/W" //CHR(2)
tone(tn,2)
tn = tn - 200
enddo
tone(2000,5)
tone(1500,5)
restore screen from anh
exit
enddo
select cadfun
unlock
select 1
use
set confirm on
setcolor("W/N,N/W")
return
*************************************************************************************************
function arquivos()
if !index("cadfun.cdx")
Msg("INDEXANDO BANCO DE DADOS","CADFUN")
select 1
use cadfun exclusive alias cadfun new
index on login tag login to cadfun
pack
endif
if !index("clientes.cdx")
Msg("INDEXANDO BANCO DE DADOS","CLIENTES")
select 2
use clientes exclusive alias clientes new
index on clibloq tag clibloq to clientes
index on clitippes tag clitippes to clientes
index on clidescli tag clidescli to clientes
index on clicpf tag clicpf to clientes
index on clicnpj tag clicnpj to clientes
index on clicodigo tag clicodigo to clientes
pack
endif
select 1
use
select 2
use
close all-
Spitzer
- Usuário Nível 2

- Mensagens: 60
- Registrado em: 15 Ago 2003 04:56
- Localização: Nova Fátima - PR
Re: Como Iniciar em xHarbour
Oi, pessoal!
Eu sabia que havia colocado as dúvidas no lugar certo, pois a comunidade continua como sempre foi: ativa, participativa, e com muito boa vontade!
Parabéns e obrigado pelas prontas respostas, links e exemplos postados! Tudo será avaliado ainda neste final de semana!
Mas parece que estou querendo migrar para uma linguagem que já está condenada! hehehehehehehhehe
Assim não dá! Assim não dá! rsrsrsrssrs
É sério? O projeto xHarbour está parado?
Nestas alturas vejo que o ideal é o Harbour, como foi citado em um ou outro post deste assunto.
Ou, melhor ainda, manter o sistema compatível tanto com xHarbour quanto com Harbour.
As últimas perguntas, então, pessoal:
1. xHarbour e Harbour são 100% compatíveis entre si? Hoje, posso compilar o mesmo sistema tanto em xHarbour quanto em Harbour sem modificar nada?
2. As libs externas pro xHarbour servem também pro Harbour?
3. Quais as diferenças (as mais importantes ou gritantes, claro!) entre xHarbour e Harbour?
4. Para o Harbour há literatura, discussões e exemplos na mesma proporção que para o xHarbour pela Net afora? Até o momento nunca havia procurado algo sobre Harbour.
Obrigado!
Eu sabia que havia colocado as dúvidas no lugar certo, pois a comunidade continua como sempre foi: ativa, participativa, e com muito boa vontade!
Parabéns e obrigado pelas prontas respostas, links e exemplos postados! Tudo será avaliado ainda neste final de semana!
Mas parece que estou querendo migrar para uma linguagem que já está condenada! hehehehehehehhehe
Assim não dá! Assim não dá! rsrsrsrssrs
É sério? O projeto xHarbour está parado?
Nestas alturas vejo que o ideal é o Harbour, como foi citado em um ou outro post deste assunto.
Ou, melhor ainda, manter o sistema compatível tanto com xHarbour quanto com Harbour.
As últimas perguntas, então, pessoal:
1. xHarbour e Harbour são 100% compatíveis entre si? Hoje, posso compilar o mesmo sistema tanto em xHarbour quanto em Harbour sem modificar nada?
2. As libs externas pro xHarbour servem também pro Harbour?
3. Quais as diferenças (as mais importantes ou gritantes, claro!) entre xHarbour e Harbour?
4. Para o Harbour há literatura, discussões e exemplos na mesma proporção que para o xHarbour pela Net afora? Até o momento nunca havia procurado algo sobre Harbour.
Obrigado!
Abraços,
Ademir Spitzer
Ademir Spitzer
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Re: Como Iniciar em xHarbour
Amiguinho,
O Harbour nasceu open-source e continua crescendo assim mas não tinha ferramentas de apoio, já o xHarbour nasceu comercialmente, ou seja voce até poderia conseguir o source e binários livremente, mas as ferramentas de auxilio eram ou são pagas.
1. xHarbour e Harbour são 100% compatíveis entre si? Hoje, posso compilar o mesmo sistema tanto em xHarbour quanto em Harbour sem modificar nada?
Não. em se tratando de comandos e funções existentes no Clipper, sim, mas as funções e bibliotecas extendidas possuem diferenças.
2. As libs externas pro xHarbour servem também pro Harbour?
Não. nem mesmo as bibliotecas de uma mesma vertente podem ser usadas, com resalvas, pois o compilador possui alterações em sua caracteristica que pode modificar o código portátil, para se ter uma idéia de todas as versões de Harbour que surgiu é possivel enccontrar o compilador que gera código para java, outra para .net e nas versões atuais nem um nem outro, ou se gera não tem suporte.
3. Quais as diferenças (as mais importantes ou gritantes, claro!) entre xHarbour e Harbour?.
Depende. Se voce avaliar as ultimas versões de cada notará que um ou outro tem um recurso interessante que o outro ainda não tem. portanto vai da necessidade que voce deseja para sua aplicação, se voce planeja acesso a dados DBF, não irá se preocupar com NETIO, LetoDB, etc. Caso deseje usar em sua aplicação terá de pender para o lado que a ferramenta que lhe chama a atenção proporciona.
4. Para o Harbour há literatura, discussões e exemplos na mesma proporção que para o xHarbour pela Net afora? Até o momento nunca havia procurado algo sobre Harbour.
Sim. mas sinceramente voce encontra os exemplos de uso nos sources dos projetos, não há melhor recurso do que código pronto para testes.
Recentemente converti uma aplicação em SUMMER para Harbour para suportar em modo console tratamento de XML, envio de Email e acesso a WebServices(ainda em curso). Tive problemas para consumar o fato rapidamente porque o SUMMER permitia a geração do executável mesmo tendo IFs e DO.WHILE sem fechamento.
Hoje o aplicativo consegue abrir mais tabelas do que antes e tem um trabalho mais aprimorado.
Ainda uso para o trabalho, mesmo para produção de meu sistema 4Windows, a velha janela do DOS e o tão velho EDIT, poucas vezes o NOTEPAD e quanto a coisa aperta o NOTEPAD++.
Para compilar uso um .BAT, gosto de ter o controle do que eu estou manipulando.
Se usar o Borland C++ como compilador o mesmo será util nas duas vertentes.
Não existe esta de pegar um código Clipper e compilar no Harbour e achar que o mesmo vai rodar, pois durante anos usamos bibliotecas de terceiro que não fazem parte do mundo Harbour, com poucas excessões como VisualLIB, SIX e CATools.
O melhor é começar o código do zero, criando a aplicação mais básica, deste a SETagem do ambiente, menu de acesso, rotina de tratamento de tabela e impressão. Tendo tudo isto usando o básico e compatível é hora de partir para o avançado de cada opção.
Em suma, o que voce deve fazer é criar seu ambiente de trabalho contendo os ultimos builds de cada vertente e ir testando.
O Harbour nasceu open-source e continua crescendo assim mas não tinha ferramentas de apoio, já o xHarbour nasceu comercialmente, ou seja voce até poderia conseguir o source e binários livremente, mas as ferramentas de auxilio eram ou são pagas.
1. xHarbour e Harbour são 100% compatíveis entre si? Hoje, posso compilar o mesmo sistema tanto em xHarbour quanto em Harbour sem modificar nada?
Não. em se tratando de comandos e funções existentes no Clipper, sim, mas as funções e bibliotecas extendidas possuem diferenças.
2. As libs externas pro xHarbour servem também pro Harbour?
Não. nem mesmo as bibliotecas de uma mesma vertente podem ser usadas, com resalvas, pois o compilador possui alterações em sua caracteristica que pode modificar o código portátil, para se ter uma idéia de todas as versões de Harbour que surgiu é possivel enccontrar o compilador que gera código para java, outra para .net e nas versões atuais nem um nem outro, ou se gera não tem suporte.
3. Quais as diferenças (as mais importantes ou gritantes, claro!) entre xHarbour e Harbour?.
Depende. Se voce avaliar as ultimas versões de cada notará que um ou outro tem um recurso interessante que o outro ainda não tem. portanto vai da necessidade que voce deseja para sua aplicação, se voce planeja acesso a dados DBF, não irá se preocupar com NETIO, LetoDB, etc. Caso deseje usar em sua aplicação terá de pender para o lado que a ferramenta que lhe chama a atenção proporciona.
4. Para o Harbour há literatura, discussões e exemplos na mesma proporção que para o xHarbour pela Net afora? Até o momento nunca havia procurado algo sobre Harbour.
Sim. mas sinceramente voce encontra os exemplos de uso nos sources dos projetos, não há melhor recurso do que código pronto para testes.
Recentemente converti uma aplicação em SUMMER para Harbour para suportar em modo console tratamento de XML, envio de Email e acesso a WebServices(ainda em curso). Tive problemas para consumar o fato rapidamente porque o SUMMER permitia a geração do executável mesmo tendo IFs e DO.WHILE sem fechamento.
Hoje o aplicativo consegue abrir mais tabelas do que antes e tem um trabalho mais aprimorado.
Ainda uso para o trabalho, mesmo para produção de meu sistema 4Windows, a velha janela do DOS e o tão velho EDIT, poucas vezes o NOTEPAD e quanto a coisa aperta o NOTEPAD++.
Para compilar uso um .BAT, gosto de ter o controle do que eu estou manipulando.
Se usar o Borland C++ como compilador o mesmo será util nas duas vertentes.
Não existe esta de pegar um código Clipper e compilar no Harbour e achar que o mesmo vai rodar, pois durante anos usamos bibliotecas de terceiro que não fazem parte do mundo Harbour, com poucas excessões como VisualLIB, SIX e CATools.
O melhor é começar o código do zero, criando a aplicação mais básica, deste a SETagem do ambiente, menu de acesso, rotina de tratamento de tabela e impressão. Tendo tudo isto usando o básico e compatível é hora de partir para o avançado de cada opção.
Em suma, o que voce deve fazer é criar seu ambiente de trabalho contendo os ultimos builds de cada vertente e ir testando.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
