Jump to content
Fivewin Brasil

maudruidas

Membros
  • Posts

    905
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by maudruidas

  1. Boa tarde, estou tentando compilar um exemplo da Biblioteca Acbr, porém ele está em Harbour. Tem duas funções que ao compilar dá erro. As funções são: hb_iniWriteStr()hb_iniReadStr(). Oque poderia substituir estas respectivas funções?. Ou preciso carregar alguma outra LIB?. Vejam o programa abaixo:

       local sat
       local vendaRetorno, strIniVenda
       local hIni, hIniVenda
       LOCAL cSection
       
       sat := ACBrSat():New()
       //                      Sessão       Chave    Valor
       // Configurações de log da Lib
       sat:ConfigGravarValor("Principal", "LogNivel", "4") // logParanoico     
       sat:ConfigGravarValor("Principal", "LogPath", "C:\SISACBR")

       //Configurações do Sat
       sat:ConfigGravarValor("SAT", "Modelo", "2") // satDinamico_stdcall
       sat:ConfigGravarValor("SAT", "NomeDLL", "C:\SAT\SAT.dll")
       sat:ConfigGravarValor("SAT", "CodigoDeAtivacao", "12345678")
       sat:ConfigGravarValor("SAT", "SignAC", "SGR-SAT SISTEMA DE GESTAO E RETAGUARDA DO SAT")
       
       // Softhouse   
       sat:ConfigGravarValor("SATConfig", "infCFe_versaoDadosEnt", "0.07")
       sat:ConfigGravarValor("SATConfig", "ide_CNPJ", "16716114000172")
       sat:ConfigGravarValor("SATConfig", "ide_numeroCaixa", "0")

       // Emitente
       sat:ConfigGravarValor("SATConfig", "emit_CNPJ", "14200166000166")
       sat:ConfigGravarValor("SATConfig", "emit_IE", "111111111111")
       sat:ConfigGravarValor("SATConfig", "emit_IM", "")
       sat:ConfigGravarValor("SATConfig", "emit_cRegTrib", "0") // RTSimplesNacional
       sat:ConfigGravarValor("SATConfig", "emit_cRegTribISSQN", "0") // RTISSMicroempresaMunicipal
       sat:ConfigGravarValor("SATConfig", "emit_indRatISSQN", "0") // irSim

       // Extrato
       sat:ConfigGravarValor("Extrato", "Tipo", "0") // teFortes
       sat:ConfigGravarValor("Extrato", "MostraPreview", "1") // True

       // Salvando configurações
       sat:ConfigGravar("")

       sat:Inicializar()

       ? sat:ConsultarStatusOperacional()

       // Gerando ini venda
       hIniVenda := Hash()
       hIniVenda["infCFe"] := Hash()
       hIniVenda["infCFe"]["versao"] := "0.08"

       hIniVenda["Destinatario"] := Hash()
       hIniVenda["Destinatario"]["CNPJCPF"] := "05481336000137"
       hIniVenda["Destinatario"]["xNome"] := "D.J. SYSTEM"

       hIniVenda["Entrega"] := Hash()
       hIniVenda["Entrega"]["xLgr"] := "Rua Cel. Aureliano de Camargo"
       hIniVenda["Entrega"]["nro"] := "973"
       hIniVenda["Entrega"]["xCpl"] := ""
       hIniVenda["Entrega"]["xBairro"] := "Centro"
       hIniVenda["Entrega"]["xMun"] := "Tatui"
       hIniVenda["Entrega"]["UF"] := "SP"

       hIniVenda["Produto001"] := Hash()
       hIniVenda["Produto001"]["cProd"] := "1189"
       hIniVenda["Produto001"]["infAdProd"] := "Teste de Produto"
       hIniVenda["Produto001"]["cEAN"] := ""
       hIniVenda["Produto001"]["xProd"] := "OVO VERMELHO"
       hIniVenda["Produto001"]["NCM"] := "04072100"
       hIniVenda["Produto001"]["CFOP"] := "5102"
       hIniVenda["Produto001"]["uCom"] := "DZ"
       hIniVenda["Produto001"]["Combustivel"] := "0"
       hIniVenda["Produto001"]["qCom"] := "510"
       hIniVenda["Produto001"]["vUnCom"] := "2,70"
       hIniVenda["Produto001"]["indRegra"] := "A"
       hIniVenda["Produto001"]["vDesc"] := "0"
       hIniVenda["Produto001"]["vOutro"] := "0"
       hIniVenda["Produto001"]["vItem12741"] := "137,00"

       hIniVenda["ObsFiscoDet001001"] := Hash()
       hIniVenda["ObsFiscoDet001001"]["xCampoDet"] := "Teste"
       hIniVenda["ObsFiscoDet001001"]["xTextoDet"] := "Texto Teste"

       hIniVenda["ICMS001"] := Hash()
       hIniVenda["ICMS001"]["Origem"] := "0"
       hIniVenda["ICMS001"]["CSOSN"] := "500"

       hIniVenda["PIS001"] := Hash()
       hIniVenda["PIS001"]["CST"] := "07"

       hIniVenda["COFINS001"] := Hash()
       hIniVenda["COFINS001"]["CST"] := "07"

       hIniVenda["Total"] := Hash()
       hIniVenda["Total"]["vCFeLei12741"] := "137,00"

       hIniVenda["DescAcrEntr"] := Hash()
       hIniVenda["DescAcrEntr"]["vDescSubtot"] := "7,00"

       hIniVenda["Pagto001"] := Hash()
       hIniVenda["Pagto001"]["cMP"] := "01"
       hIniVenda["Pagto001"]["vMP"] := "1400"

       hIniVenda["DadosAdicionais"] := Hash()
       hIniVenda["DadosAdicionais"]["infCpl"] := "Teste emissao CFe/SAT"

       hIniVenda["ObsFisco001"] := Hash()
       hIniVenda["ObsFisco001"]["xCampo"] := "ObsFisco 1"
       hIniVenda["ObsFisco001"]["xTexto"] := "Teste ObsFisco 1"

      strIniVenda := hb_iniWriteStr(hIniVenda)

       // Venda 
       ? "Ini Venda"
       ? strIniVenda
       ? ""
       ? "-------------------------------------------------------------------------------------------------------------"
       ? ""


       vendaRetorno := sat:CriarEnviarCFe(strIniVenda)
       ? vendaRetorno
       ? ""
       ? "-------------------------------------------------------------------------------------------------------------"
       ? ""
       hIni := hb_iniReadStr(vendaRetorno)
       cSection := hIni["ENVIO"]

       if cSection["CodigoDeRetorno"] != "6000"
          ? cSection["Resultado"]
       else
          ? "Impressão Preview"
          sat:ImprimirExtratoVenda(cSection["XML"], "")
          ? "Impressão PDF"
          ? sat:GerarPDFExtratoVenda(cSection["XML"], "")
       endif

       sat:DesInicializar()
       sat:Destroy()
       sat := nil

  2. Bom dia, menu sistema em modo de Produção está funcionando perfeitamente, porém, em modo de Homologação ao buscar o recibo ele di que não foi possível encontrar na Sefaz. Pelo site da Sefaz verifiquei que a Nfe está lá. Vocês saberiam me dizer se mudou alguma coisa na Sefaz?. Vejam como faço para consultar:

    Xml de envio:

    <?xml version="1.0" encoding="UTF-8"?>

    -<soap12:Envelope xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">


    -<soap12:Body>


    -<nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NFeRetAutorizacao4">


    -<consReciNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="4.00">

    <tpAmb>2</tpAmb>

    <nRec>351000172228685</nRec>

    </consReciNFe>

    </nfeDadosMsg>

    </soap12:Body>

    </soap12:Envelope>

     

    Função de Envio:

    Function ConsultaRecibo(cChaveNfe,lBotao,lRecibo,cRecibo,cNomeComando)
    //----------------------------------------------------//
    local response  ,oXmlDocons ,cStat ,cRet
    Local cXml:="" ,nFileHandle
    Local oXmldsig,oSchema,cArqXml,cAss,dsigKey,cXMLEnv,x,cXmlRet,cwsdl,lErro:=.f.
    Local aFiles,oCertificates,oStore,oCertificados,oCertSelecao,A1Certificate,signedKey,np,nresult,PosFim,PosIni
    Local mI ,cSubjectName ,cCN:="",oServerWS ,cCERT ,aRETORNO,e,oError,n
    Local assinar,assinatura,oTxt ,cxXml,sNamespace,objSchemas,oXSD ,oErr
    Local eXml,rXml,cSoapAction,cContentType ,oXmlURI ,oXmlNode ,oMotivo,oSoapAction
    Local cNameCertific,cHost,oDOMDocons
    Default lBotao:=.F.,lRecibo:=.F.,cRecibo:=''
    DEFAULT cChaveNfe := NFCCAB->ChaveNFE


    SELE 28
    tpAmb := STR(HOMPRO,1)

    if Empty(cChaveNfe)
       Return "Chave NFe não informada"
    Endif
    if Empty(cRecibo)
       Return "Número de recibo não localizado "
    Endif

    try
       oDOMDocons       := xhb_CreateObject( _MSXML2_DOMDocument )
       oDOMDocons:async := .F.
       oDOMDocons:resolveExternals := .F.
       oDOMDocons:validateOnParse  := .T.
       oDOMDocons:preserveWhiteSpace := .T.
    catch
       Return "Problema ao criar objetos solicitados."
    end

          cXml+='<?xml version="1.0" encoding="utf-8"?>'
          cXml+='<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'
          cXml+='<soap12:Body>'
          cXml+='<nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NFeRetAutorizacao4">'
          cXml+='<consReciNFe versao="4.00" xmlns="http://www.portalfiscal.inf.br/nfe">'
          cXml+="<tpAmb>"+tpAmb+"</tpAmb>"
          cXml+='<nRec>'+cRecibo+'</nRec>'
          cXml+='</consReciNFe>'
          cXml+='</nfeDadosMsg>'
          cXml+='</soap12:Body>'
          cXml+='</soap12:Envelope>'


    //Cria o XML em arquivo
    nFileHandle:=FCreate('.\temp\CONSULTA_NFE.XML',)
    FWrite(nFileHandle,cXml)
    FClose(nFileHandle)

    if cNomeComando =="SCAN"
       cUrl:=m->hDados['NFEReciboSCAN']
    Else
       cUrl:=m->hDados['NFERecibo']
    Endif

    cHost:=strtran(cUrl,"https://","")
    cHost:=strtran(cHost,"http://","")
    cHost:='www.'+substr(cHost,1,AT("/",cHost)-1)

          oServerWS:= xhb_CreateObject( _MSXML2_ServerXMLHTTP )
          oServerWS:open('POST',m->hDados['NFERecibo'] , .F.)
          oServerWS:setRequestHeader('Content-Type','application/soap+xml; charset=utf-8')
          oServerWS:setRequestHeader('SoapAction',m->hDados['NFERecibo'])

    //   if !empty(m->hDados['A1Certificate']) // somente para certificado A1
    // Seleciona o Cetificado para envio do xml com credenciais
    cCN:=m->hDados["SubjectName"]
    cNameCertific:=substr(cCN,4,AT(",",cCN)-4)
    oServerWS:setoption( 3,Alltrim(cNameCertific))
    //   Endif

    oDOMDocons:LoadXML(cXml)
    //-------------------------HOST DE ENVIO------------------------------------//
    if VerificaXmlValido(oDOMDocons)
       Try
          oServerWS:send(oDOMDocons)
       CATCH e
          RETURN 'Falha2: Não foi possível conectar-se ao servidor do SEFAZ, Servidor inativo ou inoperante.'
       END
    else
       return "F"
    endif
    DO WHILE oServerWS:readyState <> 4
       Millisec(5000)
    ENDDO
    //cErroRet:=''
    response  := oServerWS:responseText
    oXmlDocons := TXmlDocument():new()
    oXmlDocons:read( response )

    response := REMOVEACENTO( response , cNomeComando)

    SaveFile( ".\temp\RepRecibo.xml", response)
    Return response

     

    Ele sempre para na mensagem em negrito acima ou retorna em branco.

  3. Bom dia, minha impressora matricial não é USB, é paralelo.

    Continua dando o mesmo erro, observei que dentro desta Classe (Tdosprn.prg) não existe esta opção 

    OPRN:LZERABUFFER

    será que nesta versão fivewin está faltando eu compilar algo? Veja minha compilação:

    @ECHO OFF
    CLS
    ECHO ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
    ECHO ³ FiveWin for xHarbour 21.02 - Feb. 2021          Harbour development power  ³Ü
    ECHO ³ (c) FiveTech 1993-2021 for Microsoft Windows 9X/NT/200X/ME/XP/Vista/7/8/10 ³Û
    ECHO ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
    ECHO ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß

                                                                           
    ECHO Compiling...

    SET GT=GTGUI
    SET HDIR=C:\XHARBOUR21
    SET FWH=C:\FWH21
    SET BCDIR=C:\BCC73

    @If Exist SiscPF.exe Del SiscPF.exe
    @If Exist *.Bak      Del *.Bak
    @If Exist *.Obj      Del *.Obj
    @If Exist *.Log      Del *.Log
    @If Exist *.Map      Del *.Map
    @If Exist *.PPO      Del *.Ppo
    @If Exist *.TDS      Del *.TDS
    @If Exist *.Bc       Del *.bc
    @If Exist *.C        Del *.C

    %hdir%\bin\harbour SiscPF   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Entrada  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Funcoes  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Bematech /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Reorg    /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Config   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Sobre    /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cademp   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour CADGRU   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relgru   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Codbar   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cadsub   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relsub   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cadpro   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relpro   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Etipro   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cadcli   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relcli   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Placli   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relani   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Carani   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cadfor   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relfor   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cadusu   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relusu   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Pdv      /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Senusu   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Vendas   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cadest   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cadcid   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relcid   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cadpra   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relpra   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Extrato  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relbal   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relest   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relpat   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Venmen   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Balvpro  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relmais  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Baldia   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Balmes   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relrec   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Atrasin  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Atrana   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Balcon   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Calcpro  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Atusal   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Tabela   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cadnot   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cadcfo   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relcfo   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Compras  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relnot   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Emicom   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relacom  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Carpag   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Compagsi /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Pagfre   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Conpag   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Conpagan /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relbxpg  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Atrap2   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Orca     /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Emiorc   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relorc   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Caddav   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Emidav   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Emicdav  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Reldav   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Impdav   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cadche   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cadban   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relban   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relche   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cadibpt  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relibpt  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Eminfe4  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Importa  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Gerar    /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cadcai   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cadcon   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relcoc   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cadcons  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relcos   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relcai   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relsin   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relcai2  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relcai3  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relcai5  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cadord   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cadtab   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Reltab   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cadtabpr /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relcup   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Gerbal   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relpatv  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Senger   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Senmod   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relvpro  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Altppro  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relmin   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Financ   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Confven  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relcsin  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relcana  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Conspre  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Emidav2  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Promono  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Proncm   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Calcus   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cotacao  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Bxcli    /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Recibo   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Bxfor    /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Cadcta   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour Relcta   /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log

    %hdir%\bin\harbour Code128  /n /i%fwh%\include;%hdir%\include   /p %2 %3  > clip.log

    %hdir%\bin\harbour ./include/Timprime /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log
    %hdir%\bin\harbour ./include/Utilprn  /n /i%fwh%\include;%hdir%\include /p %2 %3 > clip.log


    @type clip.log
    IF ERRORLEVEL 1 PAUSE
    IF ERRORLEVEL 1 GOTO EXIT

    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include SiscPF.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Entrada.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Funcoes.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Bematech.C >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Reorg.C    >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Config.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Sobre.C    >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cademp.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadgru.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relgru.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Codbar.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadsub.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relsub.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadpro.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relpro.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Etipro.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadcli.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relcli.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Placli.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relani.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Carani.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadfor.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relfor.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadusu.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relusu.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Pdv.C      >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Senusu.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Vendas.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadest.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadcid.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relcid.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadpra.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relpra.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Extrato.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relbal.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relest.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relpat.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Venmen.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Balvpro.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relmais.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Baldia.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Balmes.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relrec.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Atrasin.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Atrana.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Balcon.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Calcpro.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Atusal.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Tabela.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadnot.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadcfo.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relcfo.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Compras.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relnot.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Emicom.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relacom.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Carpag.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Compagsi.C >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Pagfre.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Conpag.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Conpagan.C >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relbxpg.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Atrap2.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Orca.C     >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Emiorc.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relorc.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Caddav.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Emidav.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Emicdav.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Reldav.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Impdav.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadche.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadban.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relban.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relche.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadibpt.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relibpt.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Eminfe4.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Importa.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Gerar.C    >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadcai.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadcon.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relcoc.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadcons.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relcos.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relcai.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relsin.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relcai2.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relcai3.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relcai5.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadord.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadtab.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Reltab.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadtabpr.C >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relcup.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Gerbal.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relpatv.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Senger.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Senmod.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relvpro.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Altppro.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relmin.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Financ.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Confven.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relcsin.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relcana.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Conspre.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Emidav2.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Promono.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Proncm.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Calcus.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cotacao.C  >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Bxcli.C    >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Recibo.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Bxfor.C    >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Cadcta.C   >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Relcta.C   >> clip.log

    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Code128.C  >> clip.log

    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Timprime.C >> clip.log
    %bcdir%\bin\bcc32 -O2 -M -c -D__HARBOUR__ -I%hdir%\include Utilprn.C  >> clip.log


    echo -O2 -eSiscPF.exe -I%hdir%\include SiscPF.c > b32.bc

    %bcdir%\bin\bcc32 -M -c -v @b32.bc
    :ENDCOMPILE


    echo c0w32.obj    + >  b32.bc
    echo SiscPF.obj   + >> b32.bc
    echo Entrada.obj  + >> b32.bc
    echo Funcoes.obj  + >> b32.bc
    echo Bematech.obj + >> b32.bc
    echo Reorg.obj    + >> b32.bc
    echo Config.obj   + >> b32.bc
    echo Sobre.obj    + >> b32.bc
    echo Cademp.Obj   + >> b32.bc
    echo CADGRU.Obj   + >> b32.bc
    echo Relgru.Obj   + >> b32.bc
    echo Codbar.Obj   + >> b32.bc
    echo Cadsub.Obj   + >> b32.bc
    echo Relsub.Obj   + >> b32.bc
    echo Cadpro.Obj   + >> b32.bc
    echo Relpro.Obj   + >> b32.bc
    echo Etipro.Obj   + >> b32.bc
    echo Cadcli.Obj   + >> b32.bc
    echo Relcli.Obj   + >> b32.bc
    echo Placli.Obj   + >> b32.bc
    echo Carani.Obj   + >> b32.bc
    echo Relani.Obj   + >> b32.bc
    echo Cadfor.Obj   + >> b32.bc
    echo Relfor.Obj   + >> b32.bc
    echo Cadusu.Obj   + >> b32.bc
    echo Relusu.Obj   + >> b32.bc
    echo Pdv.Obj      + >> b32.bc
    echo Senusu.Obj   + >> b32.bc
    echo Vendas.Obj   + >> b32.bc
    echo Cadest.Obj   + >> b32.bc
    echo Cadcid.Obj   + >> b32.bc
    echo Relcid.Obj   + >> b32.bc
    echo Cadpra.Obj   + >> b32.bc
    echo Relpra.Obj   + >> b32.bc
    echo Extrato.Obj  + >> b32.bc
    echo Relbal.Obj   + >> b32.bc
    echo Relest.Obj   + >> b32.bc
    echo Relpat.Obj   + >> b32.bc
    echo Venmen.Obj   + >> b32.bc
    echo Balvpro.Obj  + >> b32.bc
    echo Relmais.Obj  + >> b32.bc
    echo Baldia.Obj   + >> b32.bc
    echo Balmes.Obj   + >> b32.bc
    echo Relrec.Obj   + >> b32.bc
    echo Atrasin.Obj  + >> b32.bc
    echo Atrana.Obj   + >> b32.bc
    echo Balcon.Obj   + >> b32.bc
    echo Calcpro.Obj  + >> b32.bc
    echo Atusal.Obj   + >> b32.bc
    echo Tabela.Obj   + >> b32.bc
    echo Cadnot.Obj   + >> b32.bc
    echo Cadcfo.Obj   + >> b32.bc
    echo Relcfo.Obj   + >> b32.bc
    echo Compras.Obj  + >> b32.bc
    echo Relnot.Obj   + >> b32.bc
    echo Emicom.Obj   + >> b32.bc
    echo Relacom.Obj  + >> b32.bc
    echo Carpag.Obj   + >> b32.bc
    echo Compagsi.Obj + >> b32.bc
    echo Pagfre.Obj   + >> b32.bc
    echo Conpag.Obj   + >> b32.bc
    echo Conpagan.Obj + >> b32.bc
    echo Relbxpg.Obj  + >> b32.bc
    echo Atrap2.Obj   + >> b32.bc
    echo Orca.Obj     + >> b32.bc
    echo Emiorc.Obj   + >> b32.bc
    echo Relorc.Obj   + >> b32.bc
    echo Caddav.Obj   + >> b32.bc
    echo Emidav.Obj   + >> b32.bc
    echo Emicdav.Obj  + >> b32.bc
    echo Reldav.Obj   + >> b32.bc
    echo Impdav.Obj   + >> b32.bc
    echo Cadche.Obj   + >> b32.bc
    echo Cadban.Obj   + >> b32.bc
    echo Relban.Obj   + >> b32.bc
    echo Relche.Obj   + >> b32.bc
    echo Cadibpt.Obj  + >> b32.bc
    echo Relibpt.Obj  + >> b32.bc
    echo Eminfe4.Obj  + >> b32.bc
    echo Importa.Obj  + >> b32.bc
    echo Gerar.Obj    + >> b32.bc
    echo Cadcai.Obj   + >> b32.bc
    echo Cadcon.Obj   + >> b32.bc
    echo Relcoc.Obj   + >> b32.bc
    echo Cadcons.Obj  + >> b32.bc
    echo Relcos.Obj   + >> b32.bc
    echo Relcai.Obj   + >> b32.bc
    echo Relsin.Obj   + >> b32.bc
    echo Relcai2.Obj  + >> b32.bc
    echo Relcai3.Obj  + >> b32.bc
    echo Relcai5.Obj  + >> b32.bc
    echo Cadord.Obj   + >> b32.bc
    echo Cadtab.Obj   + >> b32.bc
    echo Reltab.Obj   + >> b32.bc
    echo Cadtabpr.Obj + >> b32.bc
    echo Relcup.Obj   + >> b32.bc
    echo Gerbal.Obj   + >> b32.bc
    echo Relpatv.Obj  + >> b32.bc
    echo Senger.Obj   + >> b32.bc
    echo Senmod.Obj   + >> b32.bc
    echo Relvpro.Obj  + >> b32.bc
    echo Altppro.Obj  + >> b32.bc
    echo Relmin.Obj   + >> b32.bc
    echo Financ.Obj   + >> b32.bc
    echo Confven.Obj  + >> b32.bc
    echo Relcsin.Obj  + >> b32.bc
    echo Relcana.Obj  + >> b32.bc
    echo Conspre.Obj  + >> b32.bc
    echo Emidav2.Obj  + >> b32.bc
    echo Promono.Obj  + >> b32.bc
    echo Proncm.Obj   + >> b32.bc
    echo Calcus.Obj   + >> b32.bc
    echo Cotacao.Obj  + >> b32.bc
    echo Bxcli.Obj    + >> b32.bc
    echo Recibo.Obj   + >> b32.bc
    echo Bxfor.Obj    + >> b32.bc
    echo Cadcta.Obj   + >> b32.bc
    echo Relcta.Obj   + >> b32.bc

    echo Code128.Obj  + >> b32.bc

    echo Utilprn.Obj  + >> b32.bc
    echo Timprime.Obj + >> b32.bc

    echo SiscPF.obj >> b32.bc
    echo SiscPF.exe >> b32.bc
    echo SiscPF.map >> b32.bc

    echo %fwh%\lib\Fivehx.lib %fwh%\lib\FiveHC.lib %fwh%\lib\libmysql.lib  + >> b32.bc
    echo .\include\CODBAR.lib     + >> b32.bc
    echo %fwh%\lib\pgsql.lib      + >> b32.bc
    echo %fwh%\lib\libpq.lib      + >> b32.bc

    echo %hdir%\lib\hbhpdf.lib   + >> b32.bc
    echo %hdir%\lib\libharu.lib  + >> b32.bc
    echo %hdir%\lib\png.lib      + >> b32.bc
    echo %hdir%\lib\rtl.lib       + >> b32.bc
    echo %hdir%\lib\vm.lib        + >> b32.bc
    rem echo %hdirl%\%GT%.lib     + >> b32.bc
    echo %hdir%\lib\gtgui.lib     + >> b32.bc
    echo %hdir%\lib\lang.lib      + >> b32.bc
    echo %hdir%\lib\macro.lib     + >> b32.bc
    echo %hdir%\lib\rdd.lib       + >> b32.bc
    echo %hdir%\lib\dbfntx.lib    + >> b32.bc
    echo %hdir%\lib\dbfcdx.lib    + >> b32.bc
    echo %hdir%\lib\dbffpt.lib    + >> b32.bc
    echo %hdir%\lib\hbsix.lib     + >> b32.bc
    echo %hdir%\lib\debug.lib     + >> b32.bc
    echo %hdir%\lib\common.lib    + >> b32.bc
    echo %hdir%\lib\codepage.lib  + >> b32.bc
    echo %hdir%\lib\pp.lib        + >> b32.bc
    echo %hdir%\lib\pcrepos.lib   + >> b32.bc
    echo %hdir%\lib\ct.lib        + >> b32.bc
    echo %hdir%\lib\zlib.lib      + >> b32.bc
    echo %hdir%\lib\hbzip.lib     + >> b32.bc
    echo %hdir%\lib\libmisc.lib   + >> b32.bc
    echo %hdir%\lib\tip.lib       + >> b32.bc
    echo %hdir%\lib\hbzebra.lib  + >> b32.bc
    echo %hdir%\lib\png.lib       + >> b32.bc

    echo %bcdir%\lib\cw32.lib           + >> b32.bc
    echo %bcdir%\lib\import32.lib       + >> b32.bc
    echo %bcdir%\lib\uuid.lib           + >> b32.bc
    echo %bcdir%\lib\ws2_32.lib         + >> b32.bc
    echo %bcdir%\lib\psdk\odbc32.lib    + >> b32.bc
    echo %bcdir%\lib\psdk\rasapi32.lib  + >> b32.bc
    echo %bcdir%\lib\psdk\nddeapi.lib   + >> b32.bc
    echo %bcdir%\lib\psdk\msimg32.lib   + >> b32.bc
    echo %bcdir%\lib\psdk\psapi.lib     + >> b32.bc
    echo %bcdir%\lib\psdk\gdiplus.lib   + >> b32.bc
    echo %bcdir%\lib\psdk\iphlpapi.lib  + >> b32.bc
    echo %bcdir%\lib\psdk\shell32.lib,  >> b32.bc

    echo Sisc20n.res >> b32.bc

    %bcdir%\bin\ilink32 -Gn -aa -Tpe -s @b32.bc

    IF ERRORLEVEL 1 GOTO LINKERROR
    ECHO * Application successfully built

    SiscPF
    GOTO EXIT
    ECHO

    rem delete temporary files
    @del SiscPF.c

    :LINKERROR
    ECHO * There are errors
    GOTO EXIT

    :SINTAX
    ECHO    SYNTAX: Build [Program]     {-- No especifiques la extensi¢n PRG
    ECHO                                {-- Don't specify .PRG extension
    GOTO EXIT

    :NOEXIST
    ECHO The specified PRG SiscPF does not exist

    :EXIT
     

  4. O estranho que na minha versão antiga do Fivewin (7.0) ela funciona, e o prg não mudou nada, deve estar pegando outra versão do Tdosprn.

     

    Veja o PRG INTEIRO abaixo:

    #include "FiveWin.ch"
    #include "Utilprn.ch"

    #define PRETO  nRGB( 0,0,0)
    #define XPAZULC  nRGB( 111,143,175)
    #Define BRWBACK 14483196 // Amarelo enbranquecido
    #Define COR1 14410170
    #Define COR2 14810095
    #Define COR3 RGB(255,128,128)
    #Define COR4 RGB(250,168,86)   // Laranja
    #define CLR_AZUL nRGB(204, 218, 241)

    STATIC OMETER2,ODLCRL,XXI

    FUNCTION ETIPRO()
      LOCAL COP,PRO,VRAD2,CSAY1

      DEFINE FONT OFNC NAME "Arial" SIZE 0, -12 BOLD
      DEFINE FONT OGETFNT NAME "Arial" SIZE 0, -12
      DEFINE FONT OFNC3 NAME "ARIAL" SIZE 0, -13 BOLD
      DEFINE FONT OFNC4 NAME "ARIAL" SIZE 0, -11
      DEFINE FONT OFNC2 NAME "TIMES NEW ROMAN" SIZE 0, -17 BOLD
      DEFINE FONT OFNC5 NAME "TIMES NEW ROMAN" SIZE 6, -16 BOLD

      CorBot := { | lMouseOver | If( lMouseOver,;
                       { { 1/3, nRGB( 219, 230, 244 ), nRGB( 207-50, 221-25, 255 ) }, ;
                       { 2/3, nRGB( 201-50, 217-25, 255 ), nRGB( 231, 242, 255 ) }  ;
                       }, ;
                       { { 1/2, nRGB( 230, 230, 230 ), nRGB( 202, 223, 220 ) }, ;
                       { 1/2, nRGB( 181, 209, 210 ), nRGB( 230, 230, 230 ) }  ;
                       } ) }


      DEFINE DIALOG ODLEXT RESOURCE "DLGEPRO" COLOR CLR_BLACK,RGB(247,248,233) FONT OFNC;
      TITLE "Etiquetas em Colunas"
      ODLEXT : LHELPICON := .F.  // Tira a ? da janela
      ODLEXT : lTransparent := .T.

      VRAD2 := 1

      REDEFINE RADIO RDPR2 VAR VRAD2 ID 116,117,114,118 Color CLR_BLACK,GETSYSCOLOR(15) OF ODLEXT


      REDEFINE BTNBMP OBTN3 ID 111 OF ODLEXT ;
               RESOURCE "IMPRESS" LEFT 2007 ;
               PROMPT " &Imprime" TEXTRIGHT ;
               ACTION(IMPEPRO(VRAD2),VRAD2:=1,RDPR2:REFRESH())
               oBtn3:CTOOLTIP = "Imprime as Etiquetas"
               SET FONT OF OBTN3 TO OFNC
               oBtn3:bClrGrad = CorBot

      REDEFINE BTNBMP OBTN4 ID 112 OF ODLEXT ;
               RESOURCE "CANCELA" LEFT 2007 ;
               PROMPT "Cance&la" TEXTRIGHT ;
               ACTION ODLEXT:END()
               oBtn4:cToolTip = "Cancelar / Sair"
               SET FONT OF OBTN4 TO OFNC
               oBtn4:bClrGrad = CorBot

      ACTIVATE DIALOG ODLEXT CENTERED RESIZE16 ON INIT ROUNDRECTA( oDlext:hWnd, 20 )
      RETURN(.T.)


    FUNCTION IMPEPRO(VRAD2)
      LOCAL NTAM,COL,LN,NUM,NUM2,XCO,NETI,NLIN,NLI,NOR2,REDUZIDO,NORMAL,EXPRD,NOR

      SELE 26
      GO TOP
      IF EOF()
         MSGALERT("Lote de Etiquetas Está Vazio, Favor Incluir Produtos !!!","Mensagem")
         RETURN(.F.)
      ENDIF

      IMP := ESCIMP()  // ESCOLHE A TIPO DE IMPRESSÃO (MATRICIAL OU JATODE TINTA)

      IF IMP = 0
         RETURN NIL
      ENDIF

      IF IMP = 1
         IF VRAD2 = 3
            MSGALERT("Não Existe Impressão de 3 Col. Para Imp. Matricial","Atenção...")
            RETURN(NIL)
         ENDIF
         OPRN := TDOSPRN():NEW("LPT1")
         OPRN:LZERABUFFER:=.T. // PULAR PÁGINA=.F. NÃO PULAR=.T.    //(onde dá o erro)

         NOR := CHR(18)
         REDUZIDO := CHR(15)
         NORMAL := CHR(18)
         EXPRD := CHR(14)+CHR(15)
         NOR2 := CHR(27)+CHR(33)+CHR(0)+NOR
      ELSE
         PRINTER OPRN NAME "IMPRESSÃO DE ETIQUETAS EM COLUNAS" PREVIEW MODAL
      //   IF EMPTY( OPRN:hdc )
      //      RETURN NIL
       //  ENDIF
         OPRN:SETPAGE(9)
         NTAM:=oPrn:nLogPixelX()/10
         DEFINE FONT OFNT1 NAME "COURIER NEW" SIZE NTAM,-(NTAM+5)
         DEFINE FONT OFNT2 NAME "COURIER NEW" SIZE NTAM,-(NTAM+5) BOLD
         DEFINE FONT OFNT3 NAME "COURIER NEW" SIZE NTAM-3,-(NTAM+5) BOLD
         DEFINE FONT OFNT4 NAME "COURIER NEW" SIZE NTAM-18,-(NTAM+18) BOLD
         DEFINE FONT OFNT5 NAME "COURIER NEW" SIZE NTAM+2,-(NTAM+10) BOLD

         DEFINE FONT OFNT6 NAME "COURIER NEW" SIZE NTAM-32,-(NTAM+32) BOLD
         DEFINE FONT OFNT7 NAME "COURIER NEW" SIZE NTAM+1,-(NTAM+25) BOLD
         DEFINE FONT OFNT8 NAME "COURIER NEW" SIZE NTAM-30,-(NTAM+30) BOLD
         DEFINE FONT OFNT9 NAME "COURIER NEW" SIZE NTAM-2.5,-(NTAM+5) BOLD

      ENDIF

      CURSORWAIT()
      IF IMP = 1
         OPRN:STARTPAGE()
      ELSE
         PAGE
      ENDIF

      IF VRAD2 = 1   // UMA COL.
         LN   := 0
         NETI := 0

         SELE 26
         GO TOP
         DO WHILE !EOF()
            PRO := PRODUTO
            COP := QUANTIDADE

            SELE 11
            SET ORDER TO 1
            SEEK STR(PRO,13)

            DPRO := DESCRICAO
            PRE  := PRECO
            VIS  := PREVIS
            PER  := ((PRE*100)/VIS)-100

            XCO  := 0
            DO WHILE XCO < COP
               IF IMP = 1
                  oPrn:Say(LN,01,EXPRD + STRZERO(PRO,13) + " - " + NOR2 + REDUZIDO + SUBSTR(DPRO,1,20) + NORMAL)
                  LN := LN + 1
                  oPrn:Say(LN,01,EXPRD + "   A PRAZO   |   A VISTA")
                  LN := LN + 1
                  oPrn:Say(LN,01,EXPRD + "R$" + TRANS(PRE,"@E 99,999.99") + "  |  R$" + TRANS(VIS,"@E 99,999.99") + NOR2)
                  LN := LN + 1
    //              IF STR(PRE,10,2) > STR(100,10,2)
    //                 oPrn:Say(LN,01,REDUZIDO + "2X R$" + TRANS(PRE/2,"@E 999.99") + " (30/60 Dias)  |")
    //              ELSE
                     oPrn:Say(LN,01,REDUZIDO + "1X R$" + TRANS(PRE,"@E 999.99") + " (30 Dias)     |")
    //              ENDIF
                  LN := LN + 1
                  oPrn:Say(LN,01,"Tot R$" + TRANS(PRE,"@E 999.99") + "  % Acr. " + STR(PER,5,2) + " |" + NORMAL)
                  LN := LN + 2
               ELSE
                  oPrn:CMSay(LN,2,"       " + STRZERO(PRO,13),OFNT2)
                  IF XCO = 0             // Na Primeira estiqueta tem que pular mais (Não sei Pq)
                     LN := LN + 0.7
                  ELSE
                     LN := LN + 0.4
                  ENDIF
                  oPrn:CMSay(LN,0,SUBSTR(DPRO,1,38),OFNT3)
                  LN := LN + 0.4
                  oPrn:CMSay(LN,0,"       A PRAZO    |     A VISTA",OFNT5)
                  LN := LN + 0.4
                  oPrn:CMSay(LN,0,"     R$" + TRANS(PRE,"@E 99,999.99")  + "  |   R$" + TRANS(VIS,"@E 99,999.99"),OFNT5)
                  LN := LN + 0.4
    //              IF STR(PRE,10,2) > STR(100,10,2)
    //                 oPrn:CMSay(LN,0,"2X R$" + TRANS(PRE/2,"@E 999.99") + " (30/60 Dias)",OFNT4)
    //              ELSE
                     oPrn:CMSay(LN,0,"1X R$" + TRANS(PRE,"@E 99,999.99") + " (30 Dias)",OFNT4)
    //              ENDIF
                  oPrn:CMSay(LN,0,SPACE(18) + "|",OFNT5)
                  LN := LN + 0.4
                  oPrn:CMSay(LN,0,"T R$" + TRANS(PRE,"@E 99,999.99") + " % Acr. " + STR(PER,5,2),OFNT4)
                  oPrn:CMSay(LN,0,SPACE(18) + "|",OFNT5)
                  LN := LN + 0.8
               ENDIF
               XCO  := XCO + 1
               NETI := NETI + 1
               IF IMP = 1
                  IF NETI = 11
    //                 NETI := 0
    //                 LN   := 0
    //                 OPRN:ENDPAGE()
                  ENDIF
               ELSE
                  IF NETI = 9
                     NETI := 0
                     LN   := 0
                     ENDPAGE
                     PAGE
                  ENDIF
               ENDIF
            ENDDO
            SELE 26
            SKIP
            UNLOCK
         ENDDO

         IF IMP = 1
            OPRN:LZERABUFFER:=.F. // PULAR PÁGINA=.F. NÃO PULAR=.T.
            OPRN:ENDPAGE()
            OPRN:END()
         ELSE
            ENDPAGE
            ENDPRINT
         ENDIF
      ENDIF

      IF VRAD2 = 2   // DUAS COL.

         SELE 4
         ZAP

         *************************** Adiciona os produtos na Matriz
         SELE 26
         GO TOP
         DO WHILE !EOF()
            PRO := PRODUTO
            COP := QUANTIDADE

            XCO := 0
            DO WHILE XCO < COP
               SELE 4
               INCREG2()
               REPL PRODUTO WITH PRO
               UNLOCK
               COMMIT

               XCO := XCO + 1
            ENDDO

            SELE 26
            SKIP
            UNLOCK
         ENDDO
         ***************************************

         LN   := 1.52
         NETI := 0
         XCO  := 0

         SELE 4
         GO TOP
         DO WHILE !EOF()
            IF IMP = 1
     //          NETI := 0
    //           LN   := 0
     //          OPRN:ENDPAGE()
            ELSE
               IF NETI = 10
                  NETI := 0
                  LN   := 1.52
                  XCO  := 0
                  ENDPAGE
                  PAGE
               ENDIF
            ENDIF

            PRO1 := PRODUTO

            SELE 11
            SET ORDER TO 1
            SEEK STR(PRO1,13)

            DPRO1 := DESCRICAO
            PRE1  := PRECO
            VIS1  := PREVIS
            PER1  := ((PRE1*100)/VIS1)-100

            SELE 4
            SKIP
            UNLOCK

            IF !EOF()
               PRO2 := PRODUTO

               SELE 11
               SET ORDER TO 1
               SEEK STR(PRO2,13)

               DPRO2 := DESCRICAO
               PRE2  := PRECO
               VIS2  := PREVIS
               PER2  := ((PRE2*100)/VIS2)-100
            ELSE
               PRO2  := 0
               PRE2  := 0
            ENDIF

            IF IMP = 1
               oPrn:Say(LN,01,EXPRD + STRZERO(PRO1,13) + "-" + NOR2 + REDUZIDO + SUBSTR(DPRO1,1,38) +;
                     IIF(PRO2<>0,EXPRD + "     " + STRZERO(PRO2,13) + "-" + NOR2 + REDUZIDO + SUBSTR(DPRO2,1,38) + NORMAL,""))
               LN := LN + 1
               oPrn:Say(LN,01,EXPRD + "   A PRAZO   |   A VISTA" + IIF(PRO2<>0,SPACE(14) + "   A PRAZO   |   A VISTA",""))
               LN := LN + 1
               oPrn:Say(LN,01,EXPRD + "R$" + TRANS(PRE1,"@E 99,999.99") + "  |  R$" + TRANS(VIS1,"@E 99,999.99") +;
                     IIF(PRO2<>0,EXPRD + SPACE(11) + "R$" + TRANS(PRE2,"@E 99,999.99") + "  |  R$" + TRANS(VIS2,"@E 99,999.99") + NOR2,""))
               LN := LN + 1
               oPrn:Say(LN,01,REDUZIDO + "1X R$" + TRANS(PRE1,"@E 999.99") + " (30 Dias)     |" +;
                     IIF(PRO2<>0,SPACE(49) + "1X R$" + TRANS(PRE2,"@E 999.99") + " (30 Dias)     |",""))
               LN := LN + 1
               oPrn:Say(LN,01,"Tot R$" + TRANS(PRE1,"@E 999.99") + "  % Acr. " + STR(PER1,5,2) + " |" +;
                     IIF(PRO2<>0,SPACE(49) + "Tot R$" + TRANS(PRE2,"@E 999.99") + "  % Acr. " + STR(PER2,5,2) + " |" + NORMAL,""))
               LN := LN + 2
    //           oPrn:Say(LN,01,REDUZIDO + "1X R$" + TRANS(PRE1,"@E 999.99") + " (30 Dias)     |" +;
    //                 IIF(PRO2<>0,SPACE(49) + IIF(STR(PRE2,10,2) > STR(100,10,2),"2X R$" + TRANS(PRE2/2,"@E 999.99") + " (30/60 Dias)  |","1X R$" + TRANS(PRE2,"@E 999.99") + " (30 Dias)     |"),""))
    //           oPrn:Say(LN,01,REDUZIDO + IIF(STR(PRE1,10,2) > STR(100,10,2),"2X R$" + TRANS(PRE1/2,"@E 999.99") + " (30/60 Dias)  |","1X R$" + TRANS(PRE1,"@E 999.99") + " (30 Dias)     |") +;
    //                 IIF(PRO2<>0,SPACE(49) + IIF(STR(PRE2,10,2) > STR(100,10,2),"2X R$" + TRANS(PRE2/2,"@E 999.99") + " (30/60 Dias)  |","1X R$" + TRANS(PRE2,"@E 999.99") + " (30 Dias)     |"),""))
            ELSE
               oPrn:CMSay(LN,2,"       " + STRZERO(PRO1,13) + IIF(PRO2<>0,SPACE(28) + STRZERO(PRO2,13),""),OFNT2)
    //           IF XCO = 0             // Na Primeira estiqueta tem que pular mais (Não sei Pq)
    //              LN := LN + 0.7
    //           ELSE
                  LN := LN + 0.4
    //           ENDIF
               XCO := 1
               oPrn:CMSay(LN,0.8,SUBSTR(DPRO1,1,38),OFNT3)
               IF PRO2<>0
                  oPrn:CMSay(LN,11.5,SUBSTR(DPRO2,1,38),OFNT3)
               ENDIF

               LN = LN + 0.4
               oPrn:CMSay(LN,0,"         A PRAZO    |     A VISTA                "+IIF(PRO2<>0,"A PRAZO    |     A VISTA",""),OFNT5)
               LN = LN + 0.4
               oPrn:CMSay(LN,0,"     R$" + TRANS(PRE1,"@E 99,999.99")  + "    |   R$" + TRANS(VIS1,"@E 99,999.99")+;
               IIF(PRO2<>0,"            R$" + TRANS(PRE2,"@E 99,999.99")  + "  |   R$" + TRANS(VIS2,"@E 99,999.99"),""),OFNT5)

               LN = LN + 0.4

               oPrn:CMSay(LN,0.8,"1X R$" + TRANS(PRE1,"@E 99,999.99") + " (30 Dias)" ,OFNT4)
               IF PRO2<>0
                  oPrn:CMSay(LN,11.5,"1X R$" + TRANS(PRE2,"@E 99,999.99") + " (30 Dias)",OFNT4)
               ENDIF
               oPrn:CMSay(LN,0,SPACE(20) + "|" + IIF(PRO2<>0,SPACE(39) + "|",""),OFNT5)

               LN = LN + 0.4

               oPrn:CMSay(LN,0.8,"T R$" + TRANS(PRE1,"@E 99,999.99") + " % Acr. " + STR(PER1,5,2),OFNT4)
               IF PRO2<>0
                  oPrn:CMSay(LN,11.5,"T R$" + TRANS(PRE2,"@E 99,999.99") + " % Acr. " + STR(PER2,5,2),OFNT4)
               ENDIF
               oPrn:CMSay(LN,0,SPACE(20) + "|" + IIF(PRO2<>0,SPACE(39) + "|",""),OFNT5)

               LN = LN + 0.55
    //           oPrn:CMSay(LN,0,IIF(STR(PRE1,10,2) > STR(100,10,2),"2X R$" + TRANS(PRE1/2,"@E 999.99") + " (30/60 Dias)","1X R$" + TRANS(PRE1,"@E 999.99") + " (30 Dias)") +;
    //           IIF(PRO2<>0,SPACE(38)+"1X R$" + TRANS(PRE2,"@E 999.99") + " (30 Dias)",""),OFNT4)
    //           IIF(PRO2<>0,SPACE(38)+IIF(STR(PRE2,10,2) > STR(100,10,2),"2X R$" + TRANS(PRE2/2,"@E 999.99") + " (30/60 Dias)","1X R$" + TRANS(PRE2,"@E 999.99") + " (30 Dias)"),""),OFNT4)
    //           oPrn:CMSay(LN,0,IIF(STR(PRE1,10,2) > STR(100,10,2),"2X R$" + TRANS(PRE1/2,"@E 999.99") + " (30/60 Dias)","1X R$" + TRANS(PRE1,"@E 999.99") + " (30 Dias)") +;
            ENDIF
            NETI := NETI + 1
            SELE 4
            IF !EOF()
               SKIP
               UNLOCK 
            ENDIF
         ENDDO
         IF IMP = 1
            OPRN:LZERABUFFER:=.F. // PULAR PÁGINA=.F. NÃO PULAR=.T.
            OPRN:ENDPAGE()
            OPRN:END()
         ELSE
    //        IF NETI <> 10
               ENDPAGE
    //        ENDIF
            ENDPRINT
         ENDIF
      ENDIF

      IF VRAD2 = 3   // TRÊS COL. APENAS JATO DE TINTA

         SELE 4
         ZAP

         *************************** Adiciona os produtos na Matriz
         SELE 26
         GO TOP
         DO WHILE !EOF()
            PRO := PRODUTO
            COP := QUANTIDADE

            XCO := 0
            DO WHILE XCO < COP
               SELE 4
               INCREG2()
               REPL PRODUTO WITH PRO
               UNLOCK
               COMMIT

               XCO := XCO + 1
            ENDDO

            SELE 26
            SKIP
            UNLOCK
         ENDDO
         ***************************************

         LN   := 1.52
         NETI := 0
         XCO  := 0

         SELE 4
         GO TOP
         DO WHILE !EOF()
            IF NETI = 10
               NETI := 0
               LN   := 1.52
               XCO  := 0
               ENDPAGE
               PAGE
            ENDIF

            PRO1 := PRODUTO
            ************************* PEGA O 1º PRODUTO
            SELE 11
            SET ORDER TO 1
            SEEK STR(PRO1,13)

            DPRO1 := DESCRICAO
            PRE1  := PRECO
            VIS1  := PREVIS
            PER1  := ((PRE1*100)/VIS1)-100

            ************************* PEGA O 2º PRODUTO SE TIVER
            SELE 4
            SKIP
            UNLOCK

            IF !EOF()
               PRO2 := PRODUTO

               SELE 11
               SET ORDER TO 1
               SEEK STR(PRO2,13)

               DPRO2 := DESCRICAO
               PRE2  := PRECO
               VIS2  := PREVIS
               PER2  := ((PRE2*100)/VIS2)-100
            ELSE
               PRO2  := 0
               PRE2  := 0
            ENDIF

            ************************* PEGA O 3º PRODUTO SE TIVER
            SELE 4
            SKIP
            UNLOCK

            IF !EOF()
               PRO3 := PRODUTO

               SELE 11
               SET ORDER TO 1
               SEEK STR(PRO3,13)

               DPRO3 := DESCRICAO
               PRE3  := PRECO
               VIS3  := PREVIS
               PER3  := ((PRE3*100)/VIS3)-100
            ELSE
               PRO3  := 0
               PRE3  := 0
            ENDIF


            IF IMP = 1
            ELSE
               oPrn:CMSay(LN,2," " + STRZERO(PRO1,13) + IIF(PRO2<>0,SPACE(13) + STRZERO(PRO2,13),"")+ IIF(PRO3<>0,SPACE(14) + STRZERO(PRO3,13),""),OFNT2)
    //           IF XCO = 0             // Na Primeira estiqueta tem que pular mais (Não sei Pq)
    //              LN := LN + 0.7
    //           ELSE
                  LN := LN + 0.4
    //           ENDIF
               XCO := 1
               oPrn:CMSay(LN,0.6,DPRO1,OFNT6)
               IF PRO2<>0
                  oPrn:CMSay(LN,7.4,DPRO2,OFNT6)
               ENDIF
               IF PRO3<>0
                  oPrn:CMSay(LN,14.0,DPRO3,OFNT6)
               ENDIF

               LN = LN + 0.4
               oPrn:CMSay(LN,0,"   A PRAZO   |   A VISTA      "+IIF(PRO2<>0,"A PRAZO   |   A VISTA    ","")+IIF(PRO3<>0,"A PRAZO   |   A VISTA",""),OFNT7)
               LN = LN + 0.4
               oPrn:CMSay(LN,0," R$" + TRANS(PRE1,"@E 99,999.99")  + "   R$" + TRANS(VIS1,"@E 99,999.99")+;
               IIF(PRO2<>0,"    R$" + TRANS(PRE2,"@E 99,999.99")  + "   R$" + TRANS(VIS2,"@E 99,999.99"),"")+;
               IIF(PRO3<>0,"  R$" + TRANS(PRE3,"@E 99,999.99")  + "   R$" + TRANS(VIS3,"@E 99,999.99"),""),OFNT9)

               oPrn:CMSay(LN,0,SPACE(13) + "|" + IIF(PRO2<>0,SPACE(26) + "|","")+ IIF(PRO3<>0,SPACE(24) + "|",""),OFNT7)

               LN = LN + 0.4

               oPrn:CMSay(LN,0.6,"1X R$" + TRANS(PRE1,"@E 99,999.99") + " (30 Dias)" ,OFNT8)
               IF PRO2<>0
                  oPrn:CMSay(LN,7.6,"1X R$" + TRANS(PRE2,"@E 99,999.99") + " (30 Dias)",OFNT8)
               ENDIF
               IF PRO3<>0
                  oPrn:CMSay(LN,14.2,"1X R$" + TRANS(PRE3,"@E 99,999.99") + " (30 Dias)",OFNT8)
               ENDIF
               oPrn:CMSay(LN,0,SPACE(13) + "|" + IIF(PRO2<>0,SPACE(26) + "|","")+ IIF(PRO3<>0,SPACE(24) + "|",""),OFNT7)

               LN = LN + 0.4

               oPrn:CMSay(LN,0.6,"T R$" + TRANS(PRE1,"@E 99,999.99") + " %Ac. " + STR(PER1,5,2),OFNT8)
               IF PRO2<>0
                  oPrn:CMSay(LN,7.6,"T R$" + TRANS(PRE2,"@E 99,999.99") + " %Ac. " + STR(PER2,5,2),OFNT8)
               ENDIF
               IF PRO3<>0
                  oPrn:CMSay(LN,14.2,"T R$" + TRANS(PRE3,"@E 99,999.99") + " %Ac. " + STR(PER3,5,2),OFNT8)
               ENDIF
               oPrn:CMSay(LN,0,SPACE(13) + "|" + IIF(PRO2<>0,SPACE(26) + "|","")+ IIF(PRO3<>0,SPACE(24) + "|",""),OFNT7)

               LN = LN + 0.55
    //           oPrn:CMSay(LN,0,IIF(STR(PRE1,10,2) > STR(100,10,2),"2X R$" + TRANS(PRE1/2,"@E 999.99") + " (30/60 Dias)","1X R$" + TRANS(PRE1,"@E 999.99") + " (30 Dias)") +;
    //           IIF(PRO2<>0,SPACE(38)+"1X R$" + TRANS(PRE2,"@E 999.99") + " (30 Dias)",""),OFNT4)
    //           IIF(PRO2<>0,SPACE(38)+IIF(STR(PRE2,10,2) > STR(100,10,2),"2X R$" + TRANS(PRE2/2,"@E 999.99") + " (30/60 Dias)","1X R$" + TRANS(PRE2,"@E 999.99") + " (30 Dias)"),""),OFNT4)
    //           oPrn:CMSay(LN,0,IIF(STR(PRE1,10,2) > STR(100,10,2),"2X R$" + TRANS(PRE1/2,"@E 999.99") + " (30/60 Dias)","1X R$" + TRANS(PRE1,"@E 999.99") + " (30 Dias)") +;
            ENDIF
            NETI := NETI + 1
            SELE 4
            IF !EOF()
               SKIP
               UNLOCK 
            ENDIF
         ENDDO
         IF IMP = 1
    //        OPRN:LZERABUFFER:=.F. // PULAR PÁGINA=.F. NÃO PULAR=.T.
            OPRN:ENDPAGE()
            OPRN:END()
         ELSE
    //        IF NETI <> 10
               ENDPAGE
    //        ENDIF
            ENDPRINT
         ENDIF
      ENDIF

      IF VRAD2 = 4   // CINCO COL.
         SELE 4
         ZAP

         *************************** Adiciona os produtos na Matriz
         SELE 26
         GO TOP
         DO WHILE !EOF()
            PRO := PRODUTO
            COP := QUANTIDADE

            XCO := 0
            DO WHILE XCO < COP
               SELE 4
               INCREG2()
               REPL PRODUTO WITH PRO
               UNLOCK
               COMMIT

               XCO := XCO + 1
            ENDDO

            SELE 26
            SKIP
            UNLOCK
         ENDDO
         ***************************************

         LN   := 0
         NETI := 0
         XCO  := 0

         SELE 4
         GO TOP
         DO WHILE !EOF()
            STORE 0 TO PRO2,PRO3,PRO4,PRO5
            PRO1 := PRODUTO

            SELE 11
            SET ORDER TO 1
            SEEK STR(PRO1,13)

            DPRO1 := DESCRICAO
            PRE1  := PRECO
            VIS1  := PREVIS
            PER1  := ((PRE1*100)/VIS1)-100

            SELE 4
            SKIP
            UNLOCK

            IF !EOF()
               PRO2 := PRODUTO

               SELE 11
               SET ORDER TO 1
               SEEK STR(PRO2,13)

               DPRO2 := DESCRICAO
               PRE2  := PRECO
               VIS2  := PREVIS
               PER2  := ((PRE2*100)/VIS2)-100

               SELE 4
               SKIP
               UNLOCK

               IF !EOF()
                  PRO3 := PRODUTO

                  SELE 11
                  SET ORDER TO 1
                  SEEK STR(PRO3,13)

                  DPRO3 := DESCRICAO
                  PRE3  := PRECO
                  VIS3  := PREVIS
                  PER3  := ((PRE3*100)/VIS2)-100

                  SELE 4
                  SKIP
                  UNLOCK

                  IF !EOF()
                     PRO4 := PRODUTO

                     SELE 11
                     SET ORDER TO 1
                     SEEK STR(PRO4,13)

                     DPRO4 := DESCRICAO
                     PRE4  := PRECO
                     VIS4  := PREVIS
                     PER4  := ((PRE4*100)/VIS2)-100

                     SELE 4
                     SKIP
                     UNLOCK

                     IF !EOF()
                        PRO5 := PRODUTO

                        SELE 11
                        SET ORDER TO 1
                        SEEK STR(PRO5,13)

                        DPRO5 := DESCRICAO
                        PRE5  := PRECO
                        VIS5  := PREVIS
                        PER5  := ((PRE5*100)/VIS2)-100
                     ELSE
                        PRO5 := 0
                        PRE5 := 0
                     ENDIF
                  ELSE
                     PRO4 := 0
                     PRE4 := 0
                  ENDIF
               ELSE
                  PRO3 := 0
                  PRE3 := 0
               ENDIF
            ELSE
               PRO2 := 0
               PRE2 := 0
            ENDIF

            IF IMP = 1
               oPrn:Say(LN,0,STRZERO(PRO1,13) + " " + ;
               IIF(PRO2<>0,STRZERO(PRO2,13),"") + " " + ;
               IIF(PRO3<>0,STRZERO(PRO3,13),"") + " " + ;
               IIF(PRO4<>0,STRZERO(PRO4,13),"") + " " + ;
               IIF(PRO5<>0,STRZERO(PRO5,13),""))
               LN := LN + 1
               oPrn:Say(LN,0,"R$" + TRANS(PRE1,"@E 9,999.99") + ;
               IIF(PRO2<>0,"    R$" + TRANS(PRE2,"@E 9,999.99"),"") + ;
               IIF(PRO3<>0,"    R$" + TRANS(PRE3,"@E 9,999.99"),"") + ;
               IIF(PRO4<>0,"    R$" + TRANS(PRE4,"@E 9,999.99"),"") + ;
               IIF(PRO5<>0,"    R$" + TRANS(PRE5,"@E 9,999.99"),""))
               LN := LN + 2
            ELSE
               oPrn:CMSay(LN,0,STRZERO(PRO1,13)  + " " + ;
               IIF(PRO2<>0,STRZERO(PRO2,13),"") + " " + ;
               IIF(PRO3<>0,STRZERO(PRO3,13),"") + " " + ;
               IIF(PRO4<>0,STRZERO(PRO4,13),"") + " " + ;
               IIF(PRO5<>0,STRZERO(PRO5,13),""),OFNT2)
               IF XCO = 0             // Na Primeira estiqueta tem que pular mais (Não sei Pq)
                  LN := LN + 0.7
               ELSE
                  LN := LN + 0.4
               ENDIF
               XCO := 1
               oPrn:CMSay(LN,0,"R$" + TRANS(PRE1,"@E 999.99") + ;
               IIF(PRO2<>0,"      R$" + TRANS(PRE2,"@E 999.99"),"") + ;
               IIF(PRO3<>0,"      R$" + TRANS(PRE3,"@E 999.99"),"") + ;
               IIF(PRO4<>0,"      R$" + TRANS(PRE4,"@E 999.99"),"") + ;
               IIF(PRO5<>0,"      R$" + TRANS(PRE5,"@E 999.99"),""),OFNT1)
               LN := LN + 0.7
            ENDIF
            NETI := NETI + 1
            IF IMP = 1
    //           NETI := 0
    //           LN   := 0
    //           OPRN:ENDPAGE()
            ELSE
               IF NETI = 9
                  NETI := 0
                  LN   := 0
                  XCO  := 0
                  ENDPAGE
                  PAGE
               ENDIF
            ENDIF
            SELE 4
            IF !EOF()
               SKIP
               UNLOCK
            ENDIF
         ENDDO
         IF IMP = 1
            OPRN:LZERABUFFER:=.F. // PULAR PÁGINA=.F. NÃO PULAR=.T.
            OPRN:ENDPAGE()
            OPRN:END()
         ELSE
            IF NETI <> 9
               ENDPAGE
            ENDIF
            ENDPRINT
         ENDIF
      ENDIF
      RETURN(NIL)

  5. Bom dia, em outras versões do Fivewin eu utilizava sem erro o 

    OPRN:LZERABUFFER:=.F. // PULAR PÁGINA=.F. NÃO PULAR=.T.

     

    nesta versão minha nova versão: FiveWin for xHarbour 21.02 - Feb. 2021 

    está dando erro, oque será que fiz de errado?

  6. Deu certo kkk, depois analisando melhor que percebi que a busca da window era pelo ctitle :

     

     SHOWWINDOW( FINDWND( cTitle ), 9 )
     SETFOREGROUNDWINDOW( FINDWND( cTitle ) )

    e no meu caso não era SISC20 e sim a Razão Social do cliente. Obrigado mais uma vez Kapiaba.

     

  7. Bom dia, obrigado pela ajuda Kapiaba, porém ainda não deu certo. Fiz desta forma:

         IF ISEXERUNNING( CFILENAME( HB_ARGV( 0 ) ) )
            MsgInfo("O Programa Já Está Aberto, Verifique na Barra de Tarefas do Windows ","Atenção")
            SHOWWINDOW( FINDWINDOW( 0, "SISC20" ), 9 )
            SETFOREGROUNDWINDOW( FINDWINDOW( 0, "SISC20" ) )
            RETURN(NIL)
         ENDIF
    mas quando chamo o outro programa SISCPF.EXE ele continua dando a mensagem que já está aberto.

    Uso:

    xHarbour 21.02

  8. Boa tarde, gostaria que alguém me explicasse como funciona o IsExeRunning(). Compilei meu sistema 2 vezes com nomes diferentes, porém ao abrir o sistema, mesmo com nomes diferentes ele diz que já está aberto.

         IF(IsExeRunning("SISC20.EXE"))
            MsgInfo("O Programa Já Está Aberto, Verifique na Barra de Tarefas do Windows ","Atenção")
            RETURN(NIL)
         ENDIF
     O outro que tento abrir chama SISPF.EXE, mas ele diz que já está aberto.

  9. Boa noite, estou precisando trocar o fonte e a cor do texto do título da minha Window. Como faço isto?

      DEFINE ICON oIco FILE "MAP.ICO"


      DEFINE WINDOW oWnd TITLE RAZ ICON OICO

      DEFINE BITMAP oBmpfp FILE("MAP3.BMP") ADJUST
      oWnd:bpainted = {| hdc | palbmpdraw( hdc, 0, 0, obmpfp:hbitmap,obmpfp:hPalette,oWnd:nWidth(),oWnd:nHeight())}
     

    Fivewin 21.02 

  10. Boa tarde, estou habilitando meu F2 da seguinte forma:

      SETKEY(VK_F2 , {|| LOCGRU(OGETG,DGRU,ODSGRU) })
     

    até aí nenhum problema. Gostaria de saber como fazer para ativar este F2 apenas quando o usuário entrar no meu GET e quando sair desativar. Meu get:

      REDEFINE GET OGETG VAR GRU ID 105 OF ODLGMS FONT OFNC3 PICTURE "999" ;
      VALID FUNGRU(GRU,DGRU,ODSGRU,OGETG,"N") BITMAP "BUSCAR" ACTION(LOCGRU(OGETG,DGRU,ODSGRU));
      WHEN (LETRA="I" .OR. LETRA="A")
      OGETG:lBtnTransparent := .t.       // transparent button
     

    Fivewin for xHarbour 21.2   xHarbour 1.2.3 Intl. (SimpLex) (Build 20201212). Workshop.

  11. Boa noite pessoal, gostaria de saber se no xBrowse existe uma forma de editar uma célula com botão.

     

      OLBPR:aCols[1]:nEditType := EDIT_BUTTON
      OLBPR:aCols[1]:bEditBlock := {|| LOCPRO("","","","","","","","","","N","","","N","S"), oDlg:Update() }
      OLBPR:aCols[1]:nBtnBmp := 1
      olbpr:aCols[1]:nDataBmpAlign := 1
      OLBPR:aCols[1]:AddResource( "LUPA2" )
     

  12. Bom dia, estou tentando usar o TsBrowse na versão FW 14 e não consigo fazer  a coluna editar. Quando utilizava a versão FW 7 ele funcionava normalmente. Alguém sabe me dizer porque?.

    #include "FiveWin.ch"
    #include "TSBROWSE.CH"
    #include "TSBUTTON.CH"
    #Include "MENU.CH"
    #include "ORD.CH"
    #Include "Objects.Ch"
    #Include "Image.ch"
     

       

         REDEFINE BROWSE OLBX COLORS CLR_BLACK,nRGB(236, 233, 216) ID 101;
                  OF ODLGP FONT OFNC2 UPDATE CURSOR OCUR CELL ALIAS 11

         ADD COLUMN TO BROWSE OLBX SIZE 130 HEADER "Código" ;
         DATA STRZERO(CODIGO,13) ;
         3DLOOK TRUE,TRUE ALIGN DT_CENTER

         ADD COLUMN TO BROWSE OLBX SIZE 470 HEADER "Descrição" ;
         DATA DESCRICAO  ;
         3DLOOK TRUE,TRUE ALIGN DT_LEFT

         ADD COLUMN TO BROWSE OLBX SIZE 100 HEADER "Pr. Custo" ;
         DATA FieldWBlock("PRECUS", Select()) PICT '@E 9,999.999' ;
         3DLOOK TRUE,TRUE ALIGN DT_RIGHT EDITABLE MOVE DT_MOVE_NEXT

         ADD COLUMN TO BROWSE OLBX SIZE 100 HEADER "Ac. a Prazo" ;
         DATA FieldWBlock("PERPRA", Select()) PICT '@E 999.99%' ;
         VALID { | uVar | VACDE(uVar, 4, OLBX)} ;// NESTE PRG
         3DLOOK TRUE,TRUE ALIGN DT_RIGHT EDITABLE MOVE DT_MOVE_NEXT

         ADD COLUMN TO BROWSE OLBX SIZE 100 HEADER "Pr. Prazo" ;
         DATA FieldWBlock("PRECO", Select()) PICT '@E 9,999.999';
         3DLOOK TRUE,TRUE ALIGN DT_RIGHT EDITABLE MOVE DT_MOVE_NEXT

         ADD COLUMN TO BROWSE OLBX SIZE 100 HEADER "Dc. a Vista" ;
         DATA FieldWBlock("PERVIS", Select()) PICT '@E 999.99%' ;
         VALID { | uVar | VACDE(uVar, 6, OLBX)} ;// NESTE PRG
         3DLOOK TRUE,TRUE ALIGN DT_RIGHT EDITABLE MOVE DT_MOVE_NEXT

         ADD COLUMN TO BROWSE OLBX SIZE 100 HEADER "Pr. Vista" ;
         DATA FieldWBlock("PREVIS", Select()) PICT '@E 9,999.999';
         3DLOOK TRUE,TRUE ALIGN DT_RIGHT EDITABLE MOVE DT_MOVE_NEXT

         ADD COLUMN TO BROWSE OLBX SIZE 40 HEADER "UNI" ;
         DATA UNIDADE;
         3DLOOK TRUE,TRUE ALIGN DT_CENTER

         ADD COLUMN TO BROWSE OLBX SIZE 90 HEADER "Est. Atual" ;
         DATA STR(ESTNOTA,9,3);
         3DLOOK TRUE,TRUE ALIGN DT_RIGHT


         OLBX:SetColor( { 1, 3, 5 }, ;
                        { CLR_BLACK, CLR_WHITE, CLR_BLACK, ;
                        { CLR_WHITE, CLR_BLACK }, ; // degraded cursor background color
                        CLR_WHITE, CLR_BLACK } )  // text colors
         OLBX:SetColor( { 2, 4, 6 }, ;
                        { { CLR_WHITE, CLR_AZUL}, ;  // degraded cells background color
                        { CLR_AZUL, nRGB(1, 61, 150)}, ;  // degraded headers backgroud color
                        { nRGB(1, 61, 150), CLR_WHITE } } )  // degraded order column background color

         OLBX:aColumns[3]:lEdit:=.T.
         OLBX:aColumns[4]:lEdit:=.T.
         OLBX:aColumns[5]:lEdit:=.T.
         OLBX:aColumns[6]:lEdit:=.T.
         OLBX:aColumns[7]:lEdit:=.T.

         OLBX:Set3DText( .T., .F.,, 2, CLR_BLUE,CLR_BLACK )
         OLBX:nLineStyle := LINES_VERT
         OLBX:nHeightCell+=2
         OLBX:nHeightHead+=6
         OLBX:lMChange:=.F.
         OLBX:LNOGRAYBAR:=.T.   // Tira a Barra Cinza
         OLBX:CTOOLTIP := "Botão Esquerdo do Mouse Seleciona Produto"
         OLBX:GOTOP()
         OLBX:REFRESH()
     

     

  13. Bom dia Rogério, já havia estudado esta opção, porém verifiquei que neste campo não dá para digitar a data por inteiro, tenho de colocar o dia, mudar com a seta para o mês e em seguida para o ano, além de ter de trocar todas as datas do meu sistema, mas te agradeço pela dica.

  14. Bom dia, tenho um GET que chama meu calendário. Gostaria de saber como faço para posicionar o calendário abaixo do GET. Já vi vários exemplos mas não estou conseguindo fazer. Abaixo tenho uma Dialog com as posições corretas em relação a um GET, porém quando mudo de GET ele não coloca na posição correta, ou seja, não consigo fazer o relacionamento da posição do GET para achar a posição correta da Dialog. Desde já agradeço.

    Meu GET

      REDEFINE GET OGMC1 VAR ABE ID 106 OF ODLGMC PICTURE "99/99/9999" BITMAP "CALENDAR" ;
      ACTION CALEND(@ABE,OGMC1) WHEN (LETRA="I" .OR. LETRA="A")
      OGMC1:lBtnTransparent := .t.       // transparent button

    Meu Calendário

    FUNCTION CALEND(oVar,oObj)
      local ocal, ARECT, LN1,CO1,LN2,CO2

      ARECT := GetClientRect( oObj:hWnd )

    //  ? aRect[ 3 ] // 16
    //  ? aRect[ 4 ] // 96


      LN1 := aRect[3]-6.6
      CO1 := aRect[4]-26
      LN2 := aRect[3]+2.4
      CO2 := aRect[4]+7

    //  ? ln1
    //  ? co1
    //  ? ln2
    // ? co2

    //  DEFINE DIALOG oDlg FROM 9.4, 70 TO 18.4,103  Title "Calendário" COLOR CLR_BLACK,FUNDO  // Este coloca na posição correta do get


    DEFINE DIALOG oDlg FROM LN1, CO1 TO LN2, CO2 Title "Calendário" COLOR CLR_BLACK,FUNDO 

    ODLG : LHELPICON := .F.  // Tira a ? da janela

      @-10,-10 CALENDAR oCal VAR oVar PIXEL of oDlg;
                  DBLCLICK  (oVar:= oCal:GetDate(),oObj:refresh(),oDlg:end());
                  ON CHANGE oVar:= oCal:GetDate() SIZE 150,230 ;
                  ACTION( oVar:= oCal:GetDate(),oObj:refresh(),oDlg:end());
                  WEEKNUMBER
      ACTIVATE DIALOG oDlg 
      return nil
     

  15. Boa noite, o que eu percebi é que variável está aceitando o valor quando coloco zero, mas o GET não funciona mais de forma correta, o número anterior vai para a direita do campo e o novo valor quando digitado fica na esquerda e não apaga o da direita ao teclar o novo número. Vejam o vídeo que gravei demonstrando o que está acontecendo. 

    Vejam se este link abre o vídeo

    https://1drv.ms/u/s!At7iPtV8NRXt2Cj3wL_flnMQaOFJ?e=OLOkEt

  16. Boa tarde, obrigado por responder. Já havia tentado fazer isto porém a varável do get não assume o valor zero (por exemplo), acho que por ainda estar dentro do mesmo get e em um valid.

    Veja como é meu programa

          @04,03 SAY "Vendedor........:" GET VEN PICT "999" VALID FUNVEN(VEN)  // Busca o vendedor

     

    FUNCTION FUNVEN(XVEN)
      SAVE SCREEN TO TEL3
      FALI := ALIAS()
      SELE 5
      SET ORDER TO 1
      SEEK STR(XVEN,3)
      IF EOF()
         MSG("Vendedor N„o Cadastrado, Tecle ENTER...")
         REST SCREEN FROM TEL3
         SELE &FALI
         SET COLOR TO N/W
         RETURN(.F.)
      ENDIF
      SPA = 78-COL()
      @ROW(),COL() SAY SPACE(SPA)
      @ROW(),COL()-SPA+3 SAY ALLTRIM(NOME)
      SELE &FALI
      RETURN(.T.)
     

    Você diz para eu zerar a variável ven antes de retornar, correto?

       SELE &FALI
       SET COLOR TO N/W

      VEN := 0
       RETURN(.F.)

     

     

×
×
  • Create New...