Página 1 de 1

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

Enviado: 27 Jul 2007 17:20
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

Clipper para Five

Enviado: 28 Jul 2007 12:22
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

Cadastro no FIVEWIN similar ao CLIPPER

Enviado: 01 Ago 2007 16:48
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

Enviado: 01 Ago 2007 18:05
por sygecom
Tem que ser Fivewin ? vc comprou jah a versão comercial do Fivewin ?

Leonardo Machado

Clipper para five

Enviado: 02 Ago 2007 09:35
por FARLEY RIBEIRO
tem que ser five mesmo leonardo...

grato

farley
fw2.6/xhb9950/pellesc/mymake

Enviado: 02 Ago 2007 20:36
por sygecom
Tche, que mais vc quer alem do que o colega postou ?

Seria melhor vc postar suas duvidas..

Abraços

Cadastro Clipper para FIVEWIN

Enviado: 03 Ago 2007 08:31
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

Enviado: 03 Ago 2007 09:17
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

Enviado: 03 Ago 2007 10:57
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