Cadastro CLIPPER/XHARBOUR para FIVE... (RESOLVIDO)

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

Avatar do usuário
FARLEY RIBEIRO
Usuário Nível 2
Usuário Nível 2
Mensagens: 89
Registrado em: 24 Jul 2007 10:26
Localização: MONTES CLAROS-MG

Cadastro CLIPPER/XHARBOUR para FIVE... (RESOLVIDO)

Mensagem por FARLEY RIBEIRO »

Como ficaria esse cadastro no five, levando em conta a sintaxe @ say @ get

cls

do while .t.

select 1
use fabrica
set index to fabrica
go bottom
mCodigo = strzero(val(codigo), 4, 0)

@ 02, 00 to 22, 79
@ 02, 02 say "Cadastro de Fornecedores"
@ 05, 04 say "C¢digo ===========> "
@ 07, 04 say "Nome Fabricante ==> "

@ 05, 24 get mCodigo pict "@k ####" valid !empty(mCodigo)
read

if lastkey() = 27
close all
return 0
endif

mCodigo = strzero(val(mCodigo), 4, 0)
@ 05, 24 say mCodigo
seek (mCodigo)
if found()
MTEC = 4 // OPCAO DEFAULT (PROXIMO)
DO while MTEC = 4 .OR. MTEC = 5
select FABRICA
mCodigo = CODIGO
@ 05, 24 say mCodigo
@ 07, 24 SAY RAZAOSOC

@ 09, 02 prompt "ALTERAR"
@ 09, col()+2 prompt "EXCLUIR"
@ 09, col()+2 prompt "RETORNAR"
@ 09, col()+2 prompt "PROXIMO"
@ 09, col()+2 prompt "ANTERIOR"
menu to MTEC
if MTEC = 2
delete
skip
if eof()
go bottom
endif
elseif MTEC = 3
exit
elseif MTEC = 4
skip
if eof()
go bott
endif
elseif MTEC = 5
skip -1
if bof()
go top
endif
endif
ENDDO
ELSE
MTEC = 0
endif

IF !(MTEC=2 .OR. MTEC=3)
MDESC = RAZAOSOC

@ 07, 24 get MDESC
read

select FABRICA
seek mcodigo
if !found()
append blank
endif
rlock()
mgrava=.t.
replace CODIGO WITH MCODIGO
replace RAZAOSOC WITH MDESC
commit
unlock
endif

enddo

close all

return .t.


grato
Farley
Editado pela última vez por FARLEY RIBEIRO em 24 Out 2007 08:46, em um total de 1 vez.
Euclides
Usuário Nível 3
Usuário Nível 3
Mensagens: 154
Registrado em: 12 Mai 2007 14:07
Localização: São Paulo, Capital

Clipper para Five

Mensagem por Euclides »

Vamos lá...

/* Programa FWFABRICA.PRG
Compilar com: clipper fwabrica /n
blinker fi fwabrica @\fw24\include\fivewin.lnk
*/
#include "FiveWin.ch"

static cCod, cRazSoc

Function main()
local oWnd
DEFINE WINDOW oWnd TITLE " TITULO"
ACTIVATE WINDOW oWnd ON INIT DoDlg(oWnd) MAXIMIZED
return nil

Function DoDlg(oWnd)
local oDlg

SET DELETED ON

use fabrica
set index to fabrica
go bottom

DEFINE DIALOG oDlg OF oWnd TITLE " DIALOGO" FROM 2,2 TO 20, 70

@ 4.3, 8 say "Código : "
@ 6, 4 say "Nome Fabricante :"

@ 5, 8.7 GET cCod SIZE 17, 10 UPDATE
@ 7, 8.7 GET cRazSoc SIZE 85, 10 UPDATE

ACTIVATE DIALOG oDlg CENTER ON INIT SetupDlg(oDlg)

close all

oWnd:End()
return nil

Function SetupDlg(oDlg)
local oBar
DEFINE BUTTONBAR oBar 3DLOOK SIZE 70, 35 OF oDlg

DEFINE BUTTON OF oBar ACTION DoFun(1, oDlg) PROMPT "Alterar"

DEFINE BUTTON OF oBar ACTION DoFun(2, oDlg) PROMPT "Excluir"

DEFINE BUTTON OF oBar ACTION oDlg:End() PROMPT "Retornar"

