Jump to content
Fivewin Brasil

VASCON

Membros
  • Posts

    233
  • Joined

  • Last visited

Posts posted by VASCON

  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. 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

  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. 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

    B) instalação do executável em cada usúário para buscar os dados no servidor.

    abraços

    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

    B) instalação do executável em cada usúário para buscar os dados no servidor.

    abraços

    NILSON

  8. 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

  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. 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

  11. 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. 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

  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:

    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

  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

  16. sambomb

    Veja abaixo o porque o M->

    Toda variavel que voce declarar com este sinal o compilador sempre a tratara como variavel de memoria dispensando o uso de declaracoes como memvar ou local.

    Sempre que voce for usar esta variavel dentro de seu procedimento ou funcao sempre utilize o ( M-> ) na frente da mesma, pois assim sempre o compilador sabera que se trata de varivel de memoria.

    Mas qual a vantagem disso, sempre que voce quiser apaga-las dê um release all que as mesmas são apagadas imediatamente ou na saida do procedimento onde ocorreu o primeiro uso da mesma ela será sempre apagada.

    Mas elas possuem uma grande vantagem sobre as locais, pois a mesma são enxergadas em qualquer procedimento ou funcao chamadas apartir do procedimento ou funcao onde ocorreu o primeiro uso da mesma.

    Pode se dizer que são quase a mesma coisa que variaveis Private, mas consomem menos memoria que as Private.

    NILSON

  17. personal / sambomb

    Pra tirar qualquer dúvida lá vai o PRG inteiro

    Vejam que no get de pesquisa (STATIC FUNCTION PEAUT()), com outro nome de variavel, acontece a mesma coisa.

    Atenção para os detalhes:

    Testei num NOTEBOOK e um computador normal. (ambos XP)

    no NOTE -> o espaço liberado é maior

    no computador normal -> espaço liberado é menor

    no NOTE -> da DEL veio com o WINDOWS ORIGINAL

    no computador normal -> WINDOWS PIRATEADO

    Abs, grato

    NILSON

    #include "fivewin.ch"

    #include "report.ch"

    #include "ord.ch"

    #Define CLR_LGRAY nRGB( 230, 230, 230 )

    #Define CLR_LGREEN nRGB( 190, 215, 190 )

    #Define CLR_CHOCOLATE nRGB( 040, 005, 080 )

    #Define CLR_VERDEAGUA nRGB( 000, 128, 128 )

    #Define CLR_CREME nRGB( 255, 255, 235 ) // Cream color

    #Define CLR_AZULADITO nRGB( 255, 016, 008, 255, 016, 008, 255, 016 )

    #Define CLR_BLANCO nRGB( 255, 255, 235 ) // ideal como fondo para escritura de texto

    #Define CLR_HYEL nRGB( 240, 226, 159 )

    #Define CLR_LYEL nRGB( 243, 243, 156 )

    #Define CLR_AZUL_BRANCO nRGB( 040, 004, 090 )

    #Define CLR_PRETO_AMARE nRgb(255,255,200)

    ** FUNÇÃO PARA MANUTENÇÃO DE CODIGOS FISCAIS ****************

    Function MANFIS()

    LOCAL oSaida, oIncluir, oExcluir, oCancelar, oImprimir, oEditar, oPesquisa

    LOCAL nOrden:=1

    LOCAL cOrden := { OemToAnsi("Codigo"),;

    OemToAnsi("Nome")}

    IF ACESSO=.F.

    SENHA()

    ENDIF

    CLOSE DATABASES

    SET DELETED ON

    SET DATE BRITISH

    IF NETUSE("CODFIS","COFIS1",.F.,10)

    SET INDEX TO COFIS1,COFIS2

    ELSE

    MsgAlert("Arquivo não Disponivel - Aguarde !")

    ENDIF

    SELECT COFIS1

    SET ORDER TO 1

    DEFINE FONT oFont_cli NAME "MS SANS SERIF" SIZE 0,-15

    DEFINE DIALOG oDlgPFIS from 09,3 to 36,99;

    TITLE 'Manutenção de Codigos Fiscais';

    COLOR CLR_BLACK, CLR_HGRAY

    oDlgPFIS:LHELPICON := .F.

    @0.001,0.3 to 13.0,53.7

    @0.7,0.7 LISTBOX oBrw;

    FIELDS COFUN,;

    NOFUN + " " + NOFUN01;

    HEADERS "CFOP",;

    "DESCRIÇÃO";

    COLOR CLR_BLACK,Rgb(255,255,235);

    FIELDSIZES 60,850;

    FONT oFont_cli;

    OF oDlgPFIS;

    SIZE 365,170

    oBrw:ajustify:={.f.,.f.}

    oBrw:bKeyDown := { | nKey | Ctrl_Teclas( nKey),;

    IF ( nKey = VK_INSERT,( INTFIS(),oBrw:UpStable(),oBrw:SetFocus(),oBrw:Refresh() ), ;

    IF ( nKey = VK_RETURN,( EDFIS(),oBrw:UpStable(),oBrw:SetFocus(),oBrw:Refresh() ), ;

    IF ( nKey = VK_DELETE,( DEFIS(),oBrw:UpStable(),oBrw:SetFocus(),oBrw:Refresh() ), ;

    IF ( nKey = VK_HOME,( dbgotop(),oBrw:UpStable(),oBrw:Refresh(),oBrw:SetFocus() ), ;

    IF ( nKey = VK_END,( dbgobottom(),oBrw:UpStable(),oBrw:Refresh(),oBrw:SetFocus() ), ;

    IF ( nKey = VK_ESCAPE,oDlgPFIS:End() , ) ) ) ) ) ) }

    oBrw:UpStable()

    oBrw:Refresh()

    oBrw:SetFocus()

    ////COLOR CLR_BLACK, CLR_HGRAY;

    //**************************************************************************************************************************

    oBrw:nClrBackHead := CLR_HBLUE // Cor do Fundo do Cabe‡alho

    oBrw:nClrBackFocus := CLR_AZUL_BRANCO // Cor do Cursor Em Cima do Ötem

    oBrw:nClrForeHead := CLR_BLANCO // Cor nos Headers - Cabe‡alhos

    //oBrw:nClrPane := { || IIF( ( oBrw:cAlias)->( OrdKeyNo()) %2 == 1 , CLR_LGREEN,CLR_LGRAY)}

    //**************************************************************************************************************************

    @16.0,00.7 BUTTON oIncluir PROMPT "&Incluir" OF oDlgPFIS SIZE 33,08 ACTION (INTFIS(),oBrw:UpStable(),oBrw:Refresh(),oBrw:SetFocus() )

    @16.0,05.7 BUTTON oDados PROMPT "&Alterar" OF oDlgPFIS SIZE 33,08 ACTION (EDFIS(),oBrw:UpStable(),oBrw:Refresh(),oBrw:SetFocus() )

    @16.0,10.7 BUTTON oExcluir PROMPT "E&xcluir" OF oDlgPFIS SIZE 33,08 ACTION (DEFIS(),oBrw:UpStable(),oBrw:Refresh(),oBrw:SetFocus() )

    @16.0,15.7 BUTTON oInicio PROMPT "&Inicio" OF oDlgPFIS SIZE 33,08 ACTION (dbgotop(),oBrw:UpStable(),oBrw:Refresh(),oBrw:SetFocus() )

    @16.0,20.7 BUTTON oFim PROMPT "&Fim" OF oDlgPFIS SIZE 33,08 ACTION (dbgobottom(),oBrw:UpStable(),oBrw:Refresh(),oBrw:SetFocus() )

    @16.0,25.7 BUTTON oPesquisa PROMPT "&Pesquisa" OF oDlgPFIS SIZE 33,08 ACTION PEAUT()

    @16.0,30.7 BUTTON oSaida PROMPT "&Sair" OF oDlgPFIS SIZE 33,08 ACTION (oDlgPFIS:End()) CANCEL

    @13.95,41.5 SAY "Ordenar" SIZE 35,10

    @13.95,41.5 COMBOBOX nOrden ITEMS cOrden SIZE 40, 70 OF oDlgPFIS ON CHANGE Orden(nOrden,oBrw)

    ACTIVATE DIALOG oDlgPFIS CENTERED

    RETURN(NIL)

    *-------------------------------- Pesquisa de Codigo Fiscal -----------------------------------------------------

    STATIC FUNCTION PEAUT()

    SET SOFTSEEK ON

    *IF MsgGet( "Buscar por", "Nome do Cliente",@mNOM ,"lupa.bmp" )

    * SEEK UPPER(mNOM)

    * oBrw:UpStable()

    * oBrw:Refresh()

    *ENDIF

    M->oNOM:=mNOM:=SPACE(60)

    DEFINE DIALOG oDlgPI from 4,05 to 08,80;

    TITLE 'Pesquisa de Codigos Fiscais'

    oDlgPI:LHELPICON := .F.

    @00.5,01 SAY "Nome:"

    @00.5,05 GET oNOM VAR mNOM OF oDlgPI PICT '@R' SIZE 245,12

    @01.7,29.3 BUTTON oSaida PROMPT "&OK " OF oDlgPI SIZE 35,08 ACTION (PESCA(),oDlgPI:End(),oBrw:UpStable(),oBrw:Refresh(),oBrw:SetFocus() ) CANCEL

    ACTIVATE DIALOG oDlgPI CENTERED

    RETURN(NIL)

    *----------------------------------------------------------------------------------------------------------------

    STATIC FUNCTION PESCA()

    SET ORDER TO 2

    GOTO TOP

    M->mNOM=RTRIM( Upper( mNOM ) )

    SEEK mNOM

    oBrw:UpStable()

    oBrw:Refresh()

    oBrw:SetFocus()

    RETURN(.T.)

    **------------------ Função que retorna a ordem --------------------------------------------------

    STATIC FUNCTION Orden(nOrden,oBrw)

    IF nOrden=1

    SET ORDER TO 1

    ELSE

    SET ORDER TO 2

    ENDIF

    oBrw:GOTOP()

    oBrw:UpStable()

    oBrw:Refresh()

    oBrw:SetFocus()

    RETURN NIL

    **------------ Inclusao de Registros -------------------------------------------------------------

    STATIC Function INTFIS()

    LOCAL TAP := { "0 - TRANSFERENCIA DE MERCADORIAS","1 - COMPRAS PARA COMERCIALIZACAO","2 - VENDAS DE MERCADORIAS"}

    SET ORDER TO 1

    M->oCOFUN:=mCOFUN:=SPACE(5)

    M->oNOFUN:=mNOFUN:=SPACE(60)

    M->oNOFUN01:=mNOFUN01:=SPACE(60)

    M->oTAP:=mTAP:=SPACE(1)

    AB=1

    DEFINE DIALOG oDlgPLA from 15,12 to 23,102;

    TITLE 'Inclusao de Codigos Fiscais';

    COLOR CLR_BLACK, CLR_HGRAY

    oDlgPLA:LHELPICON := .F.

    @00,0.7 TO 03.0,50.3

    @01,01 SAY "CODIGO:"

    @01,05 GET oCOFUN VAR mCOFUN OF oDlgPLA SIZE 25,12 PICT "9.999" VALID VERCOF(mCOFUN)

    @01,09 SAY "LINHA 1:"

    @01,13 GET oNOFUN VAR mNOFUN OF oDlgPLA SIZE 245,12 PICT '@R'

    @02,09 SAY "LINHA 2:"

    @02,13 GET oNOFUN01 VAR mNOFUN01 OF oDlgPLA SIZE 245,12 PICT "@R"

    @03.50,01 SAY "TIPO DE OPERACAO:"

    @03.18,10 COMBOBOX mTAP ITEMS TAP OF oDlgPLA SIZE 140,40 VALID VEROP(mTAP)

    @04.0,40.5 BUTTON "&Gravar" OF oDlgPLA SIZE 33,08 ACTION {||GRAVPLA(),oBrw:UpStable(),oBrw:refresh(),oBrw:SetFocus(),oDlgPLA:end()}

    @04.0,45.5 BUTTON "&Sair" OF oDlgPLA SIZE 33,08 ACTION oDlgPLA:end() CANCEL

    ACTIVATE DIALOG oDlgPLA CENTERED

    RETURN .T.

    **------------ Edicao de Registros ---------------------------------------------------------------

    STATIC Function EDFIS()

    LOCAL TAP := { "0 - TRANSFERENCIA DE MERCADORIAS","1 - COMPRAS PARA COMERCIALIZACAO","2 - VENDAS DE MERCADORIAS"}

    SET ORDER TO 1

    M->oCOFUN:=mCOFUN:=COFIS1->COFUN

    M->oNOFUN:=mNOFUN:=COFIS1->NOFUN

    M->oNOFUN01:=mNOFUN01:=COFIS1->NOFUN01

    M->oTAP:=mTAP:=COFIS1->VENDA

    AB=0

    DEFINE DIALOG oDlgPLA from 15,12 to 23,102;

    TITLE 'Alteracao de Codigos Fiscais';

    COLOR CLR_BLACK, CLR_HGRAY

    oDlgPLA:LHELPICON := .F.

    @00,0.7 TO 03.0,50.3

    @01,01 SAY "CODIGO:"

    @01,05 SAY oCOFUN VAR mCOFUN OF oDlgPLA SIZE 25,12

    @01,09 SAY "LINHA 1:"

    @01,13 GET oNOFUN VAR mNOFUN OF oDlgPLA SIZE 245,12 PICT "@R"

    @02,09 SAY "LINHA 2:"

    @02,13 GET oNOFUN01 VAR mNOFUN01 OF oDlgPLA SIZE 245,12 PICT "@R"

    @03.50,01 SAY "TIPO DE OPERACAO:"

    @03.18,10 COMBOBOX mTAP ITEMS TAP OF oDlgPLA SIZE 140,40 VALID VEROP(mTAP)

    @04.0,40.5 BUTTON "&Gravar" OF oDlgPLA SIZE 33,08 ACTION {||GRAVPLA(),oBrw:UpStable(),oBrw:refresh(),oBrw:SetFocus(),oDlgPLA:end()}

    @04.0,45.5 BUTTON "&Sair" OF oDlgPLA SIZE 33,08 ACTION oDlgPLA:end() CANCEL

    ACTIVATE DIALOG oDlgPLA CENTERED

    RETURN .T.

    **------------ Pesquisa de Codigos Fiscais -------------------------------------------------------

    STATIC Function VERCOF()

    SET ORDER TO 1

    GOTO TOP

    SEEK mCOFUN

    IF COFUN=mCOFUN

    TONE(300,3)

    MsgInfo("Codigo ja Cadastrado! ","Atencao")

    oDlgPLA:end()

    oBrw:UpStable()

    oBrw:Refresh()

    oBrw:SetFocus()

    ENDIF

    RETURN .T.

    **------------ Validação Tipo de Operação --------------------------------------------------------

    STATIC FUNCTION VEROP(mTAP)

    IF EMPTY(mTAP)

    TONE(300,3)

    MsgInfo("Campo vazio - preenchimento obrigatorio! ","Atencao")

    RETURN .F.

    ELSE

    RETURN .T.

    ENDIF

    **------------ Gravacao de Registros -------------------------------------------------------------

    STATIC Function GRAVPLA()

    IF AB=1

    APPEND BLANK

    ENDIF

    DBSETORDER(0)

    IF RECLOCK(4)

    REPLACE COFUN WITH mCOFUN,NOFUN WITH mNOFUN,NOFUN01 WITH mNOFUN01,VENDA WITH mTAP

    DBSETORDER(1)

    COMMIT

    UNLOCK

    ENDIF

    oDlgPLA:UpDate()

    oDlgPLA:SetFocus()

    RETURN .T.

    **------------ Exclusao de Registros -------------------------------------------------------------

    STATIC Function DEFIS()

    M->mCOFUN:=COFUN

    IF MsgYesNo("Voce realmente deseja Excluir este Codigo !","Favor, confirme")

    IF COFUN = mCOFUN

    DBSETORDER(0)

    IF RECLOCK(4)

    DELETE

    DBSETORDER(1)

    UNLOCK

    ENDIF

    IF EOF()

    SKIP(-1)

    ENDIF

    oBrw:UpStable()

    oBrw:Refresh()

    oBrw:SetFocus()

    RETURN NIL

    ENDIF

    ELSE

    RETURN NIL

    ENDIF

  18. PESSOAL,

    Todas as respostas tendem a considerar que o problema estaria na máscara e no tamanho do SIZE para permitir a vizualização.

    Antes de todas essas respostas já tinha feito os mais diversos testes. Garanto que nada tem a ver com tipo de máscara ou tamanho do SIZE para permitir vizualização.

    Não sei o que é. Quando, e se descobrir, informo.

    Grato pela atenção

    NILSON

  19. PESSOAL

    Mudei a mascara para '@R' pois tenho que misturar caracteres maisculos e minisculos. Não resolveu.

    E digo mais; se uso o programa num NOTEBOOK dá o mesmo problema, só que a possibilidade de inserção de caracter é maior do que num computador normal.

    Se não fui claro:

    Num computador normal -> dos 60 espaços consigo inserir 50 caracteres

    Num NOTEBOOK -> dos 60 espaços consigo inserir 55 caracteres

    Durma com um barulho desse

    Grato

    NILSON

  20. **------------ Inclusao de Registros -------------------------------------------------------------

    STATIC Function INTFIS()

    LOCAL TAP := { "0 - TRANSFERENCIA DE MERCADORIAS","1 - COMPRAS PARA COMERCIALIZACAO","2 - VENDAS DE MERCADORIAS"}

    SET ORDER TO 1

    oCOFUN:=mCOFUN:=SPACE(5)

    oNOFUN:=mNOFUN:=SPACE(60)

    oNOFUN01:=mNOFUN01:=SPACE(60)

    M->oTAP:=mTAP:=SPACE(1)

    AB=1

    DEFINE DIALOG oDlgPLA from 15,12 to 23,102;

    TITLE 'Inclusao de Codigos Fiscais';

    COLOR CLR_BLACK, CLR_HGRAY

    oDlgPLA:LHELPICON := .F.

    @00,0.7 TO 03.0,50.3

    @01,01 SAY "CODIGO:"

    @01,05 GET oCOFUN VAR mCOFUN OF oDlgPLA SIZE 25,12 PICT "9.999" VALID VERCOF(mCOFUN)

    @01,09 SAY "LINHA 1:"

    @01,13 GET oNOFUN VAR mNOFUN OF oDlgPLA SIZE 245,12 PICT "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

    @02,09 SAY "LINHA 2:"

    @02,13 GET oNOFUN01 VAR mNOFUN01 OF oDlgPLA SIZE 245,12 PICT "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

    @03.50,01 SAY "TIPO DE OPERACAO:"

    @03.18,10 COMBOBOX mTAP ITEMS TAP OF oDlgPLA SIZE 140,40 VALID VEROP(mTAP)

    @04.0,40.5 BUTTON "&Gravar" OF oDlgPLA SIZE 33,08 ACTION {||GRAVPLA(),oBrw:UpStable(),oBrw:refresh(),oBrw:SetFocus(),oDlgPLA:end()}

    @04.0,45.5 BUTTON "&Sair" OF oDlgPLA SIZE 33,08 ACTION oDlgPLA:end() CANCEL

    ACTIVATE DIALOG oDlgPLA CENTERED

    RETURN .T.

×
×
  • Create New...