Página 1 de 2

A questão é: pra onde ir?

Enviado: 31 Out 2006 14:50
por Bisteca
Olá amigos escovadores de bits.
Preciso mudar pro visual, qual o melhor caminho.
Vb, Delphi com .Net ou não, talvez Java.
Alguém poderia me ajudar.

Valeuzaço

Enviado: 31 Out 2006 14:58
por vailton
Você já tentou o compilador FREE chamdo xHarbour com MiniGUI ou HwGUI ?

Enviado: 31 Out 2006 15:04
por Bisteca
Ainda não, pra falar a verdade não conheço. Poderia me falar mais sobre isso.
Obrigado

Enviado: 31 Out 2006 15:52
por rochinha
Amiguinho

Leia:

Visual Grafico

Mercado para Clipper

Xbase++, Mais um Substituto do Clipper?


Ai talvez vc mude mesmo.

@braços :?)

Re: A questão é: pra onde ir?

Enviado: 01 Nov 2006 14:21
por Stanis Luksys
Bisteca escreveu:Olá amigos escovadores de bits.
Preciso mudar pro visual, qual o melhor caminho.
Vb, Delphi com .Net ou não, talvez Java.
Alguém poderia me ajudar.

Valeuzaço
Olá,

Como não foi especificado, deixo minha opinião:

Se ja tem o programa rodando em Clipper:
Vale a pena continuar no xBase, e manter seu código. Com certeza xHarbour com MiniGUI ou hwGUI, conforme citado pelo colega Vaílton. Possibilidade de utilizar os melhores BD do mercado, integração WEB, etc e tal. Nada lhe faltará.

Se quer começar tudo do zero:
Vou de .NET (e ASP) e Delphi, se quer aplicações eternamente Windows. Multi-plataforma vou de C++ (sempre!) e Java, por fim para WEB, PHP e AJAX, sendo esta últma a de maior futuro sem dúvida alguma (alavancada pelo Vista, coisa linda mesmo!!).

Claro que existem muitas outras de qualidade, mas não conheço todas, citei apenas as que tenho conhecimento básico (ou mínimo) para opinar.

Falou.

Enviado: 01 Nov 2006 14:28
por Stanis Luksys
Bisteca escreveu:Ainda não, pra falar a verdade não conheço. Poderia me falar mais sobre isso.
Obrigado
Existe neste mesmo fórum, uma sessão específica de xHarbour, se não me engano até com um tópico fixo demonstrando os primeiros passos.

Também tem uma de MiniGUI e outra de HwGui.

Todas essas ferramentas são opensource, diferentemente das citadas por você inicialmente, o qu e pode se tornar um fator decisivo, ou não, na sua escolha.

Numa analogia, apenas para que entenda inicialmente, poderíamos dizer que o xHarbour substitui o Clipper, e a MiniGUI ou hwGui substituem a Visual Lib, LLIBG e outras bibliotecas gráficas. A diferença é que o aplicativo sai for Windows (GUI), mas é como se fosse isso.

Falou maninho, boa sorte!

Enviado: 01 Nov 2006 15:06
por Bisteca
É deu pra ter uma boa noção, tenho sim uma aplicação em clipper que pretendo migrar pra visual. porém tenho novas aplicações para desenvolver e aí gostaria de começar com algo que de mais futuro, pois parece que o clipper por mais turbinado que seja não irá muito longe.
obrigado a todos pelas dicas

Enviado: 01 Nov 2006 17:32
por rochinha
Amiguinho

O Clipper realmente como compilador deverá ser deixado de lado mas não abandonado, pois o conhecimento adquirido com ele é fatal e nada cura.

Mas para que voce tenha uma idéia usando o Harbour, ultimamente tenho feito pequenos aplicativos testes e já posso acessar MDB e GDB quase que da mesma forma que acesso DBF e sem o uso de bibliotecas extras. Mas lógico usando um recurso do Fivewin, sua classe Activex.

Na verdade o Fivewin chamou a atenção dos programadores pelo fato de permitir uma ligação com os controles VBX atiçando o seu uso. Mas estes controles assim com o Clipper estão sendo deixados de lado.

Veja um pequeno trecho de um codigo acessando MySQL em um formato bem conhecido.

