Jump to content
Fivewin Brasil

VASCON

Membros
  • Posts

    233
  • Joined

  • Last visited

VASCON's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. ANTECIPADAMENTE GRATO PELA ATENÇÃO. ATÉ O PRESENTE MOMENTO, ESTAVA USANDO OS RECURSOS ABAIXO PARA A IMPRESSÃO DE RELATÓRIOS/FORMULÁRIOS COM FORMATOS ESPECIAIS: CANTOS ARREDONDADOS, CAIXAS, LINHAS NAS HORIZONTAIS, ETC). PORÉM, ESTOU PRECISANDO IMPRIMIR COM FUNDO ASSOMBREADO E NÃO ESTOU CONSEGUINDO. QUAL A SAID? EXISTE ALGUM RECURSO NOVO? ESTOU A FW 7.09 NILSON #DEFINE VAZIA 0 #DEFINE SOMBRA 1 /* Dibujamos una Caja en Cms nArriba,nIzq,nAbajo,nDerecha := Coordenadas en Centimetros oPrn := Objeto Printer oBrush := Objeto Brush para Caja Rellena nTipo := Tipo de Caja (0-Vacia) (1-Rellena) oPen := Objeto oPen para Caja Vacia */ Static Func CAIXA(nArriba,nIzq,nAbajo,nDerecha,oPrn,nTipo,oBrush,oPen) Local xCor := {} , yCor := {} // Pasamos coordenadas de cms a pixel xCor := oPrn:Cmtr2Pix(nArriba,nIzq) yCor := oPrn:Cmtr2Pix(nAbajo,nDerecha) DO CASE CASE nTipo == 0 // Caja Vacia oPrn:Box(xCor[1],xCor[2],yCor[1],yCor[2],oPen) CASE nTipo == 1 // Caja rellena oPrn:FillRect({xCor[1],xCor[2],yCor[1],yCor[2]},oBrush) ENDCASE return NIL /* Lineas en Cms nArriba,nIzq,nAbajo,nDerecha := Coordenadas en Centimetros oPrn := Objeto Printer oPen := Objeto oPen para Linea */ Static Func Linea(nArriba,nIzq,nAbajo,nDerecha,oPrn,oPen) Local xCor := {} , yCor := {} xCor := oPrn:Cmtr2Pix(nArriba,nIzq) yCor := oPrn:Cmtr2Pix(nAbajo,nDerecha) oPrn:Line(xCor[1],xCor[2],yCor[1],yCor[2],oPen) return NIL /* Pos mas de lo mismo en Cms 2ºRev. 02-02-2000 nArriba := Fila nIzq := nCol nAncho := Ancho del Bitmap expresados en cms nAlto := Alto del Bitmap Expresados en cms xBitmap := Fichero BMP oPrn := Objeto Printer */ Func SayBitmap(nArriba,nIzq,nAncho,nAlto,xBitmap,oPrn) Local xCor := {} LOCAL nPixWidth, nPixHeight xCor := oPrn:Cmtr2Pix(nArriba,nIzq) // Pasamos nAncho y nAlto a Pulgadas // Haber si los americamos estos se pasan de una vez al Sistema Metrico // y tiran las Pulgadas con las Pulgas XD nAncho := nAncho/2.54 nAlto := nAlto /2.54 nPixWidth := INT(oPrn:nLogPixelY()*nAncho) nPixHeight := INT(oPrn:nLogPixelX()*nAlto) oPrn:SayBitmap(xCor[1],xCor[2],xBitmap,nPixWidth ,nPixHeight) RETURN NIL
  2. Vejam se podem me ajudar, por favor: Tenho que imprimir um relatório grande que dividi em várias funções. Abaixo está a declaração de variáveis, a definição de impressora, fontes, etc. (apenas o que interessa para a questão) Logo depois tenho uma das funções. Quando mando imprimir dá erro dizendo que não encontra a variável oPrn, pois ela foi declarada como local. Se declaro como estatica dá erro em: oPrn:nVertRes() Estou usando a FW24 Grato Nilson **======================= Jato de Tinta ============================================================= Function GENRE2() Local oPrn, oFont, oFont1 Local nRowStep, nColStep Local nRow := 0, numpagina := 0 Local qtdcolunas := 80 // quantidade de colunas Local qtdlinhas := 60 // quantidade de linhas Local numlinha := 0 // contador de linhas por pagina M->K:=PAG:=AB:=AD:=0 MASO:=SOMA1:=SOMA2:=SOMA3:=SOMA4:=0 SUBSOMA1:=SUBSOMA2:=SUBSOMA3:=SUBSOMA4:=0 TOTA1:=SOMA1:=SOMA2:=SOMA3:=SOMA4:=SOMA5:=SOMA6:=SOMA7:=SOMA8:=SOMA9:=SOMA10:=0 SOMA11:=SOMA12:=SOMA13:=SOMA14:=SOMA18:=0 SOMAA:=SOMAB:=SOMAC:=SOMAD:=SOMAE:=SOMAF:=SOMAG:=SOMAH:=0 MASO=0.01 TOTA1:=SOMA1:=0 MASO=0.01 SAMO=0 PAGINA=1 CONTA=0 PRINT oPrn PREVIEW if Empty( oPrn:hDC ) msginfo("Impressora não esta preparada, verifique !!!","Mensagem de Alerta") return nil endif DEFINE FONT oFont NAME "Arial" SIZE 0, -12 OF oPrn DEFINE FONT oFont1 NAME "Arial" SIZE 0, -09 OF oPrn nRowStep = oPrn:nVertRes() / qtdlinhas nColStep = oPrn:nHorzRes() / qtdcolunas PAGE PAGE:=0 numpagina := 0 numlinha++ nRow += nRowStep STATIC FUNCTION DOFISJ() oPrn:Say(nRow, 000*nColStep, "|",oFont1) oPrn:Say(nRow, 001*nColStep, TAPE,oFont1) oPrn:Say(nRow, 011*nColStep, "|",oFont1) oPrn:Say(nRow, 012*nColStep, COT,oFont1) oPrn:Say(nRow, 016*nColStep, "|",oFont1) oPrn:Say(nRow, 017*nColStep, ALLTRIM(CRECO),oFont1) oPrn:Say(nRow, 020*nColStep, ALLTRIM(CRESU),oFont1) oPrn:Say(nRow, 022*nColStep, "|",oFont1) oPrn:Say(nRow, 024*nColStep, ALLTRIM(DONU),oFont1) oPrn:Say(nRow, 032*nColStep, "|",oFont1) oPrn:Say(nRow, 033*nColStep, DOCTO,oFont1) oPrn:Say(nRow, 043*nColStep, "|",oFont1) oPrn:Say(nRow, 045*nColStep, INSCE,oFont1) oPrn:Say(nRow, 059*nColStep, "|",oFont1) oPrn:Say(nRow, 061*nColStep, TADO ,oFont1) oPrn:Say(nRow, 064*nColStep, "|",oFont1) oPrn:Say(nRow, 066*nColStep, ALLTRIM(TRANSFORM(RALO, "@E 999,999,999.99"),oFont),,39,,,1) oPrn:Say(nRow, 080*nColStep, "|",oFont1) oPrn:Say(nRow, 082*nColStep, " ",oFont1) oPrn:Say(nRow, 086*nColStep, "|",oFont1) oPrn:Say(nRow, 087*nColStep, TODE,oFont1) oPrn:Say(nRow, 093*nColStep, "|",oFont1) RETURN(.T.)
  3. Vejam se podem me ajudar, por favor: Tenho que imprimir um relatório grande que dividi em várias funções. Abaixo está a declaração de variáveis, a definição de impressora, fontes, etc. (apenas o que interessa para a questão) Logo depois tenho uma das funções. Quando mando imprimir dá erro dizendo que não encontra a variável oPrn, pois ela foi declarada como local. Se declaro como estatica dá erro em: oPrn:nVertRes() Estou usando a FW24 Grato Nilson **======================= Jato de Tinta ============================================================= Function GENRE2() Local oPrn, oFont, oFont1 Local nRowStep, nColStep Local nRow := 0, numpagina := 0 Local qtdcolunas := 80 // quantidade de colunas Local qtdlinhas := 60 // quantidade de linhas Local numlinha := 0 // contador de linhas por pagina M->K:=PAG:=AB:=AD:=0 MASO:=SOMA1:=SOMA2:=SOMA3:=SOMA4:=0 SUBSOMA1:=SUBSOMA2:=SUBSOMA3:=SUBSOMA4:=0 TOTA1:=SOMA1:=SOMA2:=SOMA3:=SOMA4:=SOMA5:=SOMA6:=SOMA7:=SOMA8:=SOMA9:=SOMA10:=0 SOMA11:=SOMA12:=SOMA13:=SOMA14:=SOMA18:=0 SOMAA:=SOMAB:=SOMAC:=SOMAD:=SOMAE:=SOMAF:=SOMAG:=SOMAH:=0 MASO=0.01 TOTA1:=SOMA1:=0 MASO=0.01 SAMO=0 PAGINA=1 CONTA=0 PRINT oPrn PREVIEW if Empty( oPrn:hDC ) msginfo("Impressora não esta preparada, verifique !!!","Mensagem de Alerta") return nil endif DEFINE FONT oFont NAME "Arial" SIZE 0, -12 OF oPrn DEFINE FONT oFont1 NAME "Arial" SIZE 0, -09 OF oPrn nRowStep = oPrn:nVertRes() / qtdlinhas nColStep = oPrn:nHorzRes() / qtdcolunas PAGE PAGE:=0 numpagina := 0 numlinha++ nRow += nRowStep STATIC FUNCTION DOFISJ() oPrn:Say(nRow, 000*nColStep, "|",oFont1) oPrn:Say(nRow, 001*nColStep, TAPE,oFont1) oPrn:Say(nRow, 011*nColStep, "|",oFont1) oPrn:Say(nRow, 012*nColStep, COT,oFont1) oPrn:Say(nRow, 016*nColStep, "|",oFont1) oPrn:Say(nRow, 017*nColStep, ALLTRIM(CRECO),oFont1) oPrn:Say(nRow, 020*nColStep, ALLTRIM(CRESU),oFont1) oPrn:Say(nRow, 022*nColStep, "|",oFont1) oPrn:Say(nRow, 024*nColStep, ALLTRIM(DONU),oFont1) oPrn:Say(nRow, 032*nColStep, "|",oFont1) oPrn:Say(nRow, 033*nColStep, DOCTO,oFont1) oPrn:Say(nRow, 043*nColStep, "|",oFont1) oPrn:Say(nRow, 045*nColStep, INSCE,oFont1) oPrn:Say(nRow, 059*nColStep, "|",oFont1) oPrn:Say(nRow, 061*nColStep, TADO ,oFont1) oPrn:Say(nRow, 064*nColStep, "|",oFont1) oPrn:Say(nRow, 066*nColStep, ALLTRIM(TRANSFORM(RALO, "@E 999,999,999.99"),oFont),,39,,,1) oPrn:Say(nRow, 080*nColStep, "|",oFont1) oPrn:Say(nRow, 082*nColStep, " ",oFont1) oPrn:Say(nRow, 086*nColStep, "|",oFont1) oPrn:Say(nRow, 087*nColStep, TODE,oFont1) oPrn:Say(nRow, 093*nColStep, "|",oFont1) RETURN(.T.)
  4. Luiz Augusto: Muito obrigado. Funcionou! Ficou 10 Grato NILSON
  5. PESSOAL, BOM DIA! COMO FAÇO PARA CRIAR UMA CAIXA DE DIALOGO, COM ROLAGEM DE CURSOR NA VERTICAL. NÃO SERIA LISTBOX NEM TBROUSE, APENAS UMA CAIXA ONDE MOSTRARIA INFORMAÇÕES NECESSÃRIAS, MAS QUE PERMITISSE UMA ROLAGEM VERTICAL, OU SEJA, A INFORMAÇÕES ROLARIAM DENTRO DESSA CAIXA. GRATO PELA ATENÇÃO NILSON
  6. PESSOAL, BOM DIA! COMO FAÇO PARA CRIAR UMA CAIXA DE DIALOGO, COM ROLAGEM DE CURSOR NA VERTICAL. NÃO SERIA LISTBOX NEM TBROUSE, APENAS UMA CAIXA ONDE MOSTRARIA INFORMAÇÕES NECESSÃRIAS, MAS QUE PERMITISSE UMA ROLAGEM VERTICAL, OU SEJA, A INFORMAÇÕES ROLARIAM DENTRO DESSA CAIXA. GRATO PELA ATENÇÃO NILSON
  7. BOM DIA PESSOAL! Pela experiencia de vocês, o que torna o programa mais seguro e com melhor desempenho: a) instalação do executável no servidor para ser chamado pelos usuários; ou instalação do executável em cada usúário para buscar os dados no servidor. abraços NILSON
  8. BOM DIA PESSOAL! Pela experiencia de vocês, o que torna o programa mais seguro e com melhor desempenho: a) instalação do executável no servidor para ser chamado pelos usuários; ou instalação do executável em cada usúário para buscar os dados no servidor. abraços NILSON
  9. BOM DIA PESSOAL! Ve se voces podem me dar uma dica: tenho um programa que o conjunto de informações nos DBF's gira em torno de 1 milhão de registros. Roda em um servidor com mais 3 usuarios, sem qualquer problema. É só clicar em qualquer item do menu que abre rapidamente a caixa de diagolo correspondente. DETALHE: REDE COM FIOS. Instalei o mesmo programa em um servidor com mais 6 usuarios, sem qualquer informação nos DBF's, portanto, vazio de tudo, no entanto, pra abrir qualquer caixa de dialogo está demorando muito. Isso sem manipular qualquer informação dos DBF's, simplesmente pra abrir a caixa de dialogo. DETALHE: REDE SEM FIOS. PERGUNTA: Hà ALGUMA INFLUÊNCIA NO VELOCIDADE DO PROGRAMA QUANDO SE USE REDE COM FIOS E REDE SEM FIOS Estou usando FW24 Abraço a todos. NILSON
  10. BOM DIA PESSOAL! Ve se voces podem me dar uma dica: tenho um programa que o conjunto de informações nos DBF's gira em torno de 1 milhão de registros. Roda em um servidor com mais 3 usuarios, sem qualquer problema. É só clicar em qualquer item do menu que abre rapidamente a caixa de diagolo correspondente. DETALHE: REDE COM FIOS. Instalei o mesmo programa em um servidor com mais 6 usuarios, sem qualquer informação nos DBF's, portanto, vazio de tudo, no entanto, pra abrir qualquer caixa de dialogo está demorando muito. Isso sem manipular qualquer informação dos DBF's, simplesmente pra abrir a caixa de dialogo. DETALHE: REDE SEM FIOS. PERGUNTA: Hà ALGUMA INFLUÊNCIA NO VELOCIDADE DO PROGRAMA QUANDO SE USE REDE COM FIOS E REDE SEM FIOS Estou usando FW24 Abraço a todos. NILSON
  11. VASCON

    ActiveX

    Pessoal, mais uma ajuda Porque ao chamar um atalho de um programa em rede, em algumas máquinas (todos XP), aparece aquele ActiveX (O Editor não pode ser verificado - Aviso de Segurança). Como inibir isso? Porque aparece somente em algumas maquinas? NILSON
  12. VASCON

    ActiveX

    Pessoal, mais uma ajuda Porque ao chamar um atalho de um programa em rede, em algumas máquinas (todos XP), aparece aquele ActiveX (O Editor não pode ser verificado - Aviso de Segurança). Como inibir isso? Porque aparece somente em algumas maquinas? NILSON
  13. Pessoal, boa tarde! Gostaria que alguem me ajudasse no seguinte: Porque a visualição no FiveWin Report em uma máquina aparece sem qualquer problema, e em outra não? Exemplo: em uma máquina: 5.500,00; em outra .500,00 (quebrada) Estou usando a FW24 Para melhor avaliação colei parte do PRG (abaixo) Abraço a todos NILSON **----------------------- Jato de Tinta -------------------------------------------------------- STATIC FUNCTION JATINTA() Local oPrn,a,oBrush,oFnt,oFnt2,oFnt3,oFnt4,oFnt5,oPen1 oSOMA:=oSOMA1:=oSOMA2:=oS0MA3:=mSOMA:=mSOMA1:=mSOMA2:=mSOMA3:=mCONTA:=0 PRINT oPrn PREVIEW DEFINE FONT oFnt5 NAME "Arial" SIZE 0,-30 BOLD OF oPrn DEFINE FONT oFnt NAME "Arial" SIZE 0,-12 BOLD OF oPrn DEFINE FONT oFnt1 NAME "Arial" SIZE 0,-10 BOLD OF oPrn DEFINE FONT oFnt2 NAME "Arial" SIZE 0,-09 BOLD OF oPrn DEFINE FONT oFnt3 NAME "Arial" SIZE 0,-08 BOLD OF oPrn DEFINE FONT oFnt4 NAME "Arial" SIZE 0,-30 NESCAPEMENT 900 DEFINE FONT oFnt6 NAME "Arial" SIZE 0,-20 BOLD OF oPrn DEFINE FONT oFnt7 NAME "Arial" SIZE 0,-25 NESCAPEMENT 900 DEFINE FONT oFnt8 NAME "Arial" SIZE 0,-50 NESCAPEMENT 900 DEFINE BRUSH oBrush COLOR 14671839 DEFINE PEN oPen1 WIDTH 3 PAGE PAGE:=0 IF mLELE > mULMOV M->mLELE:=mULMOV - 1 ENDIF M->SALDO:="N" SELECT LANC1 FINAL:=LASTREC() WPASSO:=FINAL/500 oMeter:Set(0) oMeter:nTotal = FINAL SET SOFTSEEK ON M->BA=0 K:=0 numpagina := 0 GOTO TOP SEEK mTACO DO WHILE .T. IF K < 3 oPrn:SetFont(oFnt) oPrn:cmSay(K,08, mCLI001, oFnt ) K=K+0.5 oPrn:cmSay(K,03, mCLI002+" "+mCLI003+" "+mCLI004+" "+mCLI005, oFnt ) K=K+0.5 oPrn:cmSay(K,08, "CNPJ:" + mCLI006,oFnt ) K=K+0.5 oPrn:cmSay(K,00.2, REPLICATE("-",230),oFnt2) K=K+0.5 oPrn:SetFont(oFnt2) oPrn:cmSay(K,00.2,"EXTRATO DA CONTA NR.:",oFnt2) oPrn:cmSay(K,04,mTACO,oFnt2) oPrn:cmSay(K,06,mCOTA,oFnt2) K=K+1 oPrn:cmSay(K,00.2,"DATA",oFnt2) oPrn:cmSay(K,02.0,"|",oFnt2) oPrn:cmSay(K,02.1,"DOCUMENTO",oFnt2) oPrn:cmSay(K,04.2,"|",oFnt2) oPrn:cmSay(K,04.3,"HISTORICO",oFnt2) oPrn:cmSay(K,12.0,"|",oFnt2) oPrn:cmSay(K,12.1,"DEBITO",oFnt2) oPrn:cmSay(K,15.0,"|",oFnt2) oPrn:cmSay(K,15.1,"CREDITO",oFnt2) oPrn:cmSay(K,18.0,"|",oFnt2) oPrn:cmSay(K,18.1,"SALDO",oFnt2) K=K+1 ENDIF IF CONTA < mTACO SKIP(+1) LOOP ENDIF IF CONTA = mTACO IF DTOS(TAPE) < DTOS(mLELE) M->mTADA:=TAPE oTADA:Refresh() M->mTITU:=DONU oTITU:Refresh() SKIP(+1) LOOP ENDIF IF DTOS(TAPE) >= DTOS(mLELE) .AND. DTOS(TAPE) <= DTOS(mLILI) oMeter:Set(nRecno+1) M->mTADA:=TAPE oTADA:Refresh() M->mTITU:=DONU oTITU:Refresh() M->AB:=1 M->mDIAMES:=TAPE mDOCPLI:=DONU IF BA = 0 M->mSOMA=SALANT M->BA = 1 ENDIF M->mVALPLI:=RALO M->mPAGPLI:=ALOR M->mDESPLI:=COHIS M->mSOMA1=mSOMA-RALO+ALOR DBSETORDER(0) IF RECLOCK(4) REPLACE SALANT WITH mSOMA,SALPOS WITH mSOMA1 DBSETORDER(1) COMMIT UNLOCK ENDIF IF BA = 1 M->mSOMA:=SALPOS ENDIF oPrn:SetFont(oFnt2) oPrn:cmSay(K,00.2,DTOC(mDIAMES),oFnt2) oPrn:cmSay(K,02.0,"|",oFnt2) oPrn:cmSay(K,02.1,mDOCPLI,oFnt2) oPrn:cmSay(K,04.2,"|",oFnt2) oPrn:cmSay(K,04.3,LEFT(mDESPLI,61),oFnt2) oPrn:cmSay(K,12.0,"|",oFnt2) oPrn:cmSay(K,13.5, ALLTRIM(TRANSFORM(mVALPLI, "@ZE 999,999.99"), oFnt2),,100,,,1) oPrn:cmSay(K,15.0,"|",oFnt2) oPrn:cmSay(K,16.5, ALLTRIM(TRANSFORM(mPAGPLI, "@ZE 999,999.99"), oFnt2),,100,,,1) oPrn:cmSay(K,18.0,"|",oFnt2) oPrn:cmSay(K,19.1, ALLTRIM(TRANSFORM(mSOMA1, "@ZE 999,999.99"), oFnt2),,100,,,1) K=K+0.5 M->SALDO:="S" SKIP(+1) ENDIF IF K >= 55 numpagina = numpagina + 1 oPrn:SetFont(oFnt) oPrn:cmSay(K,00.2, REPLICATE("-",230),oFnt2) K=K+0.5 oPrn:cmSay(K,00.2,"N.A.N.V.",oFnt2) oPrn:cmSay(K,16,"Pagina:",oFnt2) oPrn:cmSay(K,18,Strzero(numpagina,6,0),oFnt2) PAGE++ numlinha = 0 nRow := 0 ENDPAGE PAGE Endif IF DTOS(TAPE) > DTOS(mLILI) AZ:=1 Exit ENDIF ENDIF IF CONTA > mTACO AZ:=1 Exit ENDIF IF EOF() AZ:=1 Exit ENDIF Enddo IF AZ=1 numpagina = numpagina + 1 oPrn:SetFont(oFnt) oPrn:cmSay(K,00.2, REPLICATE("-",230),oFnt2) K=K+0.5 oPrn:cmSay(K,00.2,"N.A.N.V.",oFnt2) oPrn:cmSay(K,17.8,"Pagina:",oFnt2) oPrn:cmSay(K,19.3,Strzero(numpagina,6,0),oFnt2) PAGE++ numlinha = 0 nRow := 0 ENDPAGE PAGE Endif SELECT NONA IF SALDO = "S" DBSETORDER(0) IF RECLOCK(4) REPLACE ULMOV WITH mDIAMES DBSETORDER(1) COMMIT UNLOCK ENDIF ENDIF ENDPAGE ENDPRINT oFnt5:End() oFnt:End() oFnt1:End() oFnt2:End() oFnt3:End() oFnt4:End() oFnt6:End() oFnt7:End() oFnt8:End() SELECT LANC1 GOTO BOTTOM SKIP -7 return NIL
  14. Pessoal, boa tarde! Gostaria que alguem me ajudasse no seguinte: Porque a visualição no FiveWin Report em uma máquina aparece sem qualquer problema, e em outra não? Exemplo: em uma máquina: 5.500,00; em outra .500,00 (quebrada) Estou usando a FW24 Para melhor avaliação colei parte do PRG (abaixo) Abraço a todos NILSON **----------------------- Jato de Tinta -------------------------------------------------------- STATIC FUNCTION JATINTA() Local oPrn,a,oBrush,oFnt,oFnt2,oFnt3,oFnt4,oFnt5,oPen1 oSOMA:=oSOMA1:=oSOMA2:=oS0MA3:=mSOMA:=mSOMA1:=mSOMA2:=mSOMA3:=mCONTA:=0 PRINT oPrn PREVIEW DEFINE FONT oFnt5 NAME "Arial" SIZE 0,-30 BOLD OF oPrn DEFINE FONT oFnt NAME "Arial" SIZE 0,-12 BOLD OF oPrn DEFINE FONT oFnt1 NAME "Arial" SIZE 0,-10 BOLD OF oPrn DEFINE FONT oFnt2 NAME "Arial" SIZE 0,-09 BOLD OF oPrn DEFINE FONT oFnt3 NAME "Arial" SIZE 0,-08 BOLD OF oPrn DEFINE FONT oFnt4 NAME "Arial" SIZE 0,-30 NESCAPEMENT 900 DEFINE FONT oFnt6 NAME "Arial" SIZE 0,-20 BOLD OF oPrn DEFINE FONT oFnt7 NAME "Arial" SIZE 0,-25 NESCAPEMENT 900 DEFINE FONT oFnt8 NAME "Arial" SIZE 0,-50 NESCAPEMENT 900 DEFINE BRUSH oBrush COLOR 14671839 DEFINE PEN oPen1 WIDTH 3 PAGE PAGE:=0 IF mLELE > mULMOV M->mLELE:=mULMOV - 1 ENDIF M->SALDO:="N" SELECT LANC1 FINAL:=LASTREC() WPASSO:=FINAL/500 oMeter:Set(0) oMeter:nTotal = FINAL SET SOFTSEEK ON M->BA=0 K:=0 numpagina := 0 GOTO TOP SEEK mTACO DO WHILE .T. IF K < 3 oPrn:SetFont(oFnt) oPrn:cmSay(K,08, mCLI001, oFnt ) K=K+0.5 oPrn:cmSay(K,03, mCLI002+" "+mCLI003+" "+mCLI004+" "+mCLI005, oFnt ) K=K+0.5 oPrn:cmSay(K,08, "CNPJ:" + mCLI006,oFnt ) K=K+0.5 oPrn:cmSay(K,00.2, REPLICATE("-",230),oFnt2) K=K+0.5 oPrn:SetFont(oFnt2) oPrn:cmSay(K,00.2,"EXTRATO DA CONTA NR.:",oFnt2) oPrn:cmSay(K,04,mTACO,oFnt2) oPrn:cmSay(K,06,mCOTA,oFnt2) K=K+1 oPrn:cmSay(K,00.2,"DATA",oFnt2) oPrn:cmSay(K,02.0,"|",oFnt2) oPrn:cmSay(K,02.1,"DOCUMENTO",oFnt2) oPrn:cmSay(K,04.2,"|",oFnt2) oPrn:cmSay(K,04.3,"HISTORICO",oFnt2) oPrn:cmSay(K,12.0,"|",oFnt2) oPrn:cmSay(K,12.1,"DEBITO",oFnt2) oPrn:cmSay(K,15.0,"|",oFnt2) oPrn:cmSay(K,15.1,"CREDITO",oFnt2) oPrn:cmSay(K,18.0,"|",oFnt2) oPrn:cmSay(K,18.1,"SALDO",oFnt2) K=K+1 ENDIF IF CONTA < mTACO SKIP(+1) LOOP ENDIF IF CONTA = mTACO IF DTOS(TAPE) < DTOS(mLELE) M->mTADA:=TAPE oTADA:Refresh() M->mTITU:=DONU oTITU:Refresh() SKIP(+1) LOOP ENDIF IF DTOS(TAPE) >= DTOS(mLELE) .AND. DTOS(TAPE) <= DTOS(mLILI) oMeter:Set(nRecno+1) M->mTADA:=TAPE oTADA:Refresh() M->mTITU:=DONU oTITU:Refresh() M->AB:=1 M->mDIAMES:=TAPE mDOCPLI:=DONU IF BA = 0 M->mSOMA=SALANT M->BA = 1 ENDIF M->mVALPLI:=RALO M->mPAGPLI:=ALOR M->mDESPLI:=COHIS M->mSOMA1=mSOMA-RALO+ALOR DBSETORDER(0) IF RECLOCK(4) REPLACE SALANT WITH mSOMA,SALPOS WITH mSOMA1 DBSETORDER(1) COMMIT UNLOCK ENDIF IF BA = 1 M->mSOMA:=SALPOS ENDIF oPrn:SetFont(oFnt2) oPrn:cmSay(K,00.2,DTOC(mDIAMES),oFnt2) oPrn:cmSay(K,02.0,"|",oFnt2) oPrn:cmSay(K,02.1,mDOCPLI,oFnt2) oPrn:cmSay(K,04.2,"|",oFnt2) oPrn:cmSay(K,04.3,LEFT(mDESPLI,61),oFnt2) oPrn:cmSay(K,12.0,"|",oFnt2) oPrn:cmSay(K,13.5, ALLTRIM(TRANSFORM(mVALPLI, "@ZE 999,999.99"), oFnt2),,100,,,1) oPrn:cmSay(K,15.0,"|",oFnt2) oPrn:cmSay(K,16.5, ALLTRIM(TRANSFORM(mPAGPLI, "@ZE 999,999.99"), oFnt2),,100,,,1) oPrn:cmSay(K,18.0,"|",oFnt2) oPrn:cmSay(K,19.1, ALLTRIM(TRANSFORM(mSOMA1, "@ZE 999,999.99"), oFnt2),,100,,,1) K=K+0.5 M->SALDO:="S" SKIP(+1) ENDIF IF K >= 55 numpagina = numpagina + 1 oPrn:SetFont(oFnt) oPrn:cmSay(K,00.2, REPLICATE("-",230),oFnt2) K=K+0.5 oPrn:cmSay(K,00.2,"N.A.N.V.",oFnt2) oPrn:cmSay(K,16,"Pagina:",oFnt2) oPrn:cmSay(K,18,Strzero(numpagina,6,0),oFnt2) PAGE++ numlinha = 0 nRow := 0 ENDPAGE PAGE Endif IF DTOS(TAPE) > DTOS(mLILI) AZ:=1 Exit ENDIF ENDIF IF CONTA > mTACO AZ:=1 Exit ENDIF IF EOF() AZ:=1 Exit ENDIF Enddo IF AZ=1 numpagina = numpagina + 1 oPrn:SetFont(oFnt) oPrn:cmSay(K,00.2, REPLICATE("-",230),oFnt2) K=K+0.5 oPrn:cmSay(K,00.2,"N.A.N.V.",oFnt2) oPrn:cmSay(K,17.8,"Pagina:",oFnt2) oPrn:cmSay(K,19.3,Strzero(numpagina,6,0),oFnt2) PAGE++ numlinha = 0 nRow := 0 ENDPAGE PAGE Endif SELECT NONA IF SALDO = "S" DBSETORDER(0) IF RECLOCK(4) REPLACE ULMOV WITH mDIAMES DBSETORDER(1) COMMIT UNLOCK ENDIF ENDIF ENDPAGE ENDPRINT oFnt5:End() oFnt:End() oFnt1:End() oFnt2:End() oFnt3:End() oFnt4:End() oFnt6:End() oFnt7:End() oFnt8:End() SELECT LANC1 GOTO BOTTOM SKIP -7 return NIL
  15. Pessoal: Como faço para mostrar informações dentro de uma Caixa de Diálogo, sem utilizar LISTBOX ou TBROWSE. Não haverá Get's; só mostrar registros de forma diferente do Listbox ou Tbrowse. Na realidade a única dúvida é como fazer a rolagem das informaçoes dentro dessa caixa de diálogo abraços NILSON
×
×
  • Create New...