Jump to content
Fivewin Brasil

edmandc

Membros
  • Posts

    44
  • Joined

  • Last visited

Posts posted by edmandc

  1. RESOLVIDO...

    Estava errado o trecho:

     odlg:bstart := {|| lval := hb_unzipfile( carqbkp,;
                                     { | carqbkp , nposi| otext:settext('Descomprimindo'+CRLF+carqbkp),nactual:=nposi/nfiles*100,ometer:set(nactual)};
                                       ,,,,anom ).

    o certo é

     odlg:bstart := {|| lval := hb_unzipfile( carqbkp,;
                                     { | anom ,nposi| otext:settext('Descomprimindo'+CRLF+carqbkp),nactual:=nposi/nfiles*100,ometer:set(nactual)};
                                       ,,,,anom )

    obrigado e excelente ano à todos.

  2. A compactação está ok!

    Não estou conseguindo descompactar nos respectivos diretórios

    - Segue arquivo de definições e código

    arquivo memo (backup.lst) contendo quais arquivos serão comprimidos:

    *.cus
    *.dat
    *.dbf
    *.dbt
    *.mpr
    *.rlt
    *.rlc
    *.fpt
    *.rel
    *.sys
    IMAGENS\IMGPLAN\*.*

     

    código:

    *************************************************
    * COPIASEG.PRG - GERA E RESTAURA BACKUPS        *
    * CHAMADA DE MENUPRIN.PRG - A.PRG E AJUSTVER.PRG*
    *************************************************

    #include "fivewin.ch"
    #include "directry.ch"
    #include "constant.ch"

    ***********************
    function copiaseg(modo)
    ***********************
    local carqbkp,clistabkp,carquivos,nitem,narea,aarquivos

    local c_path2 := ''
    local c_path3 := ''
    priva cdirlocal := cfilepath( getmodulefilename( getinstance() ) )
    priva afiles   := {}
    priva anomarqs := {}
    priva arbck    := {}
    priva ctarqbkp,clocalbkp,carqbkp1,carqbkp2,carqbkp3

    set date brit

    * Como nao e possível criar nomes de arquivos com ':' nem com '/' trocar estes caracteres por '-'
      if modo == 'ajustver'
         carqbkp1 := 'copseg ' + dtoc(date()) + ' ' + time() + '.zip'
      else
         carqbkp1 := 'copseg ' + dtoc(diatual) + ' ' + time() + '.zip'
      endif

      carqbkp2 := strtran( carqbkp1, ":","-" )
      carqbkp3 := strtran( carqbkp2, "/","-" )

    if modo == 'ajustver'
       diatual := date()
       clocalbkp :=  diskname() + ':\' + curdir() + '\BACKUPS\'
    else
       if cfglocbkp # 1
          clocalbkp := cfgexpbkp
       else
          clocalbkp :=  diskname() + ':\' + curdir() + '\BACKUPS\'
       endif
    endif

    carqbkp   := clocalbkp + carqbkp3

    c_path2   := diskname()+ ':\' + curdir()  + '\'

    clistabkp := memoread("backup.lst")

    for nitem := 1 to mlcount(clistabkp)
       carquivos := memoline(clistabkp,,nitem)

       aFiles   := directory(c_path2+carquivos)

       for i=1 to len(afiles)
         aadd( arbck , c_path2+afiles[i,1] )
       next

       for i =1 to len(arbck)
          aadd(anomarqs, arbck )
       next

    next

    c_path3  := diskname()+ ':\' + curdir()  + '\imagens\imgplan\'
    aFiles   := Directory( c_path3 + '*.*' )
    for i=1 to len(afiles)
      aadd(arbck, c_path3+afiles[i,1] )
    next

    for i =1 to len(arbck)
       aadd(anomarqs,arbck)
    next


    if modo == 'gerar' .or. modo == 'ajustver'

       if comprime( carqbkp, anomarqs )
          retu .t.
       endif

    else

       descomprime()

    endif
    retu nil

    *********************************
    stat func comprime(carqbkp,afile)
    *********************************
    local odlg,ometer,otext,cmsg,nlen,lval,nactual:=0

    nlen:=len(afile)

    //aeval( directory('*.cdx'), {|arq_dele| ferase( arq_dele[1] )} )

    define dialog odlg from 1, 1 to 12, 62 title "Aguarde... comprimindo arquivos..."

       @ 0.5, 2 say otext var cmsg size 180, 20 of odlg
       @ 2  , 2 meter ometer var nactual total 100 of odlg size 200, 20

     // Sintaxe zip
    //hb_ZipFile( <cFile>, <cFileToCompress> | <aFiles>, <nLevel>, <bBlock>, <lOverWrite>, <cPassword>, <lWithPath>, <lWithDrive>, <pFileProgress>) --> lCompress

       odlg:bstart:={||lval := hb_zipfile( carqbkp, afile, 9, {|carqbkp,npos|otext:settext('Comprimindo '+carqbkp),;
                                                             nactual:=npos/nlen*100,ometer:set(nactual)},,,.t.,.t. ),;
                       if( lval, msginfo('O arquivo de cópia de segurança foi gerado com sucesso!' +CRLF+CRLF+;
                                         'Nome do Arquivo: ' + carqbkp3   +CRLF+CRLF +;
                                         'Localizado   em: ' + clocalbkp  +CRLF+CRLF+;
                                         'GRAVE O ARQUIVO GERADO EM UM OUTRO LOCAL','Atenção!'),;
                                         msgstop('Não foi possível realizar a compressão dos arquivos!')),;
                       odlg:end() }


    activate dialog odlg centered //       on paint poenotopo(odlg)

    retu lval

    ***************************
    static function descomprime
    ***************************
    local odlg

    define dialog odlg;
           resource 'RCANCCONTI';
           font ofntprinc;
           color cor_pret,cor_azulff

           redefine say id 1000 of odlg color cor_azul,cor_azulff
           redefine say id 1001 of odlg color cor_verm,cor_azulff
           redefine say id 1002 of odlg color cor_verm,cor_azulff
           redefine say id 1003 of odlg color cor_verm,cor_azulff
           redefine say id 1004 of odlg color cor_verm,cor_azulff
           redefine say id 1005 of odlg color cor_verm,cor_azulff

           redefine button id 2000;
                    of odlg;
                    action (frestaura(odlg),odlg:end())

           redefine button id 3000;
                    of odlg;
                    action odlg:end()

           odlg:lhelpicon := .f.

    activate dialog odlg centered

    retu nil

    **************************
    stat func frestaura(vtela)
    **************************
    local odlg,nfiles,otext, cmsg, ometer,nactual:=0,carqbkp

    vtela:hide()

    carqbkp :=  cGetFile( "Arq de Backup (*.zip)| *.zip|" ,"Selecione o arquivo de cópia de segurança!", 4,clocalbkp )

    if empty( carqbkp ) .and. !file( carqbkp )
       msgalert('Não foi realizada a restauração dos arquivos da cópia de segurança!','Atenção!')
       retu nil
    endif

    anomarqs := hb_getfilesinzip(carqbkp,.t.)

    anom:={}

    for i =1 to len(anomarqs)
       aadd( anom,  diskname()+':\'+ upper(anomarqs[1]) )
    next

    nfiles   := len(anom)

    define dialog odlg from 1, 1 to 10, 60 title "Aguarde... Recuperando dados..."

           @ 0.5, 2 say otext var cmsg size 180, 20 of odlg
           @ 2  , 2 meter ometer var nactual total 100 of odlg size 200, 20

          

     odlg:bstart := {|| lval := hb_unzipfile( carqbkp,;
                                     { |carqbkp,nposi| otext:settext('Descomprimindo'+CRLF+carqbkp),nactual:=nposi/nfiles*100,ometer:set(nactual)};
                                       ,,,,anom ),;
                           if( lval,;
                               if(reorgsys('restbkp'),;
                                      (msginfo('Restauração realizada com exito!'+CRLF+CRLF,'Atenção!'),odlg:end()),;
                                      (msgstop('Não foi possível restaurar os dados da cópia de segurança!'),odlg:end() )),;
                                 (msgstop('Não foi possível restaurar os dados da cópia de segurança!'),odlg:end() ))}


           odlg:lhelpicon := .f.

    activate dialog odlg centered

    vtela:show()

    retu nil
     

     

  3. A pedido de um cliente vou começar a preparar meu aplicativo para ser utilizado na rede por mais de um usuário ao mesmo tempo.

    Já implementei um algorítimo para que os usuários possam ter níveis administrativos ou níveis usuários
    baseado em consulta a um dbf exclusivo para isto.

    Estou com algumas dúvidas de quando devo travar só o registro e quando devo travar o banco de dados.

    - Devo travar o registro ("Rlock()") apenas nas edições e exclusões de um único registro ?.

    - Nas inclusões isto não seria necessário ?

    - Travo os dbf ("Flock()" ) nos ajustes globais do banco ?.  (tipo: PACK REINDEX E ZAP)

    - Um registro travado por outro usuário é passível de "sómente consulta" por outro usuário ?  (read only).

            ... se sim: o usuário que estará  consultando um registro que está sendo editado por outro usuário ...
                              poderá ver informações que poderão não mais representar o estado atual?

    Grato por qq informação!

  4. 27 minutos atrás, kapiaba disse:

    Que EDITOR de RECURSOS, você usa? Eu acho que com o que o Giovanny disse, vai funcionar.

    Uso o Pelles C for Windows v.10.00.6 

     

    oDlgipl:bKeyDown := { |nTecla,nFlag|   if( ntecla==VK_RETURN.and.obtcompressao:lfocused,obtcompressao:click(),) }

     

    Não funcionou ... comportamento idêntico ao dar "ENTER" com o botão focado.

    Obrigado

  5. 1 hora atrás, kapiaba disse:

    Mostre algo na práctica para ver-mos, tipo  este modelo abaixo e o fonte que os aciona:

    https://imgur.com/0ct1eL1

    0ct1eL1.png

     

    Regards, saludos.

     

    fonte:

       redefine btnbmp oq_tipomol_4128;
                    id 4128;
                    of odlgipl;
                    update

                    if modocapt=='revisao'
                       oq_tipomol_4128:setcolor(cor_vermt,nrgb(255,209,70))
                    else
                       oq_tipomol_4128:setcolor(cor_vermt,nrgb(255,152,102))
                    endif

           redefine btnbmp oq_fabrcli_4129;
                    id 4129;
                    of odlgipl;
                    update;

                    if modocapt=='revisao'
                       oq_fabrcli_4129:setcolor(cor_vermt,nrgb(255,209,70))
                    else
                       oq_fabrcli_4129:setcolor(cor_vermt,nrgb(255,152,102))
                    endif

           redefine btnbmp oq_circret_4130;
                    id 4130;
                    of odlgipl;
                    update;

                    if modocapt=='revisao'
                       oq_circret_4130:setcolor(cor_vermt,nrgb(255,209,70))
                    else
                       oq_circret_4130:setcolor(cor_vermt,nrgb(255,152,102))
                    endif

           redefine btnbmp obtcompressao;
                    id 4058;
                    of odlgipl;
                    tooltip 'Clique neste botão se desejar selecionar mola de Compressão';
                    action  ( vtipomola := 1 , fmudagets() );
                    prompt  'Compressão';
                    noborder;
                    update
                                                                     //( obtcompressao:lProcessing=.t.,eval(obtcompressao:baction() ))

                    // obtcompressao:bkeydown   := {|nk| if( nk == VK_RETURN, (obtcompressao:click(),.t.,obtfabfornmp:setfocus(.t.)), )}

                    obtcompressao:setcolor( if(modocapt=='inclusao', cor_azule ,if(modocapt=='revisao'.and.vNtipomola==1,cor_amar,cor_azule)),;
                                            if(modocapt=='inclusao', cor_fundog,if(modocapt=='revisao'.and.vNtipomola==1,nrgb(255,128,0), cor_fundog)))

                    obtcompressao:bgotfocus  := {|| cmsgqdr:='Selecione o tipo de produto!', os_msg:refresh(),;
                                                    obtcompressao:nClrText := if(modocapt=='inclusao', cor_vermt, if(modocapt=='revisao'.and.vNtipomola==1,cor_bran,cor_azule)),;
                                                    oq_tipomol_4128:show(),oq_fabrcli_4129:hide(),oq_circret_4130:hide(),odlgipl:update() }

                    obtcompressao:blostfocus := {|| cmsgqdr:='', os_msg:refresh(),;
                                                    obtcompressao:nClrText := if(vtipomola==1.or.vNtipomola==1,cor_amar,cor_azule)}


           redefine btnbmp obttracao;
                    id 4115;
                    tooltip 'Clique neste botão se desejar selecionar mola de Tração';
                    action  ( vtipomola := 2 , fmudagets() );
                    prompt  'Tração';
                    noborder;
                    cancel;
                    update

                    obttracao:setcolor( if(modocapt=='inclusao',cor_azule ,if(modocapt=='revisao'.and.vNtipomola==2,cor_amar,cor_azule)),;
                                        if(modocapt=='inclusao',cor_fundog,if(modocapt=='revisao'.and.vNtipomola==2,nrgb(255,128,0), cor_fundog)))

                    obttracao:bgotfocus  := {||  cmsgqdr:='Selecione o tipo de produto!', os_msg:refresh(),;
                                                 obttracao:nClrText := if(modocapt=='inclusao', cor_vermt, if(modocapt=='revisao'.and.vNtipomola==2,cor_bran,cor_azule)),;
                                                 oq_tipomol_4128:show(),oq_fabrcli_4129:hide(),oq_circret_4130:hide(),odlgipl:update()}

                    obttracao:blostfocus := {|| cmsgqdr:='', os_msg:refresh(),;
                                                obttracao:nClrText:=if(vtipomola==2.or.vNtipomola==2,cor_amar,cor_azule)}

           redefine btnbmp obttorcao;
                    id 4124;
                    tooltip 'Clique neste botão se desejar selecionar mola de Torção';
                    action  ( vtipomola := 3 , fmudagets() );
                    prompt  'Torção';
                    noborder;
                    cancel;
                    update

                    obttorcao:setcolor(if(modocapt=='inclusao',cor_azule ,if(modocapt=='revisao'.and.vNtipomola==3,cor_amar,cor_azule)),;
                                       if(modocapt=='inclusao',cor_fundog,if(modocapt=='revisao'.and.vNtipomola==3,nrgb(255,128,0) ,cor_fundog)))

                    obttorcao:bgotfocus  := {|| cmsgqdr:='Selecione o tipo de produto!', os_msg:refresh(),;
                                                obttorcao:nClrText := if(modocapt=='inclusao', cor_vermt,cor_pret),;
                                                oq_tipomol_4128:show(),oq_fabrcli_4129:hide(),oq_circret_4130:hide(),odlgipl:update()}


                    obttorcao:blostfocus := {|| cmsgqdr:='',os_msg:refresh(),;
                                                obttorcao:nClrText:=if(vtipomola==3.or.vNtipomola==3,cor_amar,cor_azule)}

           redefine btnbmp obtartefato;
                    id 4125;
                    tooltip 'Clique neste botão se desejar selecionar Artefato';
                    action  ( vtipomola := 4 , fmudagets() );
                    prompt  'Artefato';
                    noborder;
                    cancel;
                    update

                    obtartefato:setcolor( if(modocapt=='inclusao',cor_azule ,if(modocapt=='revisao'.and.vNtipomola==4,cor_amar,cor_azule)),;
                                          if(modocapt=='inclusao',cor_fundog,if(modocapt=='revisao'.and.vNtipomola==4,nrgb(255,128,0) ,cor_fundog)))

                    obtartefato:bgotfocus  := {|| cmsgqdr:='Selecione o tipo de produto!', os_msg:refresh(),;
                                                  obtartefato:nClrText := if(modocapt=='inclusao', cor_vermt,cor_pret),;
                                                  oq_tipomol_4128:show(),oq_fabrcli_4129:hide(),oq_circret_4130:hide(),odlgipl:update()}


                    obtartefato:blostfocus := {|| cmsgqdr:='', os_msg:refresh(),;
                                                  obtartefato:nClrText:=if(vtipomola==4.or.vNtipomola==4,cor_amar,cor_azule)}

           redefine btnbmp obtfabfornmp;
                    id 4068;
                    tooltip 'Clique neste botão para informar que o fabricante fornecerá a Mat.Prima';
                    action ( vtipoforesc := 1, vfabfornmp:=.t., fmudagetsmp() );
                    prompt  'Fabricante';
                    noborder;
                    cancel;
                    update

                    obtfabfornmp:setcolor( if(modocapt=='inclusao',cor_azule ,if(modocapt=='revisao'.and. vNtipoforesc==1,cor_amar,cor_azule)),;
                                           if(modocapt=='inclusao',cor_fundog,if(modocapt=='revisao'.and. vNtipoforesc==1,nrgb(255,128,0) ,cor_fundog)))

                    obtfabfornmp:bgotfocus  := {|| cmsgqdr:='Selecione quem fornecerá a matéria-prima!', os_msg:refresh(),;
                                                   obtfabfornmp:nClrText := if(modocapt=='inclusao', cor_vermt,cor_pret),;
                                                   oq_fabrcli_4129:show(),oq_tipomol_4128:hide(),oq_circret_4130:hide(),odlgipl:update()}

                    obtfabfornmp:blostfocus := {|| cmsgqdr:='', os_msg:refresh(),;
                                                   obtfabfornmp:nClrText:=if(vtipoforesc==1.or.vNtipoforesc==1,cor_amar,cor_azule)}

           redefine btnbmp obtclifornmp;
                    id 4072;
                    tooltip 'Clique neste botão para informar que o Cliente fornecerá a Mat.Prima';
                    action ( vtipoforesc := 2, vfabfornmp:=.f., fmudagetsmp() );
                    prompt 'Cliente';
                    noborder;
                    cancel;
                    update

                    obtclifornmp:setcolor( if(modocapt=='inclusao',cor_azule ,if(modocapt=='revisao'.and. vNtipoforesc==2,cor_amar,cor_azule)),;
                                           if(modocapt=='inclusao',cor_fundog,if(modocapt=='revisao'.and. vNtipoforesc==2,nrgb(255,128,0) ,cor_fundog)))

                    obtclifornmp:bgotfocus  := {|| cmsgqdr:='Selecione quem fornecerá a matéria-prima!', os_msg:refresh(),;
                                                   obtclifornmp:nClrText:=if(modocapt=='inclusao', cor_vermt,cor_pret), oq_fabrcli_4129:show(),oq_tipomol_4128:hide(),;
                                                   oq_circret_4130:hide(),odlgipl:update()}

                    obtclifornmp:blostfocus := {|| cmsgqdr:='', os_msg:refresh(),;
                                                   obtclifornmp:nClrText:= if( vtipoforesc==2.or.vNtipoforesc==2,cor_amar,cor_azule)}

           redefine btnbmp obtcircular;
                    id 4126 ;
                    tooltip 'Clique neste botão para selecionar seção do arame "CIRCULAR"';
                    action ( vtiposecesc := 1, fmudagetsec() );
                    prompt 'Circular';
                    noborder;
                    cancel;
                    update

                    obtcircular:setcolor( if(modocapt=='inclusao',cor_azule ,if(modocapt=='revisao'.and. vNtiposecesc==1,cor_amar,cor_azule)),;
                                          if(modocapt=='inclusao',cor_fundog,if(modocapt=='revisao'.and. vNtiposecesc==1,nrgb(255,128,0) ,cor_fundog)))

                    obtcircular:bgotfocus  := {|| cmsgqdr:='Selecione o formato da seção transfersal do arame!', os_msg:refresh(),;
                                                  obtcircular:nClrText:=if(modocapt=='inclusao', cor_vermt,cor_pret),oq_circret_4130:show(),oq_tipomol_4128:hide(),;
                                                  oq_fabrcli_4129:hide(),odlgipl:update()}

                    obtcircular:blostfocus := {|| cmsgqdr:='', os_msg:refresh(),;
                                                  obtcircular:nClrText:=if(vtiposecesc==1.or.vNtiposecesc==1,cor_amar,cor_azule)}

                    if(modocapt=='revisao'.and.vtipomola==4, (obtcircular:hide()),)

           redefine btnbmp obtretangular;
                    id 4127 ;
                    tooltip 'Clique neste botão para selecionar seção do arame "RETANGULAR"';
                    action ( vtiposecesc := 2, fmudagetsec() );
                    prompt 'Retangular';
                    noborder;
                    cancel;
                    update

                    obtretangular:setcolor( if(modocapt=='inclusao',cor_azule ,if(modocapt=='revisao'.and. vntiposecesc==2,cor_amar,cor_azule)),;
                                            if(modocapt=='inclusao',cor_fundog,if(modocapt=='revisao'.and. vntiposecesc==2,nrgb(255,128,0) ,cor_fundog)))

                    obtretangular:bgotfocus  := {|| cmsgqdr:='Selecione o formato da seção transfersal do arame!', os_msg:refresh(),;
                                                    obtretangular:nClrText:=if(modocapt=='inclusao', cor_vermt,cor_pret),oq_circret_4130:show(),oq_tipomol_4128:hide(),;
                                                    oq_fabrcli_4129:hide(),odlgipl:update()}

                    obtretangular:blostfocus := {|| cmsgqdr:='', os_msg:refresh(),;
                                                    obtretangular:nClrText:=if(vtiposecesc==2.or.vNtiposecesc==2,cor_amar,cor_azule)}

                    if(modocapt=='revisao'.and. vtipomola==4, (obtretangular:hide()),)

           redefine btnbmp obtzeramatp;
                    id 2300;
                    of odlgipl;
                    file diskname()+':\'+curdir()+'\imagens\lixo2.bmp';
                    tooltip 'Clique neste botão para apaguar todos os dados informados para a Matéria Prima!';
                    cancel;
                    update;
                    action ( fzeramatp('dobotao'), oq_tipomol_4128:show(),oq_fabrcli_4129:hide(),oq_circret_4130:hide(), oq_tipomol_4128:setfocus()  )

           if modocapt=='revisao'

              redefine btnbmp obtretumatp;
                       id 4131;
                       of odlgipl;
                       tooltip 'Clique neste botão se desejar retornar os dados originais da Matéria Prima!';
                       file diskname()+':\'+curdir()+'\imagens\volta.bmp';
                       cancel;
                       update;
                       action ( fretumatp(), oq_tipomol_4128:show(),oq_fabrcli_4129:hide(),oq_circret_4130:hide(),oq_tipomol_4128:setfocus() )

           endif

           redefine get ogetvmaterial;
                    var vmaterial;
                    id 2031;
                    of odlgipl;
                    picture '@k!';
                    update;
                    valid if(modocapt=='inclusao'.or.(modocapt=='revisao'.and.vmaterial#planilha->material),;
                          if( idtecla==VK_F2.or.idtecla==VK_UP.or.idtecla==VK_LEFT,;
                              (xx:=.f.,idtecla:=0,.t.), fvalidmat(modocapt) ),.t. )

                    * ações apos pressionamento de teclas F9 e F2
                    ogetvmaterial:bkeydown := {|nk| if(nk==VK_F9.and.modocapt=='revisao',;
                                                           (vmaterial:=planilha->material,vlotminmp:=0,vcustosec:=0,;
                                                            if(vfabfornmp,vforneced:=planilha->forneced,vforneced:=space(30)),;
                                                            ogetvmaterial:refresh(),;
                                                            ogetvlotminmp:refresh(),;
                                                            os_forsel_2121:refresh(),;
                                                            os_vcusmp_2131:refresh(),;
                                                            ogetvmaterial:setfocus()),),;
                                                    if(nk==VK_F2,;
                                                           (idtecla:=nk,obtselematp:setfocus(),eval(obtselematp:baction)),;
                                                    if(nk==VK_UP,(idtecla:=nk,oq_tipomol_4128:setfocus()),) )}

                    * mostra mensagem e ajusta cores
                    ogetvmaterial:bgotfocus  := {|| cmsgqdr := ( (vctpm+vcfabcli+vccircret)  +CRLF+ 'Informe o material ou tecle F2 ou clique no botão à direita para seleciona-lo do Cadastro de Materias-Primas!'+;
                                                    if( modocapt=='revisao', (CRLF+CRLF+'Pressione F9 para voltar ao material original'),'')),;
                                                        os_msg:refresh(),ogetvmaterial:setcolor(cor_texto,cor_fundogf)}

                    ogetvmaterial:ctooltip   := 'Informe o material ou tecle F2 ou clique no botão a direita para seleciona-lo do Cadastro de Materias-Primas!'

                    * sequencia depois do valid
                    ogetvmaterial:blostfocus := {|| cmsgqdr:='', os_msg:refresh(),ogetvmaterial:setcolor(cor_textog,cor_fundosg)}

    ******************************************************************************************************************************************************************

     

     

    *********************
    stat func fmudagets()  // GETS PARA TIPO DE PRODUTO - COMPRESSAO TRACAO TORCAO ARTEFATO
    *********************
    /*
    If GetKeyState( VK_ESCAPE ).or.;
       GetKeyState( VK_UP ).or.;
       GetKeyState( VK_LBUTTON )
       if vtipomola == 2
          obtcompressao:aitems[2]:setfocus()
          retu .t.
       elseif vtipomola == 3
          obtcompressao:aitems[3]:setfocus()
          retu .t.
       elseif vtipomola == 4
          obtcompressao:aitems[4]:setfocus()
          retu .t.
       endif
       obtcompressao:aitems[1]:setfocus()
       retu .t.
    endif
    */
    *********************************************************
    *** ATENÇÃO : NÃO MODIFICAR A SEQUENCIA DAS LINHAS ABAIXO
    *********************************************************

    //if (mododecaptur=='revisao'.and.vtipomola#vntipomola) .or.;
    //    mododecaptur=='inclusao'
    //    fzeramatp('')
    // endif

    if mododecaptur=='inclusao' .or. (mododecaptur=='revisao'.and. vtipomola # planilha->ntipomola)
       fzeramatp('')
    endif

    os_respmp_4010:show() // say fornecimento cliente fabricante
    os_matpri_2030:show() // say Mat.Prima
    ogetvmaterial:show()  // 2031

    if mododecaptur == 'revisao'

       if vfabfornmp == .t.

          obtfabfornmp:setcolor(cor_amar,nrgb(255,128,0))
          obtclifornmp:setcolor(cor_azule,cor_fundog)

       /*
          if vntiposecesc := 1
             obtcircular:setcolor(cor_amar,nrgb(255,128,0))
             obtretangular:setcolor(cor_azule,cor_fundog)
          else
            obtcircular:setcolor(cor_azule,cor_fundog)
            obtretangular:setcolor(cor_amar,nrgb(255,128,0))
          endif
        */

       else

          obtclifornmp:setcolor(cor_amar,nrgb(255,128,0))
          obtfabfornmp:setcolor(cor_azule,cor_fundog)

       endif

    else
       obtfabfornmp:setcolor(cor_azule,cor_fundog)
       obtretangular:setcolor(cor_azule,cor_fundog)
       obtcircular:setcolor(cor_azule,cor_fundog)
    endif

    if alltrim(str(vtipomola)) $ '123' // SE FOR COMPRESSÃO TRAÇÃO OU TORÇÃO
       obtcircular:show()
       obtretangular:show()
       os_forsec_2020:show()// say SEÇÃO DO ARAME
       os_haste1_2100:show() // say haste1
       ogetvhaste1:show()    // 2101 get haste1
       os_haste2_2110:show() // say haste2
       ogetvhaste2:show()    // 2111 get haste2
       os_dimmed_2070:enable() // say diam. médio
       ogetvd_medio2:enable()  // 2071 get diam. medio
       os_dimint_2080:enable() // say diam. interno
       ogetvd_intern2:enable() // 2081 get diam. interno
       os_dimext_2090:enable() // say diam externo
       ogetvd_extern2:enable() // 2091 get diam externoo
       os_artfdim_4122:hide()// say dimensoes do artef
       ogetvarteftdim:hide() // 4123 get dimens. artf
       os_artfvol_4116:hide()// say volume artf
       ogetvarteftvol:hide() // 4117 get volume artf
       os_artfmas_4118:hide()// say say massa do artef
       ogetvarteftmas:hide() // 4119 get massa do artef
       if vtipomola==1 // compressão
          obtcompressao:setcolor(cor_amar,cor_azule)
          obttracao:setcolor(cor_azule,cor_fundog)
          obttorcao:setcolor(cor_azule,cor_fundog)
          obtartefato:setcolor(cor_azule,cor_fundog)
       elseif vtipomola==2 // tração
          obtcompressao:setcolor(cor_azule,cor_fundog)
          obttracao:setcolor(cor_amar,cor_azule)
          obttorcao:setcolor(cor_azule,cor_fundog)
          obtartefato:setcolor(cor_azule,cor_fundog)
       elseif vtipomola==3 // torção
          obtcompressao:setcolor(cor_azule,cor_fundog)
          obttracao:setcolor(cor_azule,cor_fundog)
          obttorcao:setcolor(cor_amar,cor_azule)
          obtartefato:setcolor(cor_azule,cor_fundog)
       endif
       if vtipomola == 1
          vctpm := ' COMPRESSÃO '
       elseif vtipomola == 2
          vctpm := ' TRAÇÃO '
       elseif vtipomola == 3
          vctpm := ' TORÇÃO '
       endif
    elseif vtipomola == 4  // SE FOR ARTEFATO
       vd_arame   := 0
       vespiras   := 0
       vldaxial   := 0
       vldradial  := 0
       vespiras   := 0
       vd_medio2  := 0
       vd_intern2 := 0
       vd_extern2 := 0
       vhaste1    := 0
       vhaste2    := 0
       os_forsec_2020:hide()// say SEÇÃO DO ARAME
       obtcircular:hide()   //
       obtretangular:hide()
       os_dimara_2040:hide() // say diam.arame
       ogetvd_arame:hide()   // 2041 get diam arame p/seçao circular (vd_arame)
       os_nespic_2050:hide() // say num. espiras circ
       ogetvespirasc:hide()  // 2051 get num. espiras circ
       os_ladaxi_2042:hide() // say lado axial
       ogetvldaxial:hide()   // 2043 get ld axial
       os_ladrad_2052:hide() // say ld radial
       ogetvldradial:hide()  // 2053 get ld radial
       os_nespiR_2060:hide() // say num esp para secao retang
       ogetvespirasR:hide()  // 2061 get num esp para secao retang
       os_dimmed_2070:hide() // say diam. médio
       ogetvd_medio2:hide()  // 2071 get diam. medio
       os_dimint_2080:hide() // say diam. interno
       ogetvd_intern2:hide() // 2081 get diam. interno
       os_dimext_2090:hide() // say diam externo
       ogetvd_extern2:hide() // 2091 get diam externoo
       os_haste1_2100:hide() // say haste1
       ogetvhaste1:hide()    // 2101 get haste1
       os_haste2_2110:hide() // say haste2
       ogetvhaste2:hide()    // 2111 get haste2
       ossv_pesomilha:show()  // 4158 say peso do milheiro
       osv_pesomilha:show()   // 4159 peso do milheiro (vmassa)
       os_artfdim_4122:show() // say dimensoes do artef
       ogetvarteftdim:show()  // 4123 get dimens. artf
       os_artfvol_4116:show() // say volume artf
       ogetvarteftvol:show()  // 4117 get volume artf
       os_artfmas_4118:show() // say say massa do artef
       ogetvarteftmas:show()  // 4119 get massa do artef

       obtcompressao:setcolor(cor_azule,cor_fundog)
       obttracao:setcolor(cor_azule,cor_fundog)
       obttorcao:setcolor(cor_azule,cor_fundog)
       obtartefato:setcolor(cor_amar,cor_azule)

       vctpm := ' ARTEFATO '
    else
       vctpm := ' - '
    endif

    oq_tipomol_4128:hide()
    oq_fabrcli_4129:show()
    oq_circret_4130:hide()

    if mododecaptur=='inclusao' .or.( mododecaptur=='revisao'.and. vfabfornmp==.t.)
       obtfabfornmp:setfocus()
    else
       obtclifornmp:setfocus()
    endif

    odlgipl:update()
    retu nil

     

    resources:

     

    RCADPLAN_IN DIALOG DISCARDABLE 0, 0, 821, 460
    STYLE WS_POPUP|DS_MODALFRAME|DS_3DLOOK|WS_CAPTION|WS_VISIBLE
    CAPTION " "
    FONT 8, "MS Sans Serif"
    {
      CONTROL "", 3000, "Static", SS_GRAYFRAME, 2, 0, 313, 16
      CONTROL "Nº da Planilha:", 3100, "Static", SS_RIGHT|WS_GROUP, 6, 4, 56, 9
      CONTROL "9999/99-99", 3200, "Edit", ES_CENTER|ES_AUTOHSCROLL|WS_TABSTOP, 66, 4, 55, 9
      CONTROL "", 4104, "Static", SS_GRAYFRAME, 2, 17, 313, 32
      CONTROL "Situação:", 4030, "Static", SS_RIGHT|WS_GROUP, 6, 23, 56, 8
      CONTROL "", 603, "ComboBox", WS_BORDER|CBS_DROPDOWNLIST|CBS_AUTOHSCROLL|WS_VSCROLL|WS_GROUP|WS_TABSTOP, 66, 19, 119, 93
      CONTROL "data de reg.situação:", 4011, "Static", SS_RIGHT|WS_GROUP, 194, 23, 72, 8
      CONTROL "99/99/9999", 4032, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 270, 23, 42, 8
      CONTROL "nº do orçamento:", 4099, "Static", SS_RIGHT|WS_GROUP, 6, 37, 56, 8
      CONTROL "BBBBBBBBBBBBBBBBBBBB", 4103, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 66, 37, 119, 8
      CONTROL "", 4070, "Static", SS_GRAYFRAME, 2, 51, 313, 16
      CONTROL "Cód.Pç (Fabr.):", 4006, "Static", SS_RIGHT|WS_GROUP, 6, 55, 56, 8
      CONTROL "999*999", 4031, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 66, 55, 36, 8
      CONTROL "Cód. Pç Cliente:", 4004, "Static", SS_RIGHT|WS_GROUP, 105, 54, 54, 8
      CONTROL "999", 4038, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 161, 54, 125, 8
      CONTROL "Foto", 4120, "Button", WS_TABSTOP, 289, 54, 24, 10
      CONTROL "", 1000, "Static", SS_GRAYFRAME, 2, 68, 313, 99
      CONTROL "Cliente:", 1100, "Static", SS_RIGHT|WS_GROUP, 6, 72, 56, 8
      CONTROL "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW", 1101, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 66, 72, 212, 8
      CONTROL "Nº do Desenho:", 1200, "Static", SS_RIGHT|WS_GROUP, 6, 84, 56, 8
      CONTROL "WWWWWWWWWZWWWWWWWWWZWWWWWWWWWZWWWWW", 1201, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 66, 84, 148, 8
      CONTROL "Item:", 1300, "Static", SS_RIGHT|WS_GROUP, 226, 84, 18, 8
      CONTROL "999", 1301, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 246, 84, 44, 8
      CONTROL "Nº  Des. Mestre:", 1400, "Static", SS_RIGHT|WS_GROUP, 6, 96, 56, 8
      CONTROL "88888888888888888888888888888888888888888888888888888888888888888", 1401, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 66, 96, 225, 8
      CONTROL "Descrição:", 1500, "Static", SS_RIGHT|WS_GROUP, 6, 108, 56, 8
      CONTROL "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB", 1501, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 66, 108, 212, 8
      CONTROL "Volume anual:", 4033, "Static", SS_RIGHT|WS_GROUP, 6, 120, 56, 8
      CONTROL "9 999.999,999 K", 4035, "Edit", ES_RIGHT|ES_AUTOHSCROLL|ES_AUTOVSCROLL|WS_VSCROLL|WS_TABSTOP, 66, 120, 69, 8
      CONTROL "Quantid. Total:", 1600, "Static", SS_RIGHT|WS_GROUP, 6, 132, 56, 8
      CONTROL "9 999.999,999 K", 1601, "Edit", ES_RIGHT|ES_AUTOHSCROLL|ES_AUTOVSCROLL|WS_VSCROLL|WS_TABSTOP, 66, 132, 69, 8
      CONTROL "<quant.em milhares de pçs.(explo.: 100 pçs = 0,100 K)", 1610, "Static", WS_GROUP, 138, 132, 176, 8
      CONTROL "Qtd. Altern. 1:", 1700, "Static", SS_RIGHT|WS_GROUP, 6, 144, 56, 8
      CONTROL "9 999.999,999 K", 1701, "Edit", ES_RIGHT|ES_AUTOHSCROLL|ES_AUTOVSCROLL|WS_VSCROLL|WS_TABSTOP, 66, 144, 69, 8
      CONTROL "Qtd. Altern. 2:", 1750, "Static", SS_RIGHT|WS_GROUP, 134, 144, 53, 8
      CONTROL "9 999.999,999 K", 1751, "Edit", ES_RIGHT|ES_AUTOHSCROLL|ES_AUTOVSCROLL|WS_VSCROLL|WS_TABSTOP, 190, 144, 69, 8
      CONTROL "Qtd. Altern. 3:", 1800, "Static", SS_RIGHT|WS_GROUP, 6, 155, 56, 8
      CONTROL "9 999.999,999 K", 1801, "Edit", ES_RIGHT|ES_AUTOHSCROLL|ES_AUTOVSCROLL|WS_VSCROLL|WS_TABSTOP, 66, 156, 69, 8
      CONTROL "Qtd. Altern. 4:", 1850, "Static", SS_RIGHT|WS_GROUP, 134, 156, 53, 8
      CONTROL "9 999.999,999 K", 1851, "Edit", ES_RIGHT|ES_AUTOHSCROLL|ES_AUTOVSCROLL|WS_VSCROLL|WS_TABSTOP, 190, 156, 69, 8
      CONTROL "", 2000, "Static", SS_GRAYFRAME, 2, 168, 313, 156
      CONTROL "", 4128, "Static", SS_ETCHEDFRAME, 66, 170, 209, 18
      CONTROL "Tipo de produto:", 2010, "Static", SS_RIGHT|WS_GROUP, 6, 176, 56, 8
      CONTROL "Compressão", 4058, "Button", WS_TABSTOP, 69, 173, 50, 12
      CONTROL "Tração", 4115, "Button", WS_TABSTOP, 120, 173, 50, 12
      CONTROL "Torção", 4124, "Button", WS_TABSTOP, 171, 173, 50, 12
      CONTROL "Artefato", 4125, "Button", WS_TABSTOP, 222, 173, 50, 12
      CONTROL "", 4129, "Static", SS_ETCHEDFRAME|SS_CENTERIMAGE, 66, 189, 107, 18
      CONTROL "Fornec.mat.prima:", 4010, "Static", SS_RIGHT|WS_GROUP, 6, 195, 56, 8
      CONTROL "Fabricante", 4068, "Button", WS_TABSTOP, 69, 192, 50, 12
      CONTROL "Cliente", 4072, "Button", WS_TABSTOP, 120, 192, 50, 12
      CONTROL "", 4130, "Static", SS_ETCHEDFRAME|SS_CENTERIMAGE, 66, 207, 107, 18
      CONTROL "Seção arame:", 2020, "Static", SS_RIGHT|WS_GROUP, 6, 213, 56, 8
      CONTROL "Circular", 4126, "Button", WS_TABSTOP, 69, 210, 50, 12
      CONTROL "Retangular", 4127, "Button", WS_TABSTOP, 120, 210, 50, 12
      CONTROL "Matéria Prima:", 2030, "Static", SS_RIGHT|WS_GROUP, 6, 228, 56, 8
      CONTROL "BBBBBBBBBBBBBBBBBBBBBBBBB", 2031, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 67, 228, 129, 8
      CONTROL "Lote Mín.[kg]:", 4005, "Static", SS_RIGHT|WS_GROUP, 215, 228, 47, 8
      CONTROL "999.999 ", 4009, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 263, 228, 50, 8
      CONTROL "Fornecedor M.P.:", 2120, "Static", SS_RIGHT|WS_GROUP, 6, 238, 56, 8
      CONTROL " < nome do fornecedor >", 2121, "Static", WS_GROUP, 67, 238, 168, 8
      CONTROL "R$/kg:", 2130, "Static", SS_RIGHT|WS_GROUP, 235, 238, 25, 8
      CONTROL "< custo mp >", 2131, "Static", WS_GROUP, 263, 238, 50, 8
      CONTROL "Diâmetr.Arame:", 2040, "Static", SS_RIGHT|WS_GROUP, 6, 250, 56, 8
      CONTROL "", 2041, "Edit", ES_RIGHT|ES_AUTOHSCROLL|ES_AUTOVSCROLL|WS_VSCROLL|WS_TABSTOP, 67, 250, 50, 8
      CONTROL "Nº  Espiras:", 2050, "Static", SS_RIGHT|WS_GROUP, 119, 250, 44, 8
      CONTROL "", 2051, "Edit", ES_RIGHT|ES_AUTOHSCROLL|ES_AUTOVSCROLL|WS_VSCROLL|WS_TABSTOP, 167, 250, 50, 8
      CONTROL "Lado Axial:", 2042, "Static", SS_RIGHT|WS_GROUP, 6, 260, 56, 8
      CONTROL "999.99 mm", 2043, "Edit", ES_RIGHT|ES_AUTOHSCROLL|ES_AUTOVSCROLL|WS_VSCROLL|WS_TABSTOP, 67, 260, 50, 8
      CONTROL "Lado Radial:", 2052, "Static", SS_RIGHT|WS_GROUP, 119, 260, 44, 8
      CONTROL "999.99 mm", 2053, "Edit", ES_RIGHT|ES_AUTOHSCROLL|ES_AUTOVSCROLL|WS_VSCROLL|WS_TABSTOP, 167, 260, 50, 8
      CONTROL "Nº  Espiras:", 2060, "Static", SS_RIGHT|WS_GROUP, 219, 260, 42, 8
      CONTROL "999.99 e.t.", 2061, "Edit", ES_RIGHT|ES_AUTOHSCROLL|ES_AUTOVSCROLL|WS_VSCROLL|WS_TABSTOP, 263, 260, 50, 9
      CONTROL "Diamêtr.médio:", 2070, "Static", SS_RIGHT|WS_GROUP, 6, 270, 56, 8
      CONTROL "999.99 mm", 2071, "Edit", ES_RIGHT|ES_AUTOHSCROLL|ES_AUTOVSCROLL|WS_VSCROLL|WS_TABSTOP, 67, 270, 50, 8
      CONTROL "Diâm. interno", 2080, "Static", SS_RIGHT|WS_GROUP, 119, 270, 44, 8
      CONTROL "999.99 mm", 2081, "Edit", ES_RIGHT|ES_AUTOHSCROLL|ES_AUTOVSCROLL|WS_VSCROLL|WS_TABSTOP, 167, 270, 50, 8
      CONTROL "Diâm.externo:", 2090, "Static", SS_RIGHT|WS_GROUP, 215, 270, 44, 8
      CONTROL "999.99 mm", 2091, "Edit", ES_RIGHT|ES_AUTOHSCROLL|ES_AUTOVSCROLL|WS_VSCROLL|WS_TABSTOP, 263, 270, 50, 9
      CONTROL "Tam. haste 1:", 2100, "Static", SS_RIGHT|WS_GROUP, 6, 280, 56, 8
      CONTROL "999.99 mm", 2101, "Edit", ES_RIGHT|ES_AUTOHSCROLL|ES_AUTOVSCROLL|WS_VSCROLL|WS_TABSTOP, 67, 280, 50, 8
      CONTROL "Tam.haste 2:", 2110, "Static", SS_RIGHT|WS_GROUP, 119, 280, 44, 8
      CONTROL "999.99 mm", 2111, "Edit", ES_RIGHT|ES_AUTOHSCROLL|ES_AUTOVSCROLL|WS_VSCROLL|WS_TABSTOP, 167, 280, 50, 8
      CONTROL "kg/milheiro:", 4158, "Static", SS_RIGHT|WS_GROUP, 219, 280, 42, 8
      CONTROL "999,999.999", 4159, "Static", SS_RIGHT|WS_GROUP, 263, 280, 50, 8
      CONTROL "Sucata R$/kg:", 4002, "Static", SS_RIGHT|WS_GROUP, 6, 295, 56, 8
      CONTROL "99.999,99", 4036, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 67, 295, 50, 8
      CONTROL "reaproveit. %.:", 4003, "Static", SS_RIGHT|WS_GROUP, 119, 295, 44, 8
      CONTROL "999,99 %", 4037, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 167, 295, 50, 8
      CONTROL "Dimens.Artefato:", 4122, "Static", SS_RIGHT|WS_GROUP, 6, 305, 56, 8
      CONTROL "< dimensões do artefato >", 4123, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 67, 305, 244, 8
      CONTROL "Volume/Mil [mm3]", 4116, "Static", SS_LEFTNOWORDWRAP|WS_GROUP, 6, 315, 56, 8
      CONTROL "999.999.999,9999 mm3", 4117, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 67, 315, 76, 8
      CONTROL "Massa/Mil [kg]", 4118, "Static", SS_RIGHT|WS_GROUP, 160, 315, 52, 8
      CONTROL "999.999.999,9999 kg", 4119, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 215, 315, 76, 8
      CONTROL "", 4018, "Static", SS_GRAYFRAME, 2, 325, 313, 27
      CONTROL "C.S.L.L:", 4012, "Static", SS_RIGHT|WS_GROUP, 5, 329, 25, 8
      CONTROL "999.99 %", 4021, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_VSCROLL|WS_TABSTOP, 33, 329, 40, 9
      CONTROL "I.R.P.J", 4013, "Static", SS_RIGHT|WS_GROUP, 77, 329, 25, 8
      CONTROL "999.99 %", 4022, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_VSCROLL|WS_TABSTOP, 105, 329, 40, 9
      CONTROL "ICMS:", 4015, "Static", SS_RIGHT|WS_GROUP, 149, 329, 37, 8
      CONTROL "999.99 %", 4023, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_VSCROLL|WS_TABSTOP, 185, 329, 40, 9
      CONTROL "Pis/Cofins:", 4014, "Static", SS_RIGHT|WS_GROUP, 229, 329, 37, 8
      CONTROL "999.99 %", 4024, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_VSCROLL|WS_TABSTOP, 269, 329, 44, 9
      CONTROL "Lucro:", 4019, "Static", SS_RIGHT|WS_GROUP, 5, 341, 25, 8
      CONTROL "999.99 %", 4025, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_VSCROLL|WS_TABSTOP, 33, 339, 40, 9
      CONTROL "Transp:", 4020, "Static", SS_RIGHT|WS_GROUP, 77, 341, 25, 8
      CONTROL "999.99 %", 4026, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_VSCROLL|WS_TABSTOP, 105, 339, 40, 9
      CONTROL "Desp.Adm.:", 4016, "Static", SS_RIGHT|WS_GROUP, 149, 341, 37, 8
      CONTROL "999.99 %", 4027, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_VSCROLL|WS_TABSTOP, 185, 339, 40, 9
      CONTROL "<tx total e índice>", 4008, "Static", SS_LEFTNOWORDWRAP|WS_GROUP, 233, 341, 80, 8
      CONTROL "", 4017, "Static", SS_GRAYFRAME, 2, 353, 313, 11
      CONTROL "Cond.Pagtº:", 4007, "Static", SS_RIGHT|WS_GROUP, 6, 355, 56, 8
      CONTROL "BBBBBBBBBBBBBBB", 4040, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 67, 355, 98, 8
      CONTROL "Quadro de Mensagens:", 10001, "Static", WS_BORDER|WS_GROUP, 2, 365, 313, 73
      CONTROL "", 4000, "Static", SS_GRAYFRAME, 317, 0, 504, 16
      CONTROL "Célula:", 4100, "Static", SS_RIGHT|WS_GROUP, 318, 4, 26, 8
      CONTROL "9999", 4101, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 347, 4, 39, 9
      CONTROL "Padrão:", 4200, "Static", SS_RIGHT|WS_GROUP, 390, 4, 25, 8
      CONTROL "<tempo>", 4201, "Static", SS_RIGHT|WS_GROUP, 418, 4, 31, 8
      CONTROL "hr.maq.Retif:", 4400, "Static", SS_RIGHT|WS_GROUP, 454, 4, 42, 8
      CONTROL "<tempo>", 4401, "Static", SS_RIGHT|WS_GROUP, 499, 4, 31, 8
      CONTROL "hr.maq.  Enrolar:", 4300, "Static", SS_RIGHT|WS_GROUP, 534, 4, 54, 8
      CONTROL "tp", 4301, "Static", SS_RIGHT|WS_GROUP, 590, 4, 31, 8
      CONTROL "hr.maq.Estampar:", 4500, "Static", SS_RIGHT|WS_GROUP, 626, 4, 54, 8
      CONTROL "tp", 4501, "Static", SS_RIGHT|WS_GROUP, 682, 4, 31, 8
      CONTROL "M.Prima:", 4028, "Static", SS_RIGHT, 719, 4, 30, 8
      CONTROL "R$ 999.999,999.99", 4057, "Static", SS_RIGHT, 750, 4, 65, 8
      CONTROL "", 4071, "Static", SS_GRAYFRAME, 317, 17, 504, 227
      CONTROL "ENROLAR 7000:", 5100, "Static", SS_RIGHT|WS_GROUP, 322, 23, 56, 8
      CONTROL "hr/hom.:", 5110, "Static", SS_RIGHT|WS_GROUP, 380, 23, 30, 8
      CONTROL "R$ 999.99", 5111, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 413, 23, 43, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 5115, "Static", WS_GROUP, 458, 23, 58, 8
      CONTROL "tempo/1000 pçs:", 5130, "Static", SS_RIGHT|WS_GROUP, 517, 23, 57, 8
      CONTROL "999.99 pç/h", 5131, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 23, 54, 8
      CONTROL "Execução Externa", 4041, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 23, 72, 8
      CONTROL "ENROLAR:", 5150, "Static", SS_RIGHT|WS_GROUP, 322, 33, 56, 8
      CONTROL "hr/máq.:", 5160, "Static", SS_RIGHT|WS_GROUP, 380, 33, 30, 8
      CONTROL "99.999.99", 5161, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 413, 33, 43, 8
      CONTROL "padrão:", 5170, "Static", SS_RIGHT|WS_GROUP, 459, 33, 28, 8
      CONTROL "999,99  h ", 5171, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 491, 33, 44, 8
      CONTROL "peças/hr:", 5180, "Static", SS_RIGHT|WS_GROUP, 539, 33, 35, 8
      CONTROL "999.999 pç/h", 5181, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 33, 54, 8
      CONTROL "Execução Externa", 4042, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 33, 72, 8
      CONTROL "ESTAMPAR   Pr:", 5200, "Static", SS_RIGHT|WS_GROUP, 322, 43, 56, 8
      CONTROL "nº  oper.:", 5210, "Static", SS_RIGHT|WS_GROUP, 380, 43, 30, 8
      CONTROL "999", 5211, "Edit", ES_NUMBER|ES_AUTOHSCROLL|WS_VSCROLL|WS_TABSTOP, 413, 43, 28, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 4001, "Static", WS_GROUP, 441, 43, 96, 8
      CONTROL "peças/dia:", 5230, "Static", SS_RIGHT|WS_GROUP, 539, 43, 35, 8
      CONTROL "999.999 pç/d", 5231, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 43, 54, 8
      CONTROL "Execução Externa", 4043, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 43, 72, 8
      CONTROL "ESTAMPAR Mq:", 5250, "Static", SS_RIGHT|WS_GROUP, 322, 53, 56, 8
      CONTROL "hr/máq.:", 5260, "Static", SS_RIGHT|WS_GROUP, 380, 53, 30, 8
      CONTROL "99.999.99", 5261, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 413, 53, 43, 8
      CONTROL "padrão:", 5270, "Static", SS_RIGHT|WS_GROUP, 459, 53, 28, 8
      CONTROL "999,99  h ", 5271, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 491, 53, 44, 8
      CONTROL "peças/hr:", 5280, "Static", SS_RIGHT|WS_GROUP, 539, 53, 35, 8
      CONTROL "999.999 pç/h", 5281, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 53, 54, 8
      CONTROL "Execução Externa", 4044, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 53, 72, 8
      CONTROL "REVENIR:", 5300, "Static", SS_RIGHT|WS_GROUP, 322, 63, 56, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 5305, "Static", WS_GROUP, 380, 62, 157, 8
      CONTROL "custo/mil:", 4059, "Static", SS_RIGHT|WS_GROUP, 539, 62, 35, 8
      CONTROL "R$ 9.999,999.99", 5311, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 63, 54, 8
      CONTROL "Execução Externa", 4045, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 63, 72, 8
      CONTROL "CALIBRAR:", 5330, "Static", SS_RIGHT|WS_GROUP, 322, 73, 56, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 5335, "Static", WS_GROUP, 380, 72, 157, 8
      CONTROL "peças/dia:", 5340, "Static", SS_RIGHT|WS_GROUP, 539, 72, 35, 8
      CONTROL "999.999 pç/d", 5341, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 73, 54, 8
      CONTROL "Execução Externa", 4046, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 73, 72, 8
      CONTROL "ENDIR/CORT:", 5360, "Static", SS_RIGHT|WS_GROUP, 322, 82, 56, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 5365, "Static", WS_GROUP, 380, 82, 157, 8
      CONTROL "peças/dia:", 5370, "Static", SS_RIGHT|WS_GROUP, 539, 82, 35, 8
      CONTROL "999.999 pç/d", 5371, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 82, 54, 8
      CONTROL "Execução Externa", 4047, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 82, 72, 8
      CONTROL "LEV.OLHAL:", 5390, "Static", SS_RIGHT|WS_GROUP, 322, 92, 56, 8
      CONTROL "nº  oper.:", 5400, "Static", SS_RIGHT|WS_GROUP, 380, 92, 30, 8
      CONTROL "999", 5401, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_VSCROLL|WS_TABSTOP, 411, 92, 28, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 5405, "Static", WS_GROUP, 441, 92, 96, 8
      CONTROL "peças/dia:", 5410, "Static", SS_RIGHT|WS_GROUP, 539, 92, 35, 8
      CONTROL "999.999 pç/d", 5411, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 92, 54, 8
      CONTROL "Execução Externa", 4048, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 92, 72, 8
      CONTROL "DOBRAR:", 5430, "Static", SS_RIGHT|WS_GROUP, 322, 102, 56, 8
      CONTROL "nº  oper.:", 5440, "Static", SS_RIGHT|WS_GROUP, 380, 102, 30, 8
      CONTROL "999", 5441, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_VSCROLL|WS_TABSTOP, 411, 102, 28, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 5445, "Static", WS_GROUP, 441, 102, 96, 8
      CONTROL "peças/dia:", 5450, "Static", SS_RIGHT|WS_GROUP, 539, 102, 35, 8
      CONTROL "999.999 pç/d", 5451, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 102, 54, 8
      CONTROL "Execução Externa", 4049, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 102, 72, 8
      CONTROL "RECORTAR:", 5470, "Static", SS_RIGHT|WS_GROUP, 322, 112, 56, 8
      CONTROL "nº  oper.:", 5480, "Static", SS_RIGHT|WS_GROUP, 380, 112, 30, 8
      CONTROL "999", 5481, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_VSCROLL|WS_TABSTOP, 411, 112, 28, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 5485, "Static", WS_GROUP, 441, 112, 96, 8
      CONTROL "peças/dia:", 5490, "Static", SS_RIGHT|WS_GROUP, 539, 112, 35, 8
      CONTROL "999.999 pç/d", 5491, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 112, 54, 8
      CONTROL "Execução Externa", 4050, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 112, 72, 8
      CONTROL "CHANFRAR:", 5510, "Static", SS_RIGHT|WS_GROUP, 322, 122, 56, 8
      CONTROL "nº  oper.:", 5520, "Static", SS_RIGHT|WS_GROUP, 380, 122, 30, 8
      CONTROL "999", 5521, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_VSCROLL|WS_TABSTOP, 411, 122, 28, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 5525, "Static", WS_GROUP, 441, 122, 96, 8
      CONTROL "peças/dia:", 5530, "Static", SS_RIGHT|WS_GROUP, 539, 122, 35, 8
      CONTROL "999.999 pç/d", 5531, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 122, 54, 8
      CONTROL "Execução Externa", 4051, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 122, 72, 8
      CONTROL "RETIFICAR:", 5550, "Static", SS_RIGHT|WS_GROUP, 322, 132, 56, 8
      CONTROL "passes:", 4079, "Static", SS_RIGHT|WS_GROUP, 380, 132, 30, 8
      CONTROL "999", 4080, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_VSCROLL|WS_TABSTOP, 411, 132, 28, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 5555, "Static", WS_GROUP, 441, 132, 96, 8
      CONTROL "peças/hr:", 5560, "Static", SS_RIGHT|WS_GROUP, 539, 132, 35, 8
      CONTROL "999.999 pç/h", 5561, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 132, 54, 8
      CONTROL "Execução Externa", 4052, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 132, 72, 8
      CONTROL "OLEAR:", 5580, "Static", SS_RIGHT|WS_GROUP, 322, 142, 56, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 5585, "Static", WS_GROUP, 380, 141, 157, 8
      CONTROL "custo/mil:", 4061, "Static", SS_RIGHT|WS_GROUP, 539, 141, 35, 8
      CONTROL "R$ 9.999,999.99", 5591, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 142, 54, 8
      CONTROL "Execução Externa", 4053, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 142, 72, 8
      CONTROL "SEL 100%:", 5860, "Static", SS_RIGHT|WS_GROUP, 322, 152, 56, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 5865, "Static", WS_GROUP, 380, 151, 157, 8
      CONTROL "peças/dia:", 5870, "Static", SS_RIGHT|WS_GROUP, 539, 151, 35, 8
      CONTROL "999.999 pç/d", 5871, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 152, 54, 8
      CONTROL "Execução Externa", 4060, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 152, 72, 8
      CONTROL "LAVAR:", 5950, "Static", SS_RIGHT|WS_GROUP, 322, 162, 56, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 5952, "Static", WS_GROUP, 380, 161, 157, 8
      CONTROL "custo/mil:", 4084, "Static", SS_RIGHT|WS_GROUP, 539, 161, 35, 8
      CONTROL "R$ 9.999,999.99", 5953, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 162, 54, 8
      CONTROL "Execução Externa", 4063, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 162, 72, 8
      CONTROL "TAMBOREAR:", 5955, "Static", SS_RIGHT|WS_GROUP, 322, 172, 56, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 5956, "Static", WS_GROUP, 380, 171, 157, 8
      CONTROL "custo/mil:", 4085, "Static", SS_RIGHT|WS_GROUP, 539, 171, 35, 8
      CONTROL "R$ 9.999,999.99", 5959, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 172, 54, 8
      CONTROL "Execução Externa", 4064, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 172, 72, 8
      CONTROL "OPER.EXTRA 1:", 5961, "Static", SS_RIGHT|WS_GROUP, 322, 182, 56, 8
      CONTROL "<oper. extra 1>", 5962, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 380, 182, 110, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 5963, "Static", WS_GROUP, 493, 181, 44, 8
      CONTROL "custo/mil:", 4086, "Static", SS_RIGHT|WS_GROUP, 539, 181, 35, 8
      CONTROL "R$ 9.999,999.99", 5964, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 182, 54, 8
      CONTROL "Execução Externa", 4065, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 182, 72, 8
      CONTROL "OPER.EXTRA 2:", 5966, "Static", SS_RIGHT|WS_GROUP, 322, 192, 56, 8
      CONTROL "<oper. extra 2>", 5967, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 380, 192, 110, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 5968, "Static", WS_GROUP, 493, 191, 44, 8
      CONTROL "custo/mil:", 4102, "Static", SS_RIGHT|WS_GROUP, 539, 191, 35, 8
      CONTROL "R$ 9.999,999.99", 5969, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 192, 54, 8
      CONTROL "Execução Externa", 4066, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 192, 72, 8
      CONTROL "OPER.EXTRA 3:", 5971, "Static", SS_RIGHT|WS_GROUP, 322, 202, 56, 8
      CONTROL "<oper. extra 3>", 5972, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 380, 202, 110, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 5973, "Static", WS_GROUP, 493, 202, 44, 8
      CONTROL "custo/mil:", 4108, "Static", SS_RIGHT|WS_GROUP, 539, 202, 35, 8
      CONTROL "R$ 9.999,999.99", 5974, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 202, 54, 8
      CONTROL "Execução Externa", 4067, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 202, 72, 8
      CONTROL "AMORT.FERR.1:", 5890, "Static", SS_RIGHT|WS_GROUP, 322, 212, 56, 8
      CONTROL "hrs.fabric.:", 5892, "Static", SS_RIGHT|WS_GROUP, 380, 212, 38, 8
      CONTROL "999.999", 5893, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 421, 212, 32, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 5895, "Static", WS_GROUP, 457, 212, 80, 8
      CONTROL "lote:", 5896, "Static", SS_RIGHT|WS_GROUP, 539, 212, 35, 8
      CONTROL "R$ 9.999,999.99", 5901, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 212, 54, 8
      CONTROL "AMORT.FERR.2:", 4087, "Static", SS_RIGHT|WS_GROUP, 322, 222, 56, 8
      CONTROL "hrs.fabric.:", 4088, "Static", SS_RIGHT|WS_GROUP, 380, 222, 38, 8
      CONTROL "999.999", 4089, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 421, 222, 32, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 4090, "Static", WS_GROUP, 457, 222, 80, 8
      CONTROL "lote:", 4091, "Static", SS_RIGHT|WS_GROUP, 539, 222, 35, 8
      CONTROL "R$ 9.999,999.99", 4092, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 222, 54, 8
      CONTROL "AMORT.FERR.3:", 4093, "Static", SS_RIGHT|WS_GROUP, 322, 232, 56, 8
      CONTROL "hrs.fabric.:", 4094, "Static", SS_RIGHT|WS_GROUP, 380, 232, 38, 8
      CONTROL "999.999", 4095, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 421, 232, 32, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 4096, "Static", WS_GROUP, 457, 232, 80, 8
      CONTROL "lote:", 4097, "Static", SS_RIGHT|WS_GROUP, 539, 232, 35, 8
      CONTROL "R$ 9.999,999.99", 4098, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 232, 54, 8
      CONTROL "", 4069, "Static", SS_GRAYFRAME, 317, 245, 504, 74
      CONTROL "TRAT. SUP.:", 5610, "Static", SS_RIGHT|WS_GROUP, 322, 249, 56, 8
      CONTROL "< tratamento superficial selecionado >", 5611, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 380, 249, 126, 8
      CONTROL "Fornec.:", 5631, "Static", SS_RIGHT|WS_GROUP, 521, 249, 29, 8
      CONTROL "< nome do fornec.trat.superf. >", 5632, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 552, 249, 79, 8
      CONTROL "Fornec. p/ Cliente", 4054, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 249, 72, 8
      CONTROL "JATEAR:", 5670, "Static", SS_RIGHT|WS_GROUP, 322, 259, 56, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 5675, "Static", WS_GROUP, 379, 258, 158, 8
      CONTROL "custo/mil:", 4109, "Static", SS_RIGHT|WS_GROUP, 539, 258, 35, 8
      CONTROL "R$ 9.999,999.99", 5681, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 259, 54, 8
      CONTROL "Fornec. p/ Cliente", 4056, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 259, 72, 8
      CONTROL "COMPON.3ºS:", 4029, "Static", SS_RIGHT|WS_GROUP, 322, 269, 56, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 4034, "Static", WS_GROUP, 379, 268, 158, 8
      CONTROL "custo/mil:", 4110, "Static", SS_RIGHT|WS_GROUP, 539, 268, 35, 8
      CONTROL "R$ 9.999,999.99", 4039, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 269, 54, 8
      CONTROL "USINAR:", 4073, "Static", SS_RIGHT|WS_GROUP, 322, 279, 56, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 4074, "Static", WS_GROUP, 379, 278, 158, 8
      CONTROL "custo/mil:", 4111, "Static", SS_RIGHT|WS_GROUP, 539, 278, 35, 8
      CONTROL "R$ 9.999,999.99", 4075, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 279, 54, 8
      CONTROL "Execução Externa", 4105, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 279, 72, 8
      CONTROL "SOLDAR:", 4076, "Static", SS_RIGHT|WS_GROUP, 322, 289, 56, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 4077, "Static", WS_GROUP, 379, 288, 158, 8
      CONTROL "custo/mil:", 4112, "Static", SS_RIGHT|WS_GROUP, 539, 288, 35, 8
      CONTROL "R$ 9.999,999.99", 4078, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 289, 54, 8
      CONTROL "Execução Externa", 4106, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 289, 72, 8
      CONTROL "ROSCAR:", 4081, "Static", SS_RIGHT|WS_GROUP, 322, 299, 56, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 4082, "Static", WS_GROUP, 379, 298, 158, 8
      CONTROL "custo/mil:", 4113, "Static", SS_RIGHT|WS_GROUP, 539, 298, 35, 8
      CONTROL "R$ 9.999,999.99", 4083, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 299, 54, 8
      CONTROL "Execução Externa", 4107, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 299, 72, 8
      CONTROL "PINTAR:", 5640, "Static", SS_RIGHT|WS_GROUP, 322, 309, 56, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 5645, "Static", WS_GROUP, 379, 308, 158, 8
      CONTROL "custo/mil:", 4114, "Static", SS_RIGHT|WS_GROUP, 539, 308, 35, 8
      CONTROL "R$ 9.999,999.99", 5651, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 577, 309, 54, 8
      CONTROL "Execução Externa", 4055, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 636, 309, 72, 8
      CONTROL "", 4062, "Static", SS_GRAYFRAME, 317, 320, 504, 17
      CONTROL "EMBALAGEM:", 5700, "Static", SS_RIGHT|WS_GROUP, 322, 326, 56, 8
      CONTROL "Informação dos dados", 5712, "Button", WS_TABSTOP, 382, 324, 84, 12
      CONTROL "<Tipo de Embal.Selec.>", 5713, "Static", SS_LEFTNOWORDWRAP|WS_GROUP, 472, 326, 184, 8
      CONTROL "R$ 999.999,999.99", 5711, "Static", SS_RIGHT|WS_GROUP, 750, 326, 65, 8
      CONTROL "Desp.Ger.Fabric.:", 5717, "Static", SS_RIGHT|WS_GROUP, 322, 342, 56, 8
      CONTROL "999,99 %", 5718, "Edit", ES_RIGHT|ES_AUTOHSCROLL|WS_TABSTOP, 380, 342, 36, 8
      CONTROL "", 6000, "Static", SS_GRAYFRAME, 317, 353, 391, 45
      CONTROL "Observações:", 6010, "Static", SS_LEFTNOWORDWRAP|WS_GROUP, 320, 355, 46, 8
      CONTROL "< obs linha 1 >", 6011, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 320, 365, 384, 8
      CONTROL "< obs linha 2 >", 6012, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 320, 376, 384, 8
      CONTROL "< obs linha 3 >", 6013, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 320, 387, 384, 8
      CONTROL "", 7000, "Static", SS_GRAYFRAME, 317, 399, 391, 39
      CONTROL "Solicitado por:", 7100, "Static", SS_RIGHT|WS_GROUP, 322, 403, 56, 8
      CONTROL "", 7101, "ComboBox", WS_BORDER|CBS_DROPDOWNLIST|CBS_AUTOHSCROLL|CBS_UPPERCASE|WS_VSCROLL|WS_GROUP|WS_TABSTOP, 380, 400, 130, 80
      CONTROL "Analisado por:", 7200, "Static", SS_RIGHT|WS_GROUP, 517, 403, 50, 8
      CONTROL "", 7201, "ComboBox", WS_BORDER|CBS_DROPDOWNLIST|CBS_AUTOHSCROLL|CBS_UPPERCASE|WS_VSCROLL|WS_GROUP|WS_TABSTOP, 569, 400, 135, 80
      CONTROL "Registrado em:", 7300, "Static", SS_RIGHT|WS_GROUP, 322, 416, 56, 8
      CONTROL "99/99/9999", 7301, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 380, 416, 42, 8
      CONTROL "Validade [dias]:", 7400, "Static", SS_RIGHT|WS_GROUP, 517, 416, 50, 8
      CONTROL "999", 7401, "Edit", ES_AUTOHSCROLL|WS_VSCROLL|WS_TABSTOP, 570, 416, 29, 8
      CONTROL "Aprovado por:", 7500, "Static", SS_RIGHT|WS_GROUP, 322, 428, 56, 8
      CONTROL "nome do aprovador", 7501, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 380, 428, 130, 8
      CONTROL "Data Aprov.:", 7600, "Static", SS_RIGHT|WS_GROUP, 517, 428, 50, 8
      CONTROL "99/99/9999", 7601, "Edit", ES_AUTOHSCROLL|WS_TABSTOP, 570, 428, 42, 8
      CONTROL "", 4172, "Static", SS_GRAYFRAME, 710, 355, 111, 83
      CONTROL "CONCLUI >>>  ( Confere informações e &Registra a planilha )", 8000, "Button", WS_TABSTOP, 317, 440, 504, 20
      CONTROL "&CANCELA INCLUSÃO", 9000, "Button", WS_TABSTOP, 2, 440, 313, 20
      CONTROL "1 - Clientes", 1110, "Button", BS_BITMAP|BS_LEFT|BS_VCENTER|WS_TABSTOP, 285, 72, 10, 10
      CONTROL "2 - Descr.Cliente", 1510, "Button", BS_BITMAP|BS_LEFT|BS_VCENTER|WS_TABSTOP, 285, 107, 10, 10
      CONTROL "Qtds.Altern.", 1950, "Button", WS_TABSTOP, 262, 148, 50, 15
      CONTROL "", 2300, "Button", BS_CENTER|BS_MULTILINE|WS_TABSTOP, 285, 170, 18, 18
      CONTROL "4 - Sel. Mat.Prima", 2035, "Button", BS_BITMAP|BS_LEFT|BS_VCENTER|WS_TABSTOP, 197, 228, 9, 10
      CONTROL "Calc. Massa/Volume ", 4121, "Button", WS_TABSTOP, 295, 313, 16, 10
      CONTROL "6 - Sel.Trat.Sup.", 5620, "Button", BS_CENTER|BS_VCENTER|WS_TABSTOP, 509, 249, 10, 8
      CONTROL "9 - Data-Calendario", 7302, "Button", BS_BITMAP|BS_LEFT|BS_VCENTER|WS_TABSTOP, 425, 416, 10, 10
      CONTROL "Lim&pa o custo embalagem", 5715, "Button", BS_CENTER|BS_VCENTER|WS_TABSTOP, 661, 324, 87, 12
      CONTROL "", 5716, "Static", SS_GRAYFRAME, 317, 338, 504, 14
      CONTROL "R$ 999.999,999.99", 5719, "Static", SS_RIGHT|WS_GROUP, 750, 343, 65, 8
      CONTROL "R$ 999.999,999.99", 20005, "Static", SS_RIGHT|WS_GROUP, 750, 23, 65, 8
      CONTROL "R$ 999.999,999.99", 20009, "Static", SS_RIGHT|WS_GROUP, 750, 33, 65, 8
      CONTROL "R$ 999.999,999.99", 20028, "Static", SS_RIGHT|WS_GROUP, 750, 43, 65, 8
      CONTROL "R$ 999.999,999.99", 20057, "Static", SS_RIGHT|WS_GROUP, 750, 53, 65, 8
      CONTROL "R$ 999.999,999.99", 20058, "Static", SS_RIGHT|WS_GROUP, 750, 63, 65, 8
      CONTROL "R$ 999.999,999.99", 20059, "Static", SS_RIGHT|WS_GROUP, 750, 73, 65, 8
      CONTROL "R$ 999.999,999.99", 20061, "Static", SS_RIGHT|WS_GROUP, 750, 82, 65, 8
      CONTROL "R$ 999.999,999.99", 20084, "Static", SS_RIGHT|WS_GROUP, 750, 92, 65, 8
      CONTROL "R$ 999.999,999.99", 20085, "Static", SS_RIGHT|WS_GROUP, 750, 102, 65, 8
      CONTROL "R$ 999.999,999.99", 20086, "Static", SS_RIGHT|WS_GROUP, 750, 112, 65, 8
      CONTROL "R$ 999.999,999.99", 20108, "Static", SS_RIGHT|WS_GROUP, 750, 122, 65, 8
      CONTROL "R$ 999.999,999.99", 20109, "Static", SS_RIGHT|WS_GROUP, 750, 132, 65, 8
      CONTROL "R$ 999.999,999.99", 20112, "Static", SS_RIGHT|WS_GROUP, 750, 142, 65, 8
      CONTROL "R$ 999.999,999.99", 20113, "Static", SS_RIGHT|WS_GROUP, 750, 152, 65, 8
      CONTROL "R$ 999.999,999.99", 20114, "Static", SS_RIGHT|WS_GROUP, 750, 162, 65, 8
      CONTROL "R$ 999.999,999.99", 20115, "Static", SS_RIGHT|WS_GROUP, 750, 172, 65, 8
      CONTROL "R$ 999.999,999.99", 20116, "Static", SS_RIGHT|WS_GROUP, 750, 182, 65, 8
      CONTROL "R$ 999.999,999.99", 20117, "Static", SS_RIGHT|WS_GROUP, 750, 192, 65, 8
      CONTROL "R$ 999.999,999.99", 20118, "Static", SS_RIGHT|WS_GROUP, 750, 202, 65, 8
      CONTROL "R$ 999.999,999.99", 20119, "Static", SS_RIGHT|WS_GROUP, 750, 212, 65, 8
      CONTROL "R$ 999.999,999.99", 20120, "Static", SS_RIGHT|WS_GROUP, 750, 222, 65, 8
      CONTROL "R$ 999.999,999.99", 20121, "Static", SS_RIGHT|WS_GROUP, 750, 232, 65, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20140, "Static", WS_GROUP, 709, 23, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20141, "Static", WS_GROUP, 709, 33, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20142, "Static", WS_GROUP, 709, 43, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20143, "Static", WS_GROUP, 709, 53, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20144, "Static", WS_GROUP, 709, 63, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20145, "Static", WS_GROUP, 709, 73, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20146, "Static", WS_GROUP, 709, 82, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20147, "Static", WS_GROUP, 709, 92, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20148, "Static", WS_GROUP, 709, 102, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20149, "Static", WS_GROUP, 709, 112, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20150, "Static", WS_GROUP, 709, 122, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20151, "Static", WS_GROUP, 709, 132, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20152, "Static", WS_GROUP, 709, 142, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20153, "Static", WS_GROUP, 709, 152, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20154, "Static", WS_GROUP, 709, 162, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20155, "Static", WS_GROUP, 709, 172, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20156, "Static", WS_GROUP, 709, 182, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20157, "Static", WS_GROUP, 709, 192, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20158, "Static", WS_GROUP, 709, 202, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20159, "Static", WS_GROUP, 632, 212, 118, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20160, "Static", WS_GROUP, 632, 222, 118, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20161, "Static", WS_GROUP, 632, 232, 118, 8
      CONTROL "R$ 999.999,999.99", 20122, "Static", SS_RIGHT|WS_GROUP, 750, 249, 65, 8
      CONTROL "R$ 999.999,999.99", 20123, "Static", SS_RIGHT|WS_GROUP, 750, 259, 65, 8
      CONTROL "R$ 999.999,999.99", 20124, "Static", SS_RIGHT|WS_GROUP, 750, 269, 65, 8
      CONTROL "R$ 999.999,999.99", 20125, "Static", SS_RIGHT|WS_GROUP, 750, 279, 65, 8
      CONTROL "R$ 999.999,999.99", 20126, "Static", SS_RIGHT|WS_GROUP, 750, 289, 65, 8
      CONTROL "R$ 999.999,999.99", 20127, "Static", SS_RIGHT|WS_GROUP, 750, 299, 65, 8
      CONTROL "R$ 999.999,999.99", 20128, "Static", SS_RIGHT|WS_GROUP, 750, 309, 65, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20162, "Static", WS_GROUP, 709, 249, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20163, "Static", WS_GROUP, 709, 259, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20164, "Static", WS_GROUP, 709, 279, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20165, "Static", WS_GROUP, 709, 289, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20166, "Static", WS_GROUP, 709, 299, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20167, "Static", WS_GROUP, 709, 309, 41, 8
      CONTROL "_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _", 20168, "Static", WS_GROUP, 632, 269, 118, 8
      CONTROL "999.999,999.9999", 20130, "Static", SS_RIGHT|WS_GROUP, 755, 361, 60, 8
      CONTROL "999.999,999.9999", 20131, "Static", SS_RIGHT|WS_GROUP, 755, 371, 60, 8
      CONTROL "999.999,999.9999", 20132, "Static", SS_RIGHT|WS_GROUP, 755, 382, 60, 8
      CONTROL "Custo Indl:", 20133, "Static", SS_RIGHT|WS_GROUP, 711, 361, 40, 8
      CONTROL "Markup:", 20134, "Static", SS_RIGHT|WS_GROUP, 711, 371, 40, 8
      CONTROL "Prç.Venda:", 20135, "Static", SS_RIGHT|WS_GROUP, 711, 382, 40, 8
      CONTROL "999.999,999.9999", 20136, "Static", SS_RIGHT|WS_GROUP, 755, 393, 60, 8
      CONTROL "999.999,999.9999", 20137, "Static", SS_RIGHT|WS_GROUP, 755, 404, 60, 8
      CONTROL "999.999,999.9999", 20138, "Static", SS_RIGHT|WS_GROUP, 755, 415, 60, 8
      CONTROL "999.999,999.9999", 20139, "Static", SS_RIGHT|WS_GROUP, 755, 426, 60, 8
      CONTROL "Prç.Vd.Alt.1", 20129, "Static", SS_RIGHT|WS_GROUP, 711, 393, 40, 8
      CONTROL "Prç.Vd.Alt.2", 20169, "Static", SS_RIGHT|WS_GROUP, 711, 404, 40, 8
      CONTROL "Prç.Vd.Alt.3", 20170, "Static", SS_RIGHT|WS_GROUP, 711, 415, 40, 8
      CONTROL "Prç.Vd.Alt.4", 20171, "Static", SS_RIGHT|WS_GROUP, 711, 426, 40, 8
    }
     

     

     

     

     

     

     

    aqui está um video : 

     

  6. não consegui fazer com as dicas anteriores...

    O que acontece é o seguinte:

    tenho duas sequencias de botões:   b1, b2, b3 e b4    e    ba, bb, bc e bd

    ao clicar com o mouse num dos botões da primeira sequência consigo que o foco vá para um dos botões da segunda sequência ( conforme definido pelo obt:setfocus() )

    porém se, ao invés, de clicar com o mouse pressiono ENTER  (com o foco no botão escolhido) o foco vai para o botão seguinte da primeira sequencia. 

     

  7. vou experimenta

    26 minutos atrás, macs disse:

    Na verdade seria oSaida:bLostFocus, mas desta forma será executado a ação todas as vezes que o botão perder o foco. Eu nunca tive este tipo de problema.

    Eu uso desta forma: ::btnSalvar := TButtonBmp():ReDefine( ID_BTNSALVAR, { || ::btnSalvarClick() },  oDlg,,, .T.,,,, ::lCancelButton, "IMG_BD_SALVAR", "TEXTRIGHT" )

    obrigado vou experimentar e dou retorno.

    bom dia

  8. Como estou utilizando o BTNBMP....

    Achei isto na classe control.prg.... talvez alguma modificação ????

    Se sim : como fazer??

    case nKey == VK_RETURN
               SysRefresh()  // A.L. 23/04/03 it valids the VALID of a control
                             // before firing the ACTION of a default pushbutton
               // if ::hWnd != GetFocus() // A.L. 23/04/03 The VALID was .t.
                  if ( nDefButton := nLoWord( SendMessage( ::oWnd:hWnd,;
                      DM_GETDEFID ) ) ) != 0 .and. ;
                     ( hDef := GetDlgItem( ::oWnd:hWnd, nDefButton ) ) != 0 ;
                     .and. nDefButton != ::nId .and. ;
                     lAnd( GetWindowLong( hDef, GWL_STYLE ), BS_DEFPUSHBUTTON )
                     SendMessage( hDef, WM_KEYDOWN, VK_RETURN )
                     return 0
                  else
                     // TBtnBmp control used as a default button (ID --> 1 IDOK)
                     if ( nAt := AScan( ::oWnd:aControls, { | o | o:nId == 1 } ) ) != 0
                        if Upper( ::oWnd:aControls[ nAt ]:ClassName() ) == "TBTNBMP"
                           Eval( ::oWnd:aControls[ nAt ]:bAction )
                        endif
                        return 0
                     endif
                  endif
               // endif

     

  9. Oi Kapiaba...

    Assim a ação está sendo realizada ao receber o foco...

    Gostaria que após receber o foco eu pressionasse a tecla Enter para realizar a ação.

    Isto tudo apenas para agilizar a digitação, ou seja , em vez de pegar o mouse e clicar no botão, eu possa usar a tecla Enter para isto.  

    Algo como

    com o foco no botão "obt1" ...

    obt1:bkeydown   := { |tecla|   if( tecla==VK_RETURN, ( eval(obt1:baction),  obt2:setfocus() ),)}

    só que desta forma não funciona.

     

  10. Estou com alguma dificuldade para montar um arquivo ".bat" para licar e compilar um app com diversos ".prg"  para HARBOUR

    Para o Xharbour utilizo o XDev ... se alguém  (também) tiver algum esquema de Harbour com Xdev  seria muito interessante.

    Fwh 10.09 e Fwh17.09   Harbour3.2   BCC588  BCC7  BCC740  Xdev.72 Multiedit 2008

     

    Grato!

    P.S. Estou precisando disto para testes porque estou com um erro hb_vmdo() que não consigo achar o motivo. O Linares sugeriu utilzar o Harbour. 

     

  11. 3 minutos atrás, edmandc disse:

    Um programa muito útil para tarefas assim é o Close All Windows que, além de leve, executa a tarefa proposta com muita rapidez. Após fazer o download, descompacte o conteúdo do arquivo em uma pasta de sua preferência. Agora é só clicar sobre o aplicativo “CloseAll” que todos os programas abertos serão encerrados.

    Se você se esquecer de salvar algum documento ou estava com alguma páginaimportante aberta em seu navegador, não se preocupe, o Close All Windows pergunta se deseja salvar as informações antes de encerrar o programa em questão.

    https://www.baixaki.com.br/download/close-all-windows.htm

     outra opção

    https://olhardigital.com.br/2018/11/27/dicas-e-tutoriais/como-fazer-um-programa-fechar-automaticamente-no-windows/

  12. Um programa muito útil para tarefas assim é o Close All Windows que, além de leve, executa a tarefa proposta com muita rapidez. Após fazer o download, descompacte o conteúdo do arquivo em uma pasta de sua preferência. Agora é só clicar sobre o aplicativo “CloseAll” que todos os programas abertos serão encerrados.

    Se você se esquecer de salvar algum documento ou estava com alguma páginaimportante aberta em seu navegador, não se preocupe, o Close All Windows pergunta se deseja salvar as informações antes de encerrar o programa em questão.

    https://www.baixaki.com.br/download/close-all-windows.htm

    • Membros
    •  0
    • 19 posts

    Oi Kapiaba verifiquei sua sugestão mas não é bem isto que procuro.

    no meu caso tenho um objeto Say que serve para explicar a função de cada botão ou get num quadro negro.

    é este texto que gostaria de destacar partes dele com cores diferentes. 

    Segue o codigo e a imagem.

     

    priva os_msg         //  obj say quadro de mensagens
    priva cmensagem := ''  // conteudo da mensagem


    // Quadro das mensagens
    redefine say os_msg prompt cmensagem id 1000 of odlg color rgb(0,255,255),cor_pret font ofntbold

    redefine get oget of odlg

    oget:bgotfocus  := {|| cmensagem := 'Informe o nome do cliente ou tecle F2 ou clique no botão ao lado para obte-lo do cadastro de clientes! ',  oquadromsg:refresh() }

    oget:blostfocus := {|| cmensagem :='', oquadromsg:refresh() }

     

    o que eu gostaria de obter no texto no quadro de mensagens é o trecho "F2" da mensagem em vermelho!

     

    text.png

×
×
  • Create New...