Obs : já perceberam uma coisa ?
depois que surgiu o x/harbour - hwgui, minigui etc,etc... vcs estão se estapeando para fazer o outro engolir algo... (literalmente) . Parem pra pensar !!
Peguei alguns trechos de conversas em outros foruns para analisar e cheguei a conclusão de que isto esta mais para um problema do que uma solução !!
Vejam o trecho abaixo ; para que tanto trabalho se vc pode apenas num click criar um executável ??
Código: Selecionar todos
- baixe o CVS em http://www.tortoisecvs.org/
- depois de instalado, ele pedirá para rebootar a máquina, faça isso
- depois de iniciado o Windows, abra o Windows Explorer
- clique com o botão direito em C:\ e escolha "CVS Obter Módulo..."
- abrirá uma janela pedindo informações, abaixo segue o que deve ser preenchido :
** protocol : pserver
** server : cvs.sf.net
** repository folder : /cvsroot/hwgui
** user name : anonymous
** module : hwgui
** senha : tecle enter
em uma janela, será mostrado o progresso da instalação dos arquivos da HwGUI no C:\ da sua máquina na pasta HwGUI, quando terminar, basta clicar no OK
Para compilar a lib HwGUI :
- abra uma janela do DOS
- vá para a pasta HwGUI
- digite "set HB_PATH=c:\xharbour" (sem as aspas)
- digite "make_b32 clean"
- digite make_b32
Ps: Borland c++ instalado em c:\bcc55 e xharbour instalado de c:\xharbour (baixe os binarios oficiais do xharbour de www.xharbour.org
e adicione como ultima linha de seu autoexec.bat (coloque essas linhas antes de dar o reboot por causa do tortoise cvs
set hb_path=c:\xharbour
set path=c:\xharbour\bin;c:\bcc55\bin;%path%
Todo mundo diz que quer funcionalidade e q não tem tempo pra isso ou aquilo...
Gente vamos cair na real ...
Todo mundo deveria pesquisar, ler bastaaaaaaaaaaante mesmo , ir em palestras e cursos em BH, antes de dar um tiro no escuro.
No VFP vc pode: criar Dlls, chamar um EXE dentro de outro EXE,ou seja planejar seu código , sem precisar tornar o program um monstro, de tão grande...
Quando vc seleciona a opção de encriptação, o mínimo do código vai para o instalável, caso contrário até os comentários , com o Inno setup ou com o InstallShield (vem com o VFP 7), fica molezinha a instalação.
No VFP 5, o próprio cria o instalável pra vc...
Programa simples em clipper
Código: Selecionar todos
*----------------------------------------------------------------------------*
* RRF Sistemas de Informacao. Departamento de Software *
*----------------------------------------------------------------------------*
* Sistema .: Sistema de Gestao Financeira Versao : 2.00 *
* Analise .: Renato Ribeiro Ferreira *
*----------------------------------------------------------------------------*
* Programa : BC.PRG Versao : 2.00.02 *
* Tipo ....: Gerenciador Principal Escrita: 10/07/92 *
* Autor ...: Renato Ribeirop Ferreira Usando : Clipper 5.01 Mult User *
*----------------------------------------------------------------------------*
* Funcao ..: Gerenciador do Sistema *
*----------------------------------------------------------------------------*
* Data Responsavel Local Manutencao *
*----------------------------------------------------------------------------*
* 19/09/92 Renato M Service Original *
* 19/09/92 Renato M Service Layout Handler de PRG *
* 19/09/92 Renato M Service Picture Codcli03 *
* 28/10/98 Renato Imperio Identifica‡„o Revenda ou Consumidor *
*----------------------------------------------------------------------------*
* Objetos Utilizados *
*----------------------------------------------------------------------------*
* Arquivos .: *
* Graficos .: *
* Relatorios: *
* SubRotinas: *
* Telas ....: Tela do Sistema *
*----------------------------------------------------------------------------*
* Detalhes Adicionais *
*----------------------------------------------------------------------------*
Local GetList := {},BoxComp0,BoxComp1
sele A
use gfa003 index gfa103,GFA203
op1 = 1
ftelcad(" CADASTRO DE CLIENTES ")
do while .t.
tone(1000,1)
@ 04,00 say space(79)
@ 06,36 prompt ' Inclus„o ' message ' Inclus„o de CLIENTE.'
@ 06,48 prompt ' Altera‡„o ' message ' Altera‡„o de CLIENTE.'
@ 06,61 prompt ' Exclus„o ' message ' Exclus„o de CLIENTE.'
@ 06,73 prompt ' Fim ' message ' Fim das opera‡oes.'
menu to op1
if op1 = 4 .or. lastkey() = 27
close data
release all
return
endif
do while .t.
@ 04,00 say space(79)
stor 0 to codcli, codage, cpames, cpaano, przpgt
nomcli := nomfan := space(36) ; nf := " "
endcli := space(36)
endrec := space(36)
baicli := space(20)
bairec := space(20)
cidcli := space(20)
cidrec := space(20)
estcli := space(02)
estrec := space(02)
cepcli := space(08)
ceprec := space(08)
telcli := space(11)
datnsc := ctod(' / / ')
cgccpf := space(14)
insest := space(15)
identi := space(15)
nomage := space(20)
nrocta := space(10)
ultcpa := ctod(' / / ')
contat := space(20)
chfcpa := 0
situac := space(01)
DatInc := ctod(' / / ')
Comp_1 := Comp_M := Comp_U := ctod(' / / ')
CompV1 := CompVM := CompVU := 0.00
N_Fax_ := N_Celu := space(14)
RamAti := space(15)
Catego := "C"
conf := " "
@ 08,02 say "C¢digo...: Nome..: F.: "
@ 09,02 say "Endere‡o.: Data Nasc: "
@ 10,02 say "Bairro...: Cep......: "
@ 11,02 say "Cidade...: Estado...: "
@ 12,02 say "CGC/CPF..: Insc. Est: "
@ 13,02 say "Identid..: Telefone.: "
@ 14,02 say "C¢d.agenc: Cta Bco..: "
@ 15,02 say "Ult. cpa.: Cpa. mes.: "
@ 16,02 say "Contato..: Cpa. ano.: "
@ 17,02 say "Vendedor.: Prz.pgto.: "
@ 18,02 say "End. Rec.: Etiqueta.: "
@ 19,02 say "Bairro...: Cep......: "
@ 20,02 say "Cidade...: Estado...: "
go bott
codcli := codcli03 + 1
@ 08,13 get codcli pict '999999999999' && valid codcli = 0 .or. fdig11(codcli)
read
if codcli = 0 .or. lastkey() = 27
exit
endif
seek codcli
if eof() .and. op1 # 1
fmsg("Cliente n„o cadastrado",2)
loop
endif
if found()
codcli := codcli03 ; nomcli := nomcli03
nomfan := nomfan03 ; endcli := endcli03
baicli := baicli03 ; cidcli := cidcli03
estcli := estcli03 ; cepcli := cepcli03
telcli := telcli03 ; datnsc := datnsc03
cgccpf := cgccpf03 ; insest := insest03
identi := identi03 ; nomage := nomage03
codage := codage03 ; nrocta := nrocta03
ultcpa := ultcpa03 ; cpames := cpames03
cpaano := cpaano03 ; contat := contat03
chfcpa := chfcpa03 ; przpgt := przpgt03
endrec := endrec03 ; situac := situac03
bairec := bairec03 ; cidrec := cidrec03
estrec := estrec03 ; ceprec := ceprec03
If !Empty(nomfan)
nf := "S"
EndIf
@ 08,34 get nomcli pict '@!'
@ 09,13 get endcli pict '@!'
@ 09,63 get datnsc
@ 10,13 get baicli pict '@!'
@ 10,63 get cepcli pict '@!'
@ 11,13 get cidcli pict '@!'
@ 11,63 get estcli pict '@!'
@ 12,13 get cgccpf pict '@!'
@ 12,63 get insest pict '@!'
@ 13,13 get identi pict '@!'
@ 13,63 get telcli pict '@R (!!!!)-!!!-!!!!'
@ 14,13 get codage pict '9999-9'
@ 14,21 get nomage pict '@!'
@ 14,63 get nrocta pict '@!'
// @ 15,63 get cpames pict '@E 9,999,999.99'
// @ 16,63 get cpaano pict '@E 9,999,999,999.99'
@ 16,13 get contat pict '@!'
@ 17,13 get chfcpa pict '99'
@ 17,63 get przpgt pict '99'
@ 18,13 get endrec pict '@!'
@ 18,63 get situac pict '!'
@ 19,13 get bairec pict '@!'
@ 19,63 get ceprec pict '@!'
@ 20,13 get cidrec pict '@!'
@ 20,63 get estrec pict '@!'
clear gets
if op1 = 1
fmsg("Cliente j cadastrado",2)
loop
endif
if op1 = 3
@ 22,01 say space(79)
@ 22,01 say 'Confirma exclusao (S/N) ? ' get conf valid conf $'SsNn'
read
if upper(conf) = 'S'
delete
endif
@ 22,01 say space(79)
loop
endif
endif
@ 15,13 get ultcpa
@ 15,63 get cpames pict '@E 9,999,999.99'
@ 16,63 get cpaano pict '@E 9,999,999,999.99'
clear gets
@ 08,34 get nomcli pict '@!' && valid fsp(nomcli)
@ 08,74 get nf pict "!" valid FFantasia(nf)
@ 09,13 get endcli pict '@!' && valid fsp(endcli)
@ 09,63 get datnsc
@ 10,13 get baicli pict '@!' && valid fsp(baicli)
@ 10,63 get cepcli pict '@!' && valid fsp(cepcli)
@ 11,13 get cidcli pict '@!' && valid fsp(cidcli)
@ 11,63 get estcli pict '@!' && valid fuf(estcli)
@ 12,13 get cgccpf pict '@!' valid fcgccpf(cgccpf)
@ 12,63 get insest pict '@!' && valid fsp(insest)
@ 13,13 get identi pict '@!' && valid fsp(identi)
@ 13,63 get telcli pict '@R (!!!!)-!!!-!!!!'&& valid fsp(telcli)
@ 14,13 get codage pict '9999-9'
@ 14,21 get nomage pict '@!'
@ 14,63 get nrocta pict '@!' && valid fsp(nrocta)
@ 16,13 get contat pict '@!'
@ 17,13 get chfcpa pict '99'
@ 17,63 get przpgt pict '99'
@ 18,13 get endrec pict '@!'
@ 18,63 get situac pict '!' valid situac $'SN'
@ 19,13 get bairec pict '@!'
@ 19,63 get ceprec pict '@!'
@ 20,13 get cidrec pict '@!'
@ 20,63 get estrec pict '@!' valid fuf(estrec)
read
OldCor0 := SetColor()
BoxComp0 := Boxcc(10,09,10,20,69,5,.t.,7)
BoxComp1 := Boxcc(11,09,10,09,69,1,.f.,6)
@ 09,10 Say Padc(" Dados Complementares ",60)
SetColor('w+/B,b/w,,,G+/B')
@ 11, 11 say "Vect§ Cart„o ¯ "
@ 12, 11 say "Lim. Cr‚dito ¯ ¯ R$ "
@ 13, 11 say "Saldo.Rest.. ¯ ¯ R$ "
@ 14, 11 say " Ult. Compra ¯ ¯ R$ "
@ 15, 11 say " Fax ¯ "
@ 16, 11 say " Celular ¯ "
@ 17, 11 say " Ramo Ativid ¯ Categoria ¯ "
datinc:= datven03
comp_1:= comp_103
comp_m:= comp_m03
comp_u:= comp_u03
compv1:= compv103
compvm:= compvm03
compvu:= compvu03
n_fax_:= n_fax_03
n_celu:= n_celu03
ramati:= ramati03
catego:= catego03
@ 11, 26 Get DatInc
@ 12, 26 Get Comp_1
@ 12, 41 Get CompV1 Pict "@E 999,999.99" color "G+/b"
@ 13, 26 Get Comp_M
@ 13, 41 Get CompVM Pict "@E 999,999.99" color ("GR+/b")
@ 14, 26 Get Comp_U
@ 14, 41 Get CompVU Pict "@E 999,999.99" color ("BG+/b")
@ 15, 26 Get N_Fax_
@ 16, 26 Get N_Celu
@ 17, 26 Get RamAti
Read
CleaBox(09,10,20,69,BoxComp0)
SetColor(OldCor0)
@ 22,01 say space(79)
if op1 = 2
@ 22,01 say "Confirma altera‡„o (S/N) ? " get conf valid conf $'SsNn'
else
@ 22,01 say "Confirma inclus„o (S/N) ? " get conf valid conf $'SsNn'
endif
read
@ 22,01 say space(79)
if upper(conf) = 'S'
if op1 = 1
append blank
endif
replace codcli03 with codcli, nomfan03 with nomfan
replace nomcli03 with nomcli, Datven03 with DatInc
replace endcli03 with endcli, Comp_103 with Comp_1
replace baicli03 with baicli, Comp_M03 with Comp_M
replace cidcli03 with cidcli, Comp_U03 with Comp_U
replace estcli03 with estcli, CompV103 with CompV1
replace cepcli03 with cepcli, CompVM03 with CompVM
replace telcli03 with telcli, CompVU03 with CompVU
replace datnsc03 with datnsc
replace cgccpf03 with cgccpf, N_Fax_03 with N_Fax_
replace insest03 with insest, N_Celu03 with N_Celu
replace identi03 with identi, RamAti03 with RamAti
replace codage03 with codage, Catego03 with Catego
replace nomage03 with nomage
replace nrocta03 with nrocta
replace ultcpa03 with ultcpa
replace cpames03 with cpames
replace cpaano03 with cpaano
replace contat03 with contat
replace chfcpa03 with chfcpa
replace przpgt03 with przpgt
replace codope03 with codope
replace endrec03 with endrec
replace situac03 with situac
replace bairec03 with bairec
replace cidrec03 with cidrec
replace estrec03 with estrec
replace ceprec03 with ceprec
endif
enddo
enddo
Return
O mesmo programa simples convertido para VFP (todos)
eu mesmo o fiz...e não me cobrei nada (hehe)
Código: Selecionar todos
*----------------------------------------------------------------------------*
* RRF Sistemas de Informacao Departamento de Software *
*----------------------------------------------------------------------------*
* Sistema .: Sistema de Gestao Financeira Versao : 2.00 *
* Analise .: Renato Ribeiro Ferreira *
*----------------------------------------------------------------------------*
* Programa : BC.PRG Versao : 2.00.02 *
* Tipo ....: Gerenciador Principal Escrita: 10/07/92 *
* Autor ...: Renato Ribeirop Ferreira Usando : Clipper 5.01 Mult User *
*----------------------------------------------------------------------------*
* Funcao ..: Gerenciador do Sistema *
*----------------------------------------------------------------------------*
* Data Responsavel Local Manutencao *
*----------------------------------------------------------------------------*
* 19/09/92 Renato M Service Original *
* 19/09/92 Renato M Service Layout Handler de PRG *
* 19/09/92 Renato M Service Picture Codcli03 *
* 28/10/98 Renato Imperio Identifica‡„o Revenda ou Consumidor *
*----------------------------------------------------------------------------*
* Objetos Utilizados *
*----------------------------------------------------------------------------*
* Arquivos .: *
* Graficos .: *
* Relatorios: *
* SubRotinas: *
* Telas ....: Tela do Sistema *
*----------------------------------------------------------------------------*
* Detalhes Adicionais *
*----------------------------------------------------------------------------*
Local BoxComp0,BoxComp1,TelCad
Set SysMenu off
Set Status Bar Off
USE gfa003 Alias Clientes IN 0 && Order Tag gfa003
Select Clientes
Set Order to TAG TGFA103
op1 = 1
Do ftelcad1 with "Manutenção de Clientes",0,1,35,88
do while .t.
@ 00,00 clear to 03,87
@ 00,00 prompt ' \<Inclusão '
@ 00,col()+1 prompt ' \<Alteração '
@ 00,col()+1 prompt ' \<Exclusão '
@ 00,col()+1 prompt ' \<Fim '
menu to op1
If op1 = 4
Close Database
Release Window fontchar
_screen.cls
Set SysMenu on
Set Status Bar On
Return
Endif
If op1 <> 1 .and. op1 <> 2 .and. op1 <> 3
Loop
Endif
Do While .t.
Clear
If op1 = 1
@ 00,70 Say "Inclusão" FONT 'Arial', 16
endif
stor 0 to codcli, codage, cpames, cpaano, przpgt
Stor space(36) to nomcli, nomfan
nf = " "
endcli = space(36)
endrec = space(36)
baicli = space(20)
bairec = space(20)
cidcli = space(20)
cidrec = space(20)
estcli = space(02)
estrec = space(02)
cepcli = space(08)
ceprec = space(08)
telcli = space(11)
datnsc = ctod(' / / ')
Stor space(14) to N_Fax_ , N_Celu ,cgccpf
insest = space(15)
identi = space(15)
nomage = space(20)
nrocta = space(10)
ultcpa = ctod(' / / ')
contat = space(20)
chfcpa = 0
situac = space(01)
DatInc = ctod(' / / ')
Stor ctod(' / / ') to Comp_1,Comp_M,Comp_U
Stor 0.00 to CompV1,CompVM, CompVU
RamAti = space(15)
Catego = "C"
datinc = datven03
comp_1 = comp_103
comp_m = comp_m03
comp_u = comp_u03
compv1 = compv103
compvm = compvm03
compvu = compvu03
n_fax_ = n_fax_03
n_celu = n_celu03
ramati = ramati03
catego = catego03
wjuros = juros_03
coltxt = 01
@ 04,coltxt say "Código...» Nome..» F.» "
@ row()+1.2,coltxt say "Endereço.» Data Nasc» "
@ row()+1.2,coltxt say "Bairro...» Cep......» "
@ row()+1.2,coltxt say "Cidade...» Estado...» "
@ row()+1.2,coltxt say "CGC/CPF..» Insc. Est» "
@ row()+1.2,coltxt say "Identid..» Telefone.» "
@ row()+1.2,coltxt say "Cód.agenc» Cta Bco..» "
@ row()+1.2,coltxt say "Ult. cpa.» Cpa. mes.» "
@ row()+1.2,coltxt say "Contato..» Cpa. ano.» "
@ row()+1.2,coltxt say "Vendedor.» Prz.pgto.» "
@ row()+1.2,coltxt say "End. Rec.» Etiqueta.» "
@ row()+1.2,coltxt say "Bairro...» Cep......» "
@ row()+1.2,coltxt say "Cidade...» Estado...» "
Do Frame with "",20,.10,30,86
coltxt = 10
@ 21,coltxt say "Vectº Cartão » Juros » % "
@ row()+1.2,coltxt say "Lim. Crédito » » R$ "
@ row()+1.2,coltxt say "Saldo.Rest.. » » R$ "
@ row()+1.2,coltxt say " Ult. Compra » » R$ "
@ row()+1.2,coltxt say " Fax » "
@ row()+1.2,coltxt say " Celular » "
@ row()+1.2,coltxt say " Ramo Ativid » Categoria » "
@ 04,12 get codcli pict '999999999999' && valid codcli = 0 .or. fdig11(codcli)
read
if Empty(codcli) .or. lastkey() = 27
exit
endif
Seek codcli
If !Found() .and. op1 # 1
Messagebox("O código que você digitou não foi encontrado...",16,"Aviso")
Loop
Endif
If Found()
nomcli = nomcli03
nomfan = nomfan03
endcli = endcli03
baicli = baicli03
cidcli = cidcli03
estcli = estcli03
cepcli = cepcli03
telcli = telcli03
datnsc = datnsc03
cgccpf = cgccpf03
insest = insest03
identi = identi03
nomage = nomage03
codage = codage03
nrocta = nrocta03
ultcpa = ultcpa03
cpames = cpames03
cpaano = cpaano03
contat = contat03
chfcpa = chfcpa03
przpgt = przpgt03
endrec = endrec03
situac = situac03
bairec = bairec03
cidrec = cidrec03
estrec = estrec03
ceprec = ceprec03
Endif
If Found() .and. op1 = 1
Messagebox("O código que você digitou já está em uso...",16,"Aviso")
loop
endif
@ 4.0 ,33 get nomcli pict '@!' && valid fsp(nomcli)
@ 4.0 ,75 get nf pict "!" && valid FFantasia(nf)
@ row()+1.2,12 get endcli pict '@!' && valid fsp(endcli)
@ row() ,62 get datnsc
@ row()+1.2,12 get baicli pict '@!' && valid fsp(baicli)
@ row() ,62 get cepcli pict '@!' && valid fsp(cepcli)
@ row()+1.2,12 get cidcli pict '@!' && valid fsp(cidcli)
@ row() ,62 get estcli pict '@!' && valid fuf(estcli)
@ row()+1.2,12 get cgccpf pict '@!' && valid fcgccpf(cgccpf)
@ row() ,62 get insest pict '@!' && valid fsp(insest)
@ row()+1.2,12 get identi pict '@!' && valid fsp(identi)
@ row() ,62 get telcli pict '@R (!!!)-!!!!-!!!!'&& valid fsp(telcli)
@ row()+1.2,12 get codage pict '9999-9'
@ row() ,22 get nomage pict '@!'
@ row() ,62 get nrocta pict '@!' && valid fsp(nrocta)
@ row()+2.4,12 get contat pict '@!'
@ row()+1.2,12 get chfcpa pict '99'
@ row() ,62 get przpgt pict '99'
@ row()+1.2,12 get endrec pict '@!'
@ row() ,62 get situac pict '!' &&valid situac $'SN'
@ row()+1.2,12 get bairec pict '@!'
@ row() ,62 get ceprec pict '@!'
@ row()+1.2,12 get cidrec pict '@!'
@ row() ,62 get estrec pict '@!' &&valid fuf(estrec)
@ 21 , 26 Get DatInc
@ 21 , 50 Get WJuros Pict "@ 999.99" color ,gr/b
@ row()+1.2 , 26 Get Comp_1
@ row() , 41 Get CompV1 Pict "@ 999,999.99" color ,G+/b
@ row()+1.2 , 26 Get Comp_M
@ row() , 41 Get CompVM Pict "@ 999,999.99" color ,GR+/b
@ row()+1.2 , 26 Say Comp_U
@ row() , 41 Say CompVU Pict "@ 999,999.99" color ,BG+/b
@ row()+1.2 , 26 Get N_Fax_
@ row()+1.2 , 26 Get N_Celu
@ row()+1.2 , 26 Get RamAti
read cycle
* 6=sim 7 = nao
If op1 = 1
MSalvar = Messagebox("Deseja incluir este registro ?",36,"Siadem pergunta")
endif
if op1 = 2
MSalvar = Messagebox("Deseja gravar esta alteração ?",36,"Siadem pergunta")
endif
if op1 = 3
MSalvar = Messagebox("Deseja excluir este registro ?",36,"Siadem pergunta")
endif
if MSalvar = 6
if op1 = 1
append blank
endif
replace codcli03 with codcli, nomfan03 with nomfan
replace nomcli03 with nomcli, Datven03 with DatInc
replace endcli03 with endcli, Comp_103 with Comp_1
replace baicli03 with baicli, Comp_M03 with Comp_M
replace cidcli03 with cidcli, Comp_U03 with Comp_U
replace estcli03 with estcli, CompV103 with CompV1
replace cepcli03 with cepcli, CompVM03 with CompVM
replace telcli03 with telcli, CompVU03 with CompVU
replace datnsc03 with datnsc
replace cgccpf03 with cgccpf, N_Fax_03 with N_Fax_
replace insest03 with insest, N_Celu03 with N_Celu
replace identi03 with identi, RamAti03 with RamAti
replace codage03 with codage, Catego03 with Catego
replace nomage03 with nomage, juros_03 with wjuros
replace nrocta03 with nrocta
replace ultcpa03 with ultcpa
replace cpames03 with cpames
replace cpaano03 with cpaano
replace contat03 with contat
replace chfcpa03 with chfcpa
replace przpgt03 with przpgt
replace codope03 with codope
replace endrec03 with endrec
replace situac03 with situac
replace bairec03 with bairec
replace cidrec03 with cidrec
replace estrec03 with estrec
replace ceprec03 with ceprec
flush
endif
Enddo
Enddo
Return
****************************************************************
mais prático e objetivo que isto é impossível ... :? só um milagre !!
:xau