DEFINE BUTTON OF oBar ACTION DoFun(5, oDlg) PROMPT "Anterior"

DEFINE BUTTON OF oBar ACTION DoFun(4, oDlg) PROMPT "Seguinte"
DoFun(0, oDlg)
return nil

Function DoFun(MTEC, oDlg)
if MTEC = 1
replace RAZAOSOC with cRazSoc
elseif MTEC = 2
delete
skip
if eof()
go bottom
endif
elseif MTEC = 4
skip
if eof()
go bott
endif
elseif MTEC = 5
skip -1
if bof()
go top
endif
endif
cCod = CODIGO
cRazSoc= RAZAOSOC
oDlg:Update()
return nil
// Eof

:-)))
Euclides
Avatar do usuário
FARLEY RIBEIRO
Usuário Nível 2
Usuário Nível 2
Mensagens: 89
Registrado em: 24 Jul 2007 10:26
Localização: MONTES CLAROS-MG

Cadastro no FIVEWIN similar ao CLIPPER

Mensagem por FARLEY RIBEIRO »

Obrigado Euclides...

Em parte funcionou o codigo.. agora estou precisando finalizar.

Vc tem msn para me dar uma força..

Ninguém mais se habilita para que eu possa explicar melhor...

Obrigado

Farley
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Tem que ser Fivewin ? vc comprou jah a versão comercial do Fivewin ?

Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
FARLEY RIBEIRO
Usuário Nível 2
Usuário Nível 2
Mensagens: 89
Registrado em: 24 Jul 2007 10:26
Localização: MONTES CLAROS-MG

Clipper para five

Mensagem por FARLEY RIBEIRO »

tem que ser five mesmo leonardo...

grato

farley
fw2.6/xhb9950/pellesc/mymake
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Tche, que mais vc quer alem do que o colega postou ?

Seria melhor vc postar suas duvidas..

Abraços
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
FARLEY RIBEIRO
Usuário Nível 2
Usuário Nível 2
Mensagens: 89
Registrado em: 24 Jul 2007 10:26
Localização: MONTES CLAROS-MG

Cadastro Clipper para FIVEWIN

Mensagem por FARLEY RIBEIRO »

O maior problema está em fazer um get dos campos auxiliares para atender tanto a inclusão como a alteração... pois teria que criar outro dialogo...

como resolver isso?

cls
do while (.t.)
use fabrica
go bottom
mcodigo = strzero(val(codigo), 4, 0)

@ 02, 01 say "Código: " get mcodigo picture "@k 9999" valid !empty(mcodigo)
read
if lastkey() = 27
exit
endif
lNovo = .t. // indica se o registro é novo ou nao
mcodigo = strzero(val(mcodigo), 4, 0)
seek (mcodigo)
if found()
mdescricao = razaosoc
lNovo = .f.
else
mdescricao = space(len(razaosoc))
endif

// segundo get para leitura dos dados complemetares...
@ 04, 01 say "Nome Fornecedor : " get mdescricao
read

if lastkey() = 27
exit
endif

if lNovo
append blank
replace codigo with mcodigo
endif
replace razaosoc with mdescricao
commit
loop
enddo
close all
return nil

o restante do código que o amigo postou atendeu perfeitamente..
exclusão, proximo, seguinte.. só falta resolver o problema para atender tanto a inclusão com alteração

grato

farley
Borland BCC(5.51)/PellesC(5.01)/Fivewin(2.6)/xHarbour.org(0.99.50)/Med(3.02)/DBFNTX/DBFCDX /WvWToools(0.83)
Euclides
Usuário Nível 3
Usuário Nível 3
Mensagens: 154
Registrado em: 12 Mai 2007 14:07
Localização: São Paulo, Capital

Mensagem por Euclides »

Farley,
Se voce observar direito, verá que alterando o campo cRazSoc, e clicando
o botão ´Alterar´, o DBF é alterado.
A opção de Inclusão não existe na sua rotina.
Aparentemente, o que V está procurando é uma rotina de ´cadastro básico´.
Deve achar isso no site do Toya (procure na google por toyanet), ou na Fivewin.br ( seção de dicas )
Boa sorte.
Euclides
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Tche, farley...me chama no MSN mais tarde...que te envio uns exemplos simples....

Obs:Não vou postar pq tem DBF e bastante coisa....se alguem mais quiser me chama no MSN ou me pede por email !!!

Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder