Caro Fladimir,
Concluo que estamos usando algum programa ou compilador em versoes diferentes, pois testei , recompilei e ele esta "otimo", estou utilizando
xharbour, 0.99.70 + Bcc 5.5.1, junto com BRMAKE 2.05, e + Gtwvw.
Talvez esteja ai a diferenca,(veja o ini) nao uso a Gtwin.lib, abaixo
envio o bat de compilacao o ini e o mlk, teste com eles e veja o resultado:
===============================================
@echo on
SET CLIPPERCMD=
IF EXIST %1.EXE DEL %1.EXE
IF EXIST *.OBJ DEL *.OBJ
BRMAKE %1
IF EXIST %1.EXE UPX -1 %1.EXE
======================
/* BRMAKE para Harbour/MiniGUI Versão 2.05 */
/* Utilizando Compilador HARBOUR */
/* Alberto Dias - 23/12/2006 11:30 hs */
[MINIGUI]
MiniGUI Path=C:\
[HARBOUR]
Harbour Path=C:\xHARBOUR
Harbour Flags= -n -m
[BCC55]
Bcc55 Path=C:\BORLAND\BCC55
[HARBOUR BASIC LIBRARY]
Lib=rtl.lib
Lib=vm.lib
/* Lib=gtwin.lib */
Lib=gtwvw.lib
Lib=lang.lib
Lib=macro.lib
Lib=rdd.lib
Lib=hbsix.lib
Lib=common.lib
Lib=libct.lib
Lib=libmisc.lib
Lib=codePage.lib
Lib=dbfcdx.lib
Lib=dbffpt.lib
Lib=dbfntx.lib
Lib=dbfdbt.lib
Lib=bcc640.lib
Lib=pp.lib
Lib=optcon.lib
Lib=what32.lib
Lib=ct.lib
Lib=fmstat.lib
[MISC]
Video Mode=disabled
Compress With UPX=N
language=PT
STOP=N
===============
# GRAFICO = SIM (YES)
GUI=Y
# NOME DO EXECUTAVEL
exefile teste1.exe
# ARQUIVO PRINCIPAL // * PRINCIPAL *
file teste1.PRG
=======================================
ABAIXO A COPIA DO PRG, POSSO TER ENVIADA A ERRADA.
=======================================
Código: Selecionar todos
// /////////////////////////////////////////////////////////////
// 02/07/2007 //
// ORIGINAL ESCRITO POR FLADIMIR ( PCTOLEDO ) //
// COMPILADO EM XHARBOUR 0.99.70 ( SIMPLEX ) + BORLAND 5.5.1 //
// BRMAKE 2.05 //
// /////////////////////////////////////////////////////////////
#include "common.ch"
#include "inkey.ch"
FUNCTION MAIN()
REQUEST DBFCDX
RDDSETDEFAULT('DBFCDX')
CLS
USE PLANILHA alias FILETEMP new exclusive
zap
APPEND BLANK
FILETEMP->( DBGOTOP() )
DBSELECTAR("FILETEMP")
PRIVATE bCamp[5],bNomes[5],bPict[5],total:=0
bCamp[1] := "codprod"
bCamp[2] := "left(descricao,25)"
bCamp[3] := "quant"
bCamp[4] := "vendaprod"
bCamp[5] := "total"
bNomes[1] := "Codigo"
bNomes[2] := " Descricao"
bNomes[3] := " Quant"
bNomes[4] := "Vlr Venda"
bNomes[5] := "Total Ger"
bPict[1] := "@!"
bPict[2] := "@!"
bPict[3] := "@E 9,999,999"
bPict[4] := "@E 9999.99"
bPict[5] := "@E 99999.99"
@20,20 SAY "Pressione ENTER e Digite o Codigo do Produto"
DBEDIT(05,02,15,76,bCamp,"Analise",bpict,bNomes,"Ä","|","")
RETURN
**********************
FUNCTION Analise(modo)
LOCAL codigo:=SPACE(6),GETLIST:={}
LOCAL qtd:=1,preco:=0
LOCAL posreg:=0, precxquant:=0, cDescricao:=SPACE(40), maisum:=0, numLin:=0
IF SELECT("PRODUTO")=0
USE Produto alias Produto new shared
Index on codprod TAG iProdCod TO PRODUTO.CDX
ENDIF
DBSELECTAR("FILETEMP")
linha:=ROW()
IF MODO==0 .OR. MODO==1 .OR. MODO==3
RETURN 1
ELSEIF MODO==2
LOCATE FOR FILETEMP->codprod == SPACE(06)
IF FILETEMP->( !FOUND() )
APPEND BLANK
ENDIF
FILETEMP->( DBGOTOP() )
KEYBOARD K_CTRL_PGDN
RETURN 1
ELSEIF MODO==4
IF LASTKEY()!=K_ESC
linha := ROW()
numLin:=ROW()
Produto->( ORDSETFOCUS(1) )
codigo := FILETEMP->codprod
@ numLin,08 GET codigo pict "999999" color",r/w"
READ
Produto->( ORDSETFOCUS(1) )
IF Produto->( !DBSEEK( STRZERO(VAL(codigo),6 )) )
alert("Produto com o codigo "+ALLTRIM(codigo)+" nao localizado")
RETURN 1
ENDIF
codigo:=Produto->codprod
DBSELECTAR("FILETEMP")
posreg := FILETEMP->( RECNO() )
preco:=precod:=Produto->vendaprod
@ linha,08 SAY Produto->codprod COLOR "R/W"
cDescricao:=Produto->descprod
FILETEMP->descprod := cDescricao
FILETEMP->descricao := left(cDescricao,25)
@ linha,15 SAY left(cDescricao,25) COLOR "R/W"
@ linha,53 SAY preco PICTURE "@E 9999.99" COLOR "R/W"
@ linha,41 GET qtd PICTURE "@E 9,999,999" valid qtd>0
read
IF Produto->codprod==FILETEMP->codprod
preco:=FILETEMP->vendaprod
ENDIF
precxquant := preco * qtd
FILETEMP->codprod := Produto->codprod
FILETEMP->descricao := left(cDescricao,25)
FILETEMP->quant := qtd
FILETEMP->vendaprod := preco
FILETEMP->total := precxquant
maisum:=FILETEMP->( RECNO() )
// 02/07/2007
// OBJETIVO-> MANTER SEMPRE UM REGISTRO AO FINAL NA TELA PARA DIGITACAO
IF maisum > 8
SKIP 2
ENDIF
FILETEMP->( DBSKIP() )
posreg := FILETEMP->( RECNO() )
FILETEMP->( DBGOTO(maisum) )
FILETEMP->( DBGOTO(posreg) )
IF !EMPTY(FILETEMP->codprod)
FILETEMP->( DBGOTOP() )
KEYBOARD K_CTRL_PGDN
RETURN 1
ENDIF
LOCATE FOR FILETEMP->codprod == SPACE(06)
IF FILETEMP->( !FOUND() )
APPEND BLANK
ENDIF
FILETEMP->( DBGOTOP() )
// 02/07/2007
// OBJETIVO -> POSICIONAR NO PROXIMO REGISTRO ABAIXO
// XHARBOUR 32 BITS X CLIPPER 5.X
KEYBOARD K_CTRL_PGDN
RETURN 1
ELSEIF LASTKEY()=K_ESC
DBCLOSEALL()
CLS
QUIT
ENDIF
ENDIF
RETURN 1
============================================
TENTE NOVAMENTE UTILIZANDO ESTAS COPIAS.
OBS: NO SEU CADASTRO DE PRODUTO CADASTREI OS PRODUTOS
COM O CODIGO TIPO 000001, 000002 e assim por diante.
============================================
