Cadastro CLIPPER/XHARBOUR para FIVE... (RESOLVIDO)
Moderador: Moderadores
- FARLEY RIBEIRO
- 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)
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
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

- Mensagens: 154
- Registrado em: 12 Mai 2007 14:07
- Localização: São Paulo, Capital
Clipper para Five
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
/* 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
- FARLEY RIBEIRO
- 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
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
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
- FARLEY RIBEIRO
- Usuário Nível 2

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

- Mensagens: 89
- Registrado em: 24 Jul 2007 10:26
- Localização: MONTES CLAROS-MG
Cadastro Clipper para FIVEWIN
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
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

- Mensagens: 154
- Registrado em: 12 Mai 2007 14:07
- Localização: São Paulo, Capital
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
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