Código: Selecionar todos

/*
 *
 * Mais informacoes sobre ADO em 
 * http://www.microsoft.com/brasil/technet/Colunas/scriptcenter/resources/officetips/nov05/tips1103.mspx
 *
 */
#include "Fivewin.ch" 
#include "adodb.ch" 

FUNCTION MAIN() 
    PUBLIC oRs

    StrDatabase   := [DBMRDELIVERY]
    StrServer     := [127.0.0.1]
    StrPort       := 3306
    StrUserID     := [root]
    StrUserPWD    := []
    StrDriver     := "MySQL ODBC 3.51 Driver"

    StrTable      := [TBCLIENTE]
    StrField      := [ddd]
    StrField2     := [nome]
    StrWhere      := StrField+[="034"]

    StrSqlCommand := [SELECT * FROM ] + StrTable + [ WHERE ] + StrWhere

    ADO CONNECT ON StrServer ;
                PORT StrPort ;
                DATABASE StrDatabase ;
		USER StrUserID ;
                PASSWORD StrUserPWD ;
                OPTIONS 35 ;
		DRIVER StrDriver

    ADO EXECUTE StrSqlCommand

    ADO GOTOP

    Browse( oRs )

    ADO CLOSE

    RETURN NIL

function browse(oRs, bPrc, bAdc, bAlt, bExc, bImp, bSai)
    LOCAL oDlg, oBrw, nRec 
    LOCAL aData := {}
    LOCAL nFor
    LOCAL oLbx, cItem
    LOCAL btnPrc, btnAdc, btnAlt, btnExc, btnImp, btnsai

    DEFAULT bPrc    := { || RecPrc( oLbx ) },;
            bAdc    := { || RecInc( oLbx ) },;
            bAlt    := { || RecAlt( oLbx ) },;
            bExc    := { || RecExc( oLbx ) },;
            bImp    := { || RecImp( oLbx ) },;
            bSai    := { || oDlg2:End() }

    DEFINE DIALOG oDlg2 From 0,0 To 800,1020 Pixel TITLE " ListBox da Tabela "
    @ 05,15 listbox oBrw Fields oRs:Fields( "nome" ):Value, oRs:Fields( "fone" ):Value;
             headers "Nome","Telefone";
             fieldsizes 250,100   ;
             pixel size 400,300 of odlg2

    //oBrw:bLDblClick:= { |nRow,nCol| MsgStop( oRs:Fields( "apelido" ):Value ) }
    oBrw:nHeaderStyle  := 2
    oBrw:nHeaderHeight := 20
    oBrw:nLineHeight   := 15
    oBrw:bLogicLen := { || oRs:RecordCount }
    oBrw:bGoTop    := { || oRs:MoveFirst() } 
    oBrw:bGoBottom := { || oRs:MoveLast() } 
    oBrw:bSkip     := { | nSkip | ADOSkipper( oRs, nSkip ) } 
    oBrw:cAlias    := "ARRAY" 

    @ 18.7 , 05 button btnprc prompt "&Procurar"  of oDlg2 size 40,12 Action RecPrc(oBrw)
    @ 18.7 , 15 button btnadc prompt "&Adicionar" of oDlg2 size 40,12 Action RecInc(oBrw)
    @ 18.7 , 25 button btnalt prompt "A&lterar"   of oDlg2 size 40,12 Action RecAlt(oBrw)
    @ 18.7 , 35 button btnexc prompt "&Excluir"   of oDlg2 size 40,12 Action RecExc(oBrw)
    @ 18.7 , 45 button btnimp prompt "&Imprimir"  of oDlg2 size 40,12 
    @ 18.7 , 55 button btnsai prompt "&Sair"      of oDlg2 size 40,12 Action oDlg2:End()

    ACTIVATE DIALOG oDlg2
    RETURN NIL

static function  RecInc(oLbx)
    LOCAL odlg3
    LOCAL cNome     := space(40)
    LOCAL cTelefone := space(14)
    LOCAL cEndereco := space(45)
    LOCAL cSair     := " "
    DEFINE DIALOG oDlg3 From 0,0 To 230,500 PIXEL TITLE " Inclusao na Tabela em Access " 
    DEFINE FONT oFont NAME "FIXEDSYS" SIZE 10, -10    && Use a Nonproportional font
    SET FONT OF oDlg3 TO oFont                         && so characters line up in Says
    @ 02,05 say "Nome_____: " OF oDlg3 
    @ 03,05 say "Telefone_: " OF oDlg3
    @ 04,05 say "Endereco_: " OF oDlg3 
    @ 02.2,10 get cNome     OF oDlg3 picture "@!" size 150,10
    @ 03.3,10 get cTelefone OF oDlg3 picture "(99)9999-9999" size 100,10   valid !empty(cNome)
    @ 04.4,10 get cEndereco OF oDlg3 picture "@!" size 150,10
    @ 04.7 , 15 button "Salvar"   of oDlg3 size 40,12 action (cSair:="*",oDlg3:End())
    ACTIVATE DIALOG oDlg3 centered 
    if cSair="*"
       ADO APPEND BLANK
       ADO REPLACE nome        WITH cNome
       ADO REPLACE fone        WITH cTelefone
       ADO REPLACE endereco    WITH cEndereco
       ADO COMMIT 
       oLbx:Refresh()
    endif
    return nil

static function  RecExc(oLbx)
    if MsgYesNo( "Excluir este Registro ?", "Por Favor, confirme" )
       ADO DELETE
       ADO SKIP
       oLbx:Refresh()
    endif
    return nil

static function  RecAlt(oLbx)
    LOCAL odlg3
    LOCAL cNome     := oRs:Fields( "nome" ):Value
    LOCAL cTelefone := oRs:Fields( "fone" ):Value
    LOCAL cEstado   := oRs:Fields( "endereco" ):Value
    LOCAL cSair     := " "
    DEFINE DIALOG oDlg3 From 0,0 To 230,500 PIXEL TITLE " Inclusao na Tabela em Access " 
    DEFINE FONT oFont NAME "FIXEDSYS" SIZE 10, -10    && Use a Nonproportional font
    SET FONT OF oDlg3 TO oFont                         && so characters line up in Says
    @ 02,05 say "Nome_____: " OF oDlg3 
    @ 03,05 say "Telefone_: " OF oDlg3
    @ 04,05 say "Endereco_: " OF oDlg3 
    @ 02.2,10 get cNome     OF oDlg3 picture "@!" size 150,10
    @ 03.3,10 get cTelefone OF oDlg3 picture "(99)9999-9999" size 100,10   valid !empty(cNome)
    @ 04.4,10 get cEndereco OF oDlg3 picture "@!" size 150,10
    @ 04.7 , 15 button "Salvar"   of oDlg3 size 40,12 action (cSair:="*",oDlg3:End())
    ACTIVATE DIALOG oDlg3 centered 
    if cSair="*"
       ADO UPDATE
       ADO REPLACE nome        WITH cNome
       ADO REPLACE fone        WITH cTelefone
       ADO REPLACE endereco    WITH cEndereco
       ADO COMMIT 
       oLbx:Refresh()
    endif
    return nil
Fiz este exemplo pois pretendo colocar em minha aplicação modulo de acesso on-line em web-site e portais que crio. Esta bem basico também mas da pra ter uma noção de que pode-se fazer o mesmo que se faz em VB, FOX, Etc com a diferença de ter o gostinho do eu que fiz.

@braços :?)

Enviado: 02 Nov 2006 13:30
por vagucs
Como vc já tem um bom conhecimento da linguagem xBase, o melhor caminho é mesmo o xHarbour, pois tem a meu ver um grande futuro, uma que por ser uma maquina virtual, o seu programa já roda exatamente como no clipper e em qualquer sistema operacional.

Para migrar seus aplicativos já existentes vc pode preservar ainda 99% do seu código fonte, ganhando e muito no apelo visual, segurança, velocidade, pois o sistema no final é compilado em C, vc ainda pode acessar qualquer tipo de banco relacional preservando o codigo fonte e tudo o que vc já sabe, roda como cgi, pode ver um exemplo acessando DBF com NTX online www.vagucs.com.br/cgi-bin/auto.exe

É uma ferramenta muito boa e pelo visto não vai parar nunca, no Linux então o sistema decola, devido a emulação de terminal, onde vc pode acessar o sistema remoto até via acesso discado com performance no topo.

Uso Delphi, tenho o Delphi 5 registrado, mas o xHarbour tem me tantos recursos que eu nunca achei no Delphi, eu até uso recursos do Delphi nele via DLLs, é um caso a se pensar quando vc não tem tempo para aprender uma nova linguagem, veja no meu site na sessão assessorias as telas do sistema da Terrawsoftware que foi compilado em xHarbour para modo janela no Windows preservando 99% do codigo fonte, o sistema ficou lindo , a versão foi lançada pela terrasoftware em fevereiro deste ano e eles dispensaram o projeto de Delphi qeu estava no inicio e foi feito para substituir o aplicativo de clipper, hoje o mesmo fonte roda em Clipper para DOS e Windows e não sei, mas acho que já deva estar rodando em Linux também, as possibilidades são infinitas, fiz ano passado um aplicativo em Palm que fala direto com um aplicativo em xHarbour e sincroniza os dados diretamente para base DBF local, cara, é muiiiiiiiiiiiiiiiitttttttttttttttttoooooooooooooooo bom.

Re: A questão é: pra onde ir?

Enviado: 05 Nov 2006 18:45
por Maligno
Bisteca escreveu:Olá amigos escovadores de bits.
Preciso mudar pro visual, qual o melhor caminho.
Vb, Delphi com .Net ou não, talvez Java.
Caro Amigo,

Responder essa pergunta é muito difícil, senão impossível, sem conhecer quais são seus planos para o futuro.
Apesar de você já programar em Xbase, dizer que ir pro XHarbour é o melhor caminho, soa meio irresponsável. Você pode ser um grande programador XBase, mas isso não quer dizer que continuar no XBase seja o melhor caminho. Sendo um programador muito bom em XBase (ou mesmo não sendo), talvez o melhor caminho seja justamente ir atrás de uma linguagem melhor, que lhe permita ir mais longe.
O XHarbour pode se tornar uma boa escolha por um lado, mas por outro lado pode ser uma péssima escolha. Depende das suas conveniências, suas obrigações, suas aspirações.

Baseado apenas no "efeito visual", posso dizer que uma ferramenta com um bom conjunto IDE/framework deverá atendê-lo muito bem nesse aspecto. Aí temos o Delphi, VB, VFP, etc. Falando apenas em desktop. Mas quando digo IDE, não me refiro às pseudo-IDEs que apenas permitem arrastar um botão ou caixa de texto, claro. Me refiro a um produto completo.

.NET ou não? Li um artigo interessante que dá conta de que uma boa parte do público, que baixou e testou os novos (e gratuitos) Turbos da Borland, não quer nem saber de .NET. Se não me falha a memória: 48% preferiram Delphi/VCL, 24% preferiram o Turbo C++ e o restante ficou dividido entre Delphi/.NET e Turbo C#. Se isso puder ser tomado como um termômetro, dá pra perceber que .NET não está com essa bola toda. Pra mim não está mesmo. A idéia de ter código gerenciado (VM, como o XHarbour) me soa como amarrar uma bola de ferro na perna do programa.
Aliás, se puder, baixe e teste um Turbo, que seja apenas pra ter idéia de como é um produto realmente bem feito. Acredito que você vai gostar muito.

Java é uma alternativa multi-plataforma bem interessante. O mercado de trabalho, pelo menos, parece estar mais favorável pra Java do que pra XHarbour. Se o mercado de trabalho for um aspecto relevante para você, claro.

Aprender outro paradigma de programação é uma coisa muito relativa. Muitos dos que migraram pra XHarbour nunca se aprofundaram em OOP (que no XHarbour, me disseram há poucos dias, ainda está meia-boca). Logo, não há mudança de paradigma pra essa turma. Eles apenas fizeram uma conversão de 16 pra 32 bits.

Aprender outra linguagem pode se tornar um parto de cabeça-pra-baixo. Exige muita dedicação e tempo disponível. Começar do zero é realmente muito difícil. Eu sei porque passei por isso. E de certa forma, ainda passo. Mudei do limitado XBase do Clipper para a complexidade de C++, com OOP de verdade. Hoje já está muito mais fácil. Estou terminando meu primeiro sistema de informação, acessando Firebird. Inclusive, é graças a ele que demorei em responder sua MP.
Aliás, posso falar muito bem das ferramentas Borland. Apesar de dizerem que no XHarbour se tem mais, posso dizer exatamente o contrário: o XHarbour nunca chegará ao nível de um Delphi (nem VB, VFP, etc). Isso é absolutamente impossível. Sua única vantagem é ter o port para Linux, que eu dispenso totalmente, por enquanto. Eu penso desta forma com base no que vejo, percebo e analiso: o XHarbour chegou atrasado na festa. Pelo menos uns 5/10 anos. E quando veio estava incompleto. Ainda está e, pelo jeito, não ficará muito diferente disso. Nem mesmo um help decente tem. Muito mais deveria ter sido feito e não foi. Realmente, pra mim, não dá pra acreditar em XBase. Pra mim essa época já passou, felizmente.

Agora, conselho mesmo eu lhe dou apenas um: experimente tudo o que achar interessante. Se você tem a prerrogativa de poder decidir o próprio futuro, melhor ainda. Mas não se esqueça de que o seu futuro pode depender do futuro dos outros. Se você é autônomo, um dia pode se tornar patrão e precisar contratar. Portanto, pense que será muito mais fácil e barato encontrar um programador Delphi (por exemplo) do que um programador XBase. Ou seja, pondere bem a respeito e analise todos os fatores envolvidos. Não só os de hoje, mas também os do futuro.

Aliás, mais um conselho: analise muito bem o aspecto suporte. Não só a quantidade de fóruns onde haverão colegas dispostos a ajudá-lo quando os problemas surgirem, mas também na quantidade de material didátivo publicado e também na quantidade de componentes para implementar coisas corriqueiras do dia-a-dia, ou mesmo muito especializadas. Mesmo correndo o risco de dizerem que sou inimigo do XHarbour, me vejo obrigado a dizer que, nesse ponto, o xHarbour perde feio. Ganham as ferramentas mais populares, principalmente da MS e Borland.

[]'s
Maligno
http://www.buzinello.com/prg

Enviado: 05 Nov 2006 21:53
por rochinha
Amiguinhos

O Maligno este certo no quesito suporte mas, Habemus Chester o xHarbour não tem por tras dele um $Bill Gate$ ou uma $Borland$ portanto suas ferramentas quando surgem quebram qualquer coisa mas ainda assim devemos bater palmas para o pessoal que se dedica a tornar uma ferramenta gratuita num potencial para fazer milhares de programadores pensarem antes de gastar algo.

É lógico que as ferramentas periféricas necessárias ao Harbour tem um preço exorbitante o que faz pensar por que gastar mais de 1000 pilas pra adquirir um Fivewin, SQLLib, etc que possuem um pequeno suporte se pelo mesmo preço é possivel adquirir um Visual Basic ou Delphi que possuem um suporte estrondoso.

Como se o suporte fosse fazer nossos programas.

É claro que não, pois ao adquirir a ferramenta o que conta é a sagacidade do usuário e não o preço da ferramenta. O homem das cavernas fez a roda e o fogo usando o que tinha na mão, a pedra. Americanos gastaram milhões desenvolvendo uma caneta que escreve de ponta cabeça e os Russos foram as estrelas levando um Lapiz. O resultado foi o mesmo.

Eu tenho várias versões do Delphi, Visual Basic e FoxPro, xBase++, Modula, ADA, Fortran, COBOL, Lisp, etc, mas o tempo não me deixou testar o potencial de cada uma e cada vez mais descubro que tudo o que necessito fazer posso fazer com o Harbour.

Lógico que não seria impossivel fazer um sistema operacional completo mas convenhamos Harbour não é pra isto.

O que estou tentando passar não é a tecnologia a longo prazo e sim a produtividade a curto, muito curto prazo.

Se voce quer trabalhar com Visual Basic, Delphi, Turbo ou qualquer coisa mas só tem o conhecimento xBase, pelo menostransporte sua aplicação de forma rápida usando algo compativel, deixe seus clientes felizes e obtenha o tempo necessário para estudar novas ferramentas e quem sabe novas profissões.

Se o fator é tempo opte pelo Harbour ou algo compativel ao seu conhecimento.

Se o fator for dinheiro opte por adquirir as ferramentas mais atualizadas e compativeis também com o seu conhecimento e tempo de assimilar novos paradgmas.

@braços : ? )

Re: A questão é: pra onde ir?

Enviado: 09 Nov 2006 19:16
por diogenes_varela
Stanis Luksys escreveu:
Se ja tem o programa rodando em Clipper:
Vale a pena continuar no xBase, e manter seu código. Com certeza xHarbour com MiniGUI ou hwGUI, conforme citado pelo colega Vaílton. Possibilidade de utilizar os melhores BD do mercado, integração WEB, etc e tal. Nada lhe faltará.
Como não estou entendendo nada!!! melhor perguntar:

Você diz que o xHarbour é o ideal para manter o código, que é o meu caso, mas baixei-o e pelo visual acho melhor aprender delphi, VB ou coisa parecida...

Não vi como "aproveitar" meus códigos... Ou será que baixei o software errado?

Enviado: 09 Nov 2006 20:57
por vagucs
com certeza baixou errado, baixe em www.xharbour.org e veja as libs disponiveis, veja no meu site os screenshots do sistema da terrawsoftware, foi reaproveitado 100% do codigo fonte, se quiser ainda iode usar bibliotecas graficos tipo o fivewin porem gratuitas, como a minigui, o PRWIN mesmo foi feito em Delphi e depois eu reescrevi ele em xHarbour por ter mais recursos disponiveis, as rotinas de boleto bancario fiz em Delphi e uso nele, é muito legal o xHarbour.

Enviado: 10 Nov 2006 10:37
por diogenes_varela
vagucs escreveu:com certeza baixou errado, baixe em www.xharbour.org e veja as libs disponiveis, veja no meu site os screenshots do sistema da terrawsoftware, foi reaproveitado 100% do codigo fonte, se quiser ainda iode usar bibliotecas graficos tipo o fivewin porem gratuitas, como a minigui, o PRWIN mesmo foi feito em Delphi e depois eu reescrevi ele em xHarbour por ter mais recursos disponiveis, as rotinas de boleto bancario fiz em Delphi e uso nele, é muito legal o xHarbour.
Amigo, desculpe a minha total ignorância nesse assunto. Enquanto vocês tiverem paciência para responder, vou perguntar o que não conseguir entender. Futuramente com certeza estarei contribuindo também, mas por enquanto estou tentando me localizar...


Não consegui entender o que devo baixar do site q vc forneceu acima.
Para mim ainda é uma sopa de letrinhas. 8-|

Por acaso seria este?
xHarbour source code in DOS/Windows format

E o miniGui q foi falado, também não consegui visualizar...

Estou lisonjeado com a presteza de vocês...

Enviado: 10 Nov 2006 11:03
por momente
Amigo diogenes_varela,

Eu passei por este dilema a mais ou menos 1 ano, não sabia também que caminho tomar, tenho vários clientes em clipper/Visual Lib, até que um dia um possível cliente não quis meu projeto porque achou ultrapassado, cara foi terrível, mas valeu pois procurei a turma aqui como vc esta fazendo é consegui reabrir meu horizonte, hoje eu tenho muitos clientes usando o clipper/visual lib, mas ja tenho alguns com xharbour/minigui e outros com xharbour/Visual Lib/gtwvt (em janela), isto tudo é praticamente automático, lógico vc vai ter que testar, entender a coisa só que a resposta pra quem tem conhecimento xbase e um sistema pronto é mais rápido que aprender uma nova linguagem e depois começar a desenvolver. Então aconselho o seguinte:

1) Compile se programa com xharbour (ele estará automáticamente saindo dos 16bit para 32bit);
2) Como vc procura um visual melhor para o seu sistema, baixe a minigui ou a hwgui, são free, vc terá que rescrever muita coisa no seu sistema, mas a sintaxe é xbase, vai ficar bem familiar a coisa;
3) Pesquise, faça busca aqui no fórum, faça amizade com a turma, use o google, coloque os cara no seu msn, troque idéias, pois eu acho que vale a pena apreder, mas vc deve ponderar suas necessidades e tempo, talves em breve vc terá mais tempo para conhecer novos horizontes.

Valeu! :)Pos