Jump to content
Fivewin Brasil

flgc

Membros
  • Posts

    11
  • Joined

  • Last visited

Posts posted by flgc

  1.  

    Ola,

    caso vc tenha um host, crie um arquivo e no conteudo deste coloque algo que identifique o seu cliente(algo unico para cada cliente)....dai vc escreve essa identificacao unica em um arquivo. ex: teste.html ou teste.txt e joga no seu host

    dai vc poe o codigo abaixo em algum lugar no inicio de seu prog.principal...  veja o codigo:

    
           TRY
            oOle := CreateObject( "Microsoft.XMLHTTP" )
            oOle:Open( "GET", "http://www.SeuSite.net/licenca/b"+strtran(dtos(Date()), "/","")+".html", .f. )  // bloquear as chaves que encontrase no arquivo  ex: b20170807.html
            oOle:Send()
            cBuf := oOle:ResponseBody   // cBuf pega o conteudo do arquivo que esta no host(internet) (aquele arq. que vc vai pôr as chave(s) para bloqueio)  
           CATCH
            Return nil
           END
           nFound := at(Cha_Empr, cBuf)  // aqui verifica se a chave esta no conteudo cBuf (cBuf = conteudo do arquivo que esta na intenet HOST)
           If nFound > 0  // aqui verifica se variavel nFound eh maior que zero, caso seja mostra a msg de acesso negado e abandona o programa. 
              MsgAlert("ACESSO NEGADO, por favor consultar suporte.", "Atenção!")
              quit  
           Endif
           oOle := nil   // mata o objeto
    

    pq usar uma data sendo o nome do arquivo? Resp: veja o inicio do topic

    []s

     

    Boa tarde!
    Muito obrigado, acabei de conseguir!

  2.  

    Ola Valdir,

    eu usava da mesma maneira que o senhor....

    tive problemas com a porta 21 bloqueada ou caso o servidor ftp tiver o maximo de usuarios ou problema no host ftp... dai travava na consulta ftp o sistema.

    alem dos problemas e como tive meus fontes furtados... tive que alterar a maneira de fazer isto...

    seria mais ou menos assim

    TRY
    oOle := CreateObject( "Microsoft.XMLHTTP" )
    oOle:Open( "GET", "http://www.sistem.net.br/licenca/b"+strtran(dtos(Date()),"/","")+".html", .f. ) // ex: bloquear b20150210.html /// aqui nao fica dependedo dos cookies do navegador
    oOle:Send()
    cBuf := oOle:ResponseBody
    CATCH
    Return nil
    END
    nFound0 := at(Alltrim(Empr->Cha_Empr)+".lcn", cBuf)
    ...
    ,,
    ,
     
    dentro do arquivo HTML teria a(s) chave(s) que vc gostaria de bloquear (como fosse arquivo texto) // no caso seu sistema teria um campo para pôr esse chave
     
    se interessar me chame no email suporte@sistem.net,br que passo o procedimento completo para o amigo
    ftp nao ser bom para esse proposito
     
    []s

    Boa tarde!
    Sou novato em programação e fivewin, estou tentando implementar algo do tipo controle do acesso somente após o pagamento mais estou perdido por não conseguir exemplos para testar em minha aplicação. Sou programador fundo de quintal porem recentemente tenho uns 3 clientes que persistem em só me pagar quando querem. 
    Tem como me ajudar com um exemplo para que eu estude e implemente na minha aplicação?
    Desde já,
    Obrigado!

  3. Boa tarde!
    Sou novato em programação e fivewin, estou tentando implementar algo do tipo controle do acesso somente após o pagamento mais estou perdido por não conseguir exemplos para testar em minha aplicação. Sou programador fundo de quintal porem recentemente tenho uns 3 clientes que persistem em só me pagar quando querem. 
    Tem como me ajudar com um exemplo para que eu estude e implemente na minha aplicação?
    Desde já,
    Obrigado!

  4. Caros colaboradores, sou antigo aqui no forum mais por motivo de força maior estive impossibilitado de programa.

    Venho por meio desta perguntar se algum dos colaboradores pode converter o meu sistema que é bem pequeno.

    Estou com muitas dificuldade em relembrar e topo custiar essa migração.

    Como eu disse é pequeno (cadastro, recebimento e pagamento)

    Possue muito pouco banco de dado.

    Aguardo contato.

    fabio_tecnico_1@msn.com

  5. Caros colaboradores, sou antigo aqui no forum mais por motivo de força maior estive impossibilitado de programa.

    Venho por meio desta perguntar se algum dos colaboradores pode converter o meu sistema que é bem pequeno.

    Estou com muitas dificuldade em relembrar e topo custiar essa migração.

    Como eu disse é pequeno (cadastro, recebimento e pagamento)

    Possue muito pouco banco de dado.

    Aguardo contato.

    fabio_tecnico_1@msn.com

  6. Caros amigos, meu nome é Fabio Luis, adquiri o FiveWin a alguns meses e estou construindo um sisteminha demo para pegar mais experiencia, claro que ando catando ideias e funções de voces mais por motivo de falta de pratica e entendimento nas classes e rotinas em FW ainda não estou pastando.

    Será que algum de voces não teria um exemplo já pronto pequeno funcional com PRG, EXE e BAT(para Compilacao) utilizando 2 bancos de dados, nada complexo utilizando classe e biblioteca padão do FW24, tipo um cadastro de produto com 2 campos exemplo:

    Produto: ---> Este eu digito manualmente

    Grupo: --> Este eu abro o banco de dados dos GRUPO e escolho o registro a gravar no banco de dados produto.

    Se for possivel enviar em PORTUGUES eu serei muito grato.

  7. icon_smile_sad.gif Caros Srs. estou com uma terrivel duvida. Sou extremamente novato no FiveWin Adiquiri o mesmo apouco mais de 2 meses e apesar de conhecer bem o clipper (10 Anos +-)estou engatinhando no mesmo graças ao FiveWin.

    Bem a pergunta é o seguinte criei um cadastro de produto on desejo utilizar 2 banco de dados 1-produto e 2-grupo.

    Jatentei de todas as formas que eu pude imaginar mais não consigo utilizar um combobox para abrir o meu banco de dados do grupo. Será que podem me dar um help.

    Segue a rotina da ultima tentativa.

    function Produto()

    Local oDlg, oFont, oDbf, pDbf, oHand, lSai

    Local lOk := .F.

    Local lNew := .F.

    local aGrupo := space(40)

    Local aButtons

    Local oBtnInc,oBtnAlt,oBtnSav,oBtnExc,oBtnPes,oBtnIni,;

    oBtnPro,oBtnAnt,oBtnFin,oBtnGlb,oBtnPag,oBtnGer,;

    oBtnPer,oBtnDes,oBtnSai

    select 1

    IF .NOT. Use_Arq("Produto",.T.,.F.,.T.)

    Return nil

    ENDIF

    select 2

    IF .NOT. Use_Arq("grupo",.T.,.F.,.T.)

    Return nil

    ENDIF

    select 2

    DATABASE pDbf

    pDbf:bEoF := {|| NIL}

    pDbf:bBoF := {|| NIL}

    dbsetorder(2)

    pDbf:Load()

    aGrupo=pDbf

    select 1

    DATABASE oDbf

    oDbf:bEoF := {|| NIL}

    oDbf:bBoF := {|| NIL}

    dbsetorder(1)

    oDbf:Load()

    DEFINE FONT oFont NAME "Arial" WEIGHT 8 BOLD

    DEFINE CURSOR oHand RESOURCE "C_HAND"

    DEFINE DIALOG oDlg RESOURCE 'Produtos' TITLE OemToAnsi('Manuten‡Æo do Produto')

    REDEFINE GET oDbf:Produto ID 101 OF oDlg UPDATE PICTURE '@K999999' VALID ( If(lNew,OkCodigo_p(oDbf,oDlg,@lOK,@lNew,lSai,aButtons),.T.) )

    REDEFINE GET oDbf:descricao ID 102 OF oDlg UPDATE PICTURE '@K!'

    REDEFINE COMBOBOX oDbf:grupo ITEMS aGrupo ID 103 OF oDlg UPDATE

    REDEFINE GET oDbf:unidade ID 104 OF oDlg UPDATE PICTURE '99999999'

    REDEFINE GET oDbf:maximo ID 105 OF oDlg UPDATE PICTURE '99999999'

    REDEFINE GET oDbf:medio ID 106 OF oDlg UPDATE PICTURE '99999999'

    REDEFINE GET oDbf:baixo ID 107 OF oDlg UPDATE PICTURE '99999999'

    REDEFINE GET oDbf:pco_custo ID 108 OF oDlg UPDATE PICTURE '999,999.999'

    REDEFINE GET oDbf:pco_venda ID 109 OF oDlg UPDATE PICTURE '999,999.999'

    REDEFINE GET oDbf:pco_ven_a1 ID 110 OF oDlg UPDATE PICTURE '999,999.999'

    REDEFINE GET oDbf:pco_vend2 ID 111 OF oDlg UPDATE PICTURE '999,999.999'

    REDEFINE GET oDbf:pco_vend_3 ID 112 OF oDlg UPDATE PICTURE '999,999.999'

    REDEFINE BUTTON ;

    ID 90 ;

    OF oDlg ;

    ACTION (BuscaProduto(oDbf,oDlg,@lOk,@lNew),oDlg:aControls[2]:SetFocus())

    oDlg:aControls[12]:cToolTip := 'Pesquisar Produto'

    REDEFINE BUTTON oBtnInc ID 1401 OF oDlg ACTION (NovoReg_p(@lNew,oDbf,aButtons,oDlg))

    REDEFINE BUTTON oBtnAlt ID 1402 OF oDlg ACTION (AltReg_p(lNew, oDbf, aButtons, oDlg) )

    REDEFINE BUTTON oBtnSav ID 1403 OF oDlg ACTION (SalvaReg_p(oDlg,oDbf,.T.,lNew,aButtons))

    REDEFINE BUTTON oBtnExc ID 1404 OF oDlg ACTION (DeleteReg(lNew,oDbf,oDlg) )

    REDEFINE BUTTON oBtnPes ID 1406 OF oDlg ACTION pesquisa('Produto',2,"DESCRICAO",oDlg,oDbf)

    REDEFINE BUTTON oBtnIni ID 1407 OF oDlg ACTION (IniReg(@lNew,oDbf,aButtons,oDlg))

    REDEFINE BUTTON oBtnPro ID 1408 OF oDlg ACTION (oDbf:Skip(1),If(oDbf:Eof(),(MsgErro('Fim de Arquivo'),oDbf:GoBottom()), oDlg:Update()))

    REDEFINE BUTTON oBtnAnt ID 1409 OF oDlg ACTION (oDbf:Skip(-1),If(oDbf:Bof(),(MsgErro('Início do Arquivo'),oDbf:GoTop()), oDlg:Update()))

    REDEFINE BUTTON oBtnFin ID 1410 OF oDlg ACTION (oDbf:GoBottom(), oDlg:Update())

    REDEFINE BUTTON oBtnSai ID 1411 OF oDlg ACTION (lSai := .T.,oDlg:End())

    REDEFINE BUTTON oBtnGlb ID 1412 OF oDlg ACTION in_work()

    REDEFINE BUTTON oBtnPag ID 1413 OF oDlg ACTION in_work()

    REDEFINE BUTTON oBtnGer ID 1414 OF oDlg ACTION in_work()

    REDEFINE BUTTON oBtnPer ID 1415 OF oDlg ACTION in_work()

    REDEFINE BUTTON oBtnDes ID 1416 OF oDlg ACTION in_work()

    aButtons := {oBtnInc,oBtnAlt,oBtnSav,oBtnExc,oBtnPes,oBtnIni,oBtnPro,;

    oBtnAnt,oBtnFin,oBtnGlb,oBtnPag,oBtnGer,oBtnPer,oBtnDes,oBtnSai}

    ACTIVATE DIALOG oDlg CENTERED ON ;

    INIT (If(oDbf:Bof(),(lNew:=.T.,oDlg:aControls[12]:Disable(),NovoReg_p(@lNew,oDbf,aButtons,oDlg)) , SetaButtons('11011111111',aButtons)) )

    DbCloseAll()

    return NIL

    Quem puder me ajudar eu estarei eternamente grato

  8. A seguinte mensagem aparece toda vez que tento linkar o meu programa com a biblioteca DBFCDX.LIB.

    BLINKER : 1115 : DBFCDX.LIB(ZCMP) : '__DCMP' unresolved external

    Sou experiente em clipper mais nunca utilizei tal biblioteca. Meu clipper é 5.2e, Blinker 5.0 e como adquiri agora o FW24 e o livro do Vilian preciso muito saber como resolver esse problema já que não consigo criar indices CDX.icon_smile_sad.gificon_smile_sad.gif

×
×
  • Create New...