Jump to content
Fivewin Brasil

BenyHapper

Membros
  • Posts

    69
  • Joined

  • Last visited

Posts posted by BenyHapper

  1. Vailton,

    Desculpe não sabia que vc não faz parte do suporte, só tentei falar contigo, pois já tentei outros meios e não conseguir ser atendido, mas me informa qual o caminho devo seguir que eu o farei, pois eu sou quero saber se vai funcionar ou não, assim poderei decidir se vou fazer o investimento para aquisição da atualização ou se vamos deixar de utiliza-la.

    Acho que o tempo de muita gente já foi tomado para resolver uma questão tão simples, poderia ao menos de dado uma desculpa para o compromisso marcado para as 10:00h de hoje.

    kleyber valeu pela solidariedade, nós usamos os comando xBase suportados pela lib, pois acredito que é a vantagem dela, se for para usar comandos nativos do SQL, qual a necessidade da LIB?

    Vc acessa remoto de que modo?

    Bene

    E-mail :benyhapper@hotmail.com

    FWH801 / Xhar9971 / @Say

    MSN: benyhapper@hotmail.com

    São Paulo/SP

  2. Vailton,

    POr favor disponibilize um tempo para que eu possa lhe demonstrar como a SQLLIB vem se comportando no acesso remoto e até demonstro outra aplicação acessando via ADO, para comparação de desempenho.

    Quam sabe vc vendo, possa me informar se a nova versão da SQLLIB resolverá ou melhorará a questão, caso contrário, procuro outra solução e nós não perderemos mais tempo neste assunto.

    No aguardo,

    Bene

    E-mail :benyhapper@hotmail.com

    FWH801 / Xhar9971 / @Say

    MSN: benyhapper@hotmail.com

    São Paulo/SP

  3. Podiamos marcar eu lhe daria acesso a meu equipamento Via TEAM e vc veria como é o desempenho inclusive comparando com a aplicação web, acho que assim vc entenderá a questão.

    Bene

    E-mail :benyhapper@hotmail.com

    FWH801 / Xhar9971 / @Say

    MSN: benyhapper@hotmail.com

    São Paulo/SP

  4. Valeu Vailton,

    Quanto a conexão, nós fazemos a comparação com o próprio ADO da Microsoft, a mesma Base remota acessada via ADO e com a SQLLIB, a diferença de desempenho é gritante.

    E como você lançou uma nova versão gostaríamos de saber se o desempenho está o mesmo da lib que estamos usando, ou foi melhorado

    Bene

    E-mail :benyhapper@hotmail.com

    FWH801 / Xhar9971 / @Say

    MSN: benyhapper@hotmail.com

    São Paulo/SP

  5. Até concordo contigo Kapiaba, mas vc sabe o que se fala não se escreve, a questão aqui é a documentação de qualquer solicitação, mas na segunda resolvo isso, mas O Vailton poderia ajudar, afinal para que serve os mails de suporte.

    Bene

    E-mail :benyhapper@hotmail.com

    FWH801 / Xhar9971 / @Say

    MSN: benyhapper@hotmail.com

    São Paulo/SP

  6. Já madei diversos email nos vailtom@gmail.com, renato@kssoftware.com.br,suporte@sqllib.com.br

    Tentei o MSN e nada, e não é a primeira vez que tenho dificuldade em ser atendido, acho que os emails devem ter algum bloqueio e não devem ser recebidos por eles, o problema é que minha empresa só permite contatos via escrita, para documentação, por isso nem tentei o telefones ainda, mas acho que terei de ligar e ver o que está acontecende.

    Bene

    E-mail :benyhapper@hotmail.com

    FWH801 / Xhar9971 / @Say

    MSN: benyhapper@hotmail.com

    São Paulo/SP

  7. Bom dia Vailton, desculpe incomoda-lo por aqui mas é que já mandamos alguns e-mails e pode ser que os mesmos não estejam chegando até vocês são questões sobre a nova versão da SQLLIB

    Qual o melhor email para envio destas questões? Abaixo email com as questões:

    -----Mensagem original-----

    De: Bene - Exatus.Net [mailto]

    Enviada em: quinta-feira, 26 de novembro de 2009 13:09

    Para: 'suporte@sqllib.com.br'; 'renato@kssoftware.com.br'

    Assunto: Sobre nova versão da SQLLIB

    Boa tarde Vailtom,

    Gostaríamos de saber se na nova versão as sugestões abaixo foram implementadas e se o desempenho para uso da mesma com um servidor remoto foi melhorada, pois na versão anterior o desempenho é muito fraco a ponto de travar.

    Estamos fazendo o questionamento para podermos fazer a atualização de versão, pois uma necessidade que temos é a conexão com um servidor remoto, e hoje a SQLLIB não é uma boa opção.

    Bene

    Exatus.Net

    11 2227-3078

    "Encaminhe suas dúvidas e solicitações para o email atendimento@exatus.net"

    -----Mensagem original-----

    De: Bene - Exatus.Net [mailto] Enviada em: quarta-feira, 8 de julho de 2009 17:36

    Para: vailtom@gmail.com

    Assunto: Sugestão SQLLIB verificar indices através do BD

    Vailton,

    Segue função para verificação dos keys de uma tabela

    Function ExistKey(key,table)

    Dim rsTabs,flag_

    Call AbreConexao1() 'Abre uma conexao com o banco Set rsTabs=Conexao1.Execute("SHOW INDEX FROM "&table) 'Solicita a lista de KEYs da Tabela flag_ = false Do While Not rsTabs.EOF

    If rsTabs("KEY_NAME") = key Then 'Verifica se existe a Key informada na tabela

    flag_ = true

    end if

    rsTabs.MoveNext

    Loop

    Call FechaConexao1()

    Set rsTabs=Nothing

    ExistKey=flag_

    End Function

    A função retornar true para quando existir ou false quando não existir

    Bene

    Exatus.Net

    -----Mensagem original-----

    De: Bene - Exatus.Net [mailto] Enviada em: segunda-feira, 13 de julho de 2009 12:19

    Para: vailtom@gmail.com

    Assunto: Sugestão SQLLIB campo sql_deleted

    Vailton,

    Como a SQLLIB utiliza o campo sql_deleted, para a compatibilizar com a função SET DELETE do Fivewin, foi imaginado que somente o Fivewin utilizaria a base.

    Mas aqui na Exatus nossas aplicações trabalham em conjunto com aplicações web e percebemos o seguinte problema:

    Quando a aplicação web cadastra um registro, o mesmo não é visualizado na aplicação Fivewin. Isso ocorreu por que o campo sql_deleted não estava marcado como false.

    Nossa sugestão é que este campo tenha um valor padrão: False, assim qualquer aplicação pode cadastrar sem ter que passar na instrução SQL o campo.

    Outra situação já comentada anteriormente é a necessidade de não precisar passar o parametro de tamanho de alguns campos, pois os mesmos não são necessários, como por exemplo o campo datetime, text entre outros

    Bene

    Exatus.Net

    Bene

    E-mail :benyhapper@hotmail.com

    FWH801 / Xhar9971 / @Say

    MSN: benyhapper@hotmail.com

    São Paulo/SP

  8. Bom dia Vailton, desculpe incomoda-lo por aqui mas é que já mandamos alguns e-mails e pode ser que os mesmos não estejam chegando até vocês são questões sobre a nova versão da SQLLIB

    Qual o melhor email para envio destas questões? Abaixo email com as questões:

    -----Mensagem original-----

    De: Bene - Exatus.Net [mailto]

    Enviada em: quinta-feira, 26 de novembro de 2009 13:09

    Para: 'suporte@sqllib.com.br'; 'renato@kssoftware.com.br'

    Assunto: Sobre nova versão da SQLLIB

    Boa tarde Vailtom,

    Gostaríamos de saber se na nova versão as sugestões abaixo foram implementadas e se o desempenho para uso da mesma com um servidor remoto foi melhorada, pois na versão anterior o desempenho é muito fraco a ponto de travar.

    Estamos fazendo o questionamento para podermos fazer a atualização de versão, pois uma necessidade que temos é a conexão com um servidor remoto, e hoje a SQLLIB não é uma boa opção.

    Bene

    Exatus.Net

    11 2227-3078

    "Encaminhe suas dúvidas e solicitações para o email atendimento@exatus.net"

    -----Mensagem original-----

    De: Bene - Exatus.Net [mailto] Enviada em: quarta-feira, 8 de julho de 2009 17:36

    Para: vailtom@gmail.com

    Assunto: Sugestão SQLLIB verificar indices através do BD

    Vailton,

    Segue função para verificação dos keys de uma tabela

    Function ExistKey(key,table)

    Dim rsTabs,flag_

    Call AbreConexao1() 'Abre uma conexao com o banco Set rsTabs=Conexao1.Execute("SHOW INDEX FROM "&table) 'Solicita a lista de KEYs da Tabela flag_ = false Do While Not rsTabs.EOF

    If rsTabs("KEY_NAME") = key Then 'Verifica se existe a Key informada na tabela

    flag_ = true

    end if

    rsTabs.MoveNext

    Loop

    Call FechaConexao1()

    Set rsTabs=Nothing

    ExistKey=flag_

    End Function

    A função retornar true para quando existir ou false quando não existir

    Bene

    Exatus.Net

    -----Mensagem original-----

    De: Bene - Exatus.Net [mailto] Enviada em: segunda-feira, 13 de julho de 2009 12:19

    Para: vailtom@gmail.com

    Assunto: Sugestão SQLLIB campo sql_deleted

    Vailton,

    Como a SQLLIB utiliza o campo sql_deleted, para a compatibilizar com a função SET DELETE do Fivewin, foi imaginado que somente o Fivewin utilizaria a base.

    Mas aqui na Exatus nossas aplicações trabalham em conjunto com aplicações web e percebemos o seguinte problema:

    Quando a aplicação web cadastra um registro, o mesmo não é visualizado na aplicação Fivewin. Isso ocorreu por que o campo sql_deleted não estava marcado como false.

    Nossa sugestão é que este campo tenha um valor padrão: False, assim qualquer aplicação pode cadastrar sem ter que passar na instrução SQL o campo.

    Outra situação já comentada anteriormente é a necessidade de não precisar passar o parametro de tamanho de alguns campos, pois os mesmos não são necessários, como por exemplo o campo datetime, text entre outros

    Bene

    Exatus.Net

    Bene

    E-mail :benyhapper@hotmail.com

    FWH801 / Xhar9971 / @Say

    MSN: benyhapper@hotmail.com

    São Paulo/SP

  9. Luizão,

    Muito obrigado pela sua ajuda, funcionou da maneira que você citou.

    Fiquei decepcionado com o suporte da SQLLIB, nenhum contato dos caras, se se interessam em vender o pós você que se vire no forum, depois os desenvolvedores questionam o por que de ninguém dar valor a nossa profissão.

    Até

    Bene

    E-mail :benyhapper@hotmail.com

    FWH801 / Xhar9971 / @Say

    MSN: benyhapper@hotmail.com

    São Paulo/SP

  10. Tentei com a a versão XHB 1.1.0 e deu erro com a RTL.LIB.

    Vejam se estou fazendo algo errado com as configurações para uso

    Inicio do PRG

    #include "sqllib.ch"

    REQUEST SQLLIB

    REQUEST MySQL

    No xDev informei SIM para SQL Lib antes das Libs do Fivewin e SIM para RDD SQL LIB

    Mas dá esso erro Error: Unresolved external '_HB_PCREPOS_LIBRARY' referenced from C:\C32\XHARBOUR\LIB\RTL.LIB|regex

    O pior é que pensei em baixar o xHarbour do site Oficial, mas está na versão 1.20 ai só aumentaria meus problemas, pois a SQL LIB nem tem para essa versão

    Bene

    E-mail :benyhapper@hotmail.com

    FWH801 / Xhar9971 / @Say

    MSN: benyhapper@hotmail.com

    São Paulo/SP

  11. Já mandei diversos emails para o suporte nem se deram ao trabalho de responder.

    Baixei o Xharbour do tópico mas ele é a versão 1.1.0 e no meu pacote não tem a lib sqllib_xHB_110A.LIB. somente da versão A até a g.

    Vou tentando, fazer o que.

    Valeu pela ajuda aqui do forum

    Bene

    E-mail :benyhapper@hotmail.com

    FWH705 / Xhar9971 / @Say

    MSN: benyhapper@hotmail.com

    São Paulo/SP

  12. Estou com um problema com a SQLLib adquirida recentemente

    FIz a inclusão no meu projeto e ao compilar dá o seguinte erro:

    slqlib.prg was compiled by older version PCODE version 7 in no longer supported

    Alguem pode dar uma luz?

    FWH8.01 + XHarbour0.99.71 + BCC5.5.1

    Bene

    E-mail :benyhapper@hotmail.com

    FWH705 / Xhar9971 / @Say

    MSN: benyhapper@hotmail.com

    São Paulo/SP

  13. Estou com um problema com a SQLLib adquirida recentemente

    FIz a inclusão no meu projeto e ao compilar dá o seguinte erro:

    slqlib.prg was compiled by older version PCODE version 7 in no longer supported

    Alguem pode dar uma luz?

    FWH8.01 + XHarbour0.99.71 + BCC5.5.1

    Bene

    E-mail :benyhapper@hotmail.com

    FWH705 / Xhar9971 / @Say

    MSN: benyhapper@hotmail.com

    São Paulo/SP

  14. Eu estou tendo problemas na hora para fazer o update de um registo quando eu não modifico nada, mas se eu modificar algo funciona sem problemas, um outro problema é quando eu recupero o conteúdo de um campo da base de dados, conseqüentemente a variavel é dimencionada para o tamanho do conteúdo e não para o tamanho definido na base de dados, o que atrapalha editar a informação no GET segue abaixo do PRG:

    OBS: Não desejo usar LIBS de Terceiros, pois apesar de muito boas tratam de usar os acessos ao banco conforme o Clipper/Fivewin utilizam e eu por ter conhecimentos em desenvolvimento WEB, prefiro trabalhar diretamente com as instruções em SQL e ADO. O problema que enfrento é simplesmente com a integração destes conhecimentos com a liguagem Xharbour + Fivewin + ADO.

    Agradeço a ajuda.

    PRG

    -------------------------------

    #include "FiveWin.ch"

    #include "TSButton.ch"

    #include "Report.ch"

    #include "InKey.ch"

    #include "winapi.ch"

    #Include "Struct.Ch"

    FUNCTION Main()

    PUBLIC oFontSay

    PUBLIC oFontSayB

    PUBLIC oFontGet

    PUBLIC oFontBut

    PUBLIC oFontTit

    PUBLIC oFontChk

    PUBLIC oFontLis

    PUBLIC oBrushTela

    PUBLIC USER

    PUBLIC ACESSO

    PUBLIC CODIGO

    PUBLIC CONEXAO

    PUBLIC TABELA

    MFONTES()

    SET TALK OFF

    SET DATE FRENCH

    SET BELL OFF

    SET STAT OFF

    SET SCORE OFF

    SET WRAP ON

    SET CURSOR OFF

    SET DELETED ON

    SET EPOCH TO 2000

    SET DECIMAL TO 2

    SET CENTURY ON

    SET EXCLUSIVE OFF

    SETHANDLECOUNT(250)

    CONTINUAR=.F.

    ORDLIST=0

    DEFINE BRUSH oBrush COLOR nRGB(255,255,255)

    DEFINE ICON oIcon FILE "WORKER.ICO"

    DEFINE WINDOW oWnd FROM 0,40 to 40,120 TITLE "Administração de Clientes e Contatos";

    BRUSH oBrush;

    ICON oIcon;

    @ 65,30 SBUTTON PIXELS PROMPT "&Entrar" TEXT ON_CENTER NOBOX FILE "OFF.FIG","ON.FIG" ADJUST FONT oFontbut OF oWnd SIZE 40,12 ACTION (ListMunicipios())

    SET MESSAGE OF oWnd to "EXATUS.NET" CENTERED

    oItem := TMsgItem():New( oWnd:oMsgBar, dtoc(date()), 80,oFontsay,"R/W",,.T. )

    oItem := TMsgItem():New( oWnd:oMsgBar, Alltrim(user), 80,oFontsay,"R/W",,.T. )

    oItem := TMsgItem():New( oWnd:oMsgBar, "Versão: 11/05/2007", 140,oFontsay,"R/W",,.T. )

    WNDCENTER( oWnd:hWnd )

    ACTIVATE WINDOW oWnd

    SysRefresh()

    RETURN NIL

    PROCEDURE MFONTES()

    DEFINE FONT oFontsay NAME "Verdana" SIZE 0,-11

    DEFINE FONT oFontsayB NAME "Verdana" SIZE 0,-10 BOLD

    DEFINE FONT oFontGet NAME "Verdana" SIZE 0,-9

    DEFINE FONT oFontBut NAME "Verdana" SIZE 0,-11

    DEFINE FONT oFontTit NAME "Verdana" SIZE 0,-11

    DEFINE FONT oFontChk NAME "Verdana" SIZE 0,-11

    DEFINE FONT oFontLis NAME "Verdana" SIZE 0,-9

    DEFINE BRUSH oBrushTela COLOR nRGB(236,233,216)

    RETURN

    PROCEDURE AbreConexao()

    Try

    Conexao:=CreateObject("ADODB.Connection")

    Conexao:Open("driver=MySQL ODBC 3.51 Driver;server=localhost;uid=Teste;pwd=teste;database=clientsexatus")

    Catch e

    MsgStop("Operacao: "+E:operation+" - "+"Descrição: "+E:Description+chr(10))

    End

    Try

    Tabela:=CreateObject("ADODB.Recordset")

    Tabela:ActiveConnection = Conexao

    Catch e

    MsgStop("Operacao: "+E:operation+" - "+"Descrição: "+E:Description+chr(10))

    End

    RETURN

    PROCEDURE FechaConexao()

    Try

    IF Tabela:State()<>0

    Tabela:Close()

    ENDIF

    Catch e

    MsgStop("Operacao: "+E:operation+" - "+"Descrição: "+E:Description+chr(10))

    End

    Try

    IF Conexao:State()<>0

    Conexao:Close()

    ENDIF

    Catch e

    MsgStop("Operacao: "+E:operation+" - "+"Descrição: "+E:Description+chr(10))

    End

    RETURN

    FUNCTION Browse(aq, cTitle, cListName, bNew, bModify, bDelete, bSearch, bList, bEdit )

    LOCAL oDlg, oFont, oBrush

    LOCAL btnNew, btnModify, btnDelete, btnSearch, btnList, btnEnd

    LOCAL n,BORDEM

    LOCAL CONTINUA:=.T.

    LOCAL oReg,nReg

    PUBLIC AQS

    PUBLIC oLbx

    AQS=AQ

    MFONTES()

    DEFAULT cTitle := "Browse", cListName := "Registros",;

    bDelete := {|| oLbx:Setfocus()},;

    bList := {|| oLbx:Setfocus()},BEDIT:=.F.

    DEFINE DIALOG oDlg FROM 1, 5 TO 27, 79 TITLE cTitle FONT oFontTit BRUSH oBrushTela STYLE WS_CAPTION

    @ 0.2,1.4 SAY "Total de Registros: " FONT oFontsay COLOR CLR_BLACK,nRGB(248,248,248) SIZE 58,7

    @ 0.2,11 SAY oReg VAR nReg FONT oFontsay COLOR CLR_BLACK,nRGB(248,248,248) SIZE 216,7

    IF AQ=1

    nReg=STR(Tabela:RecordCount(),10)

    oReg:Refresh()

    Tabela:MoveLast()

    FOR I=1 TO 16

    IF !Tabela:BOF()

    Tabela:Move(-1)

    ENDIF

    NEXT I

    @ 1,1 LISTBOX oLbx FIELDS STR(Tabela:Fields("codigo"):Value,10),Tabela:Fields("uf"):Value,Tabela:Fields("municipio"):Value ;

    HEADERS "Código","UF","Municipio" SIZE 275,137 OF oDlg

    oLbx:aColSizes :={60,100,200}

    oLbx:aJustify :={.T.,.F.,.F.}

    ENDIF

    oLbx:nLineStyle :=3

    oLbx:nClrBackFocus:=RGB(227,255,104)

    oLbx:nClrForeFocus:=RGB(0,0,0)

    oLbx:nClrPane :={|| IIF((oLbx:cAlias)->(ordlist())%2==0,nRGB(240,255,255),nRGB(230,230,230))}

    oLbx:bLogicLen :={|| Tabela:RecordCount}

    oLbx:bGoTop :={|| Tabela:MoveFirst()}

    oLbx:bGoBottom :={|| Tabela:MoveLast()}

    oLbx:bSkip :={| nSkip | Skipper(Tabela,nSkip)}

    @ 156,027 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontBut COLOR 0,nRGB(255,255,255) PROMPT "&Inclui" btnNew FILE "INCLUI.FIG" SIZE 35,35 OF oDlg

    @ 156,067 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontbut COLOR 0,nRGB(255,255,255) PROMPT "&Altera" btnModify FILE "ALTERA.FIG" SIZE 35,35 OF oDlg

    @ 156,107 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontbut COLOR 0,nRGB(255,255,255) PROMPT "&Exclui" btnDelete FILE "EXCLUI.FIG" SIZE 35,35 OF oDlg

    @ 156,147 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontbut COLOR 0,nRGB(255,255,255) PROMPT "&Procura" btnSearch FILE "PROC.FIG" SIZE 35,35 OF oDlg

    @ 156,187 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontbut COLOR 0,nRGB(255,255,255) PROMPT "I&mprimir" btnList FILE "IMPRIME.FIG" SIZE 35,35 OF oDlg

    @ 156,227 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontbut COLOR 0,nRGB(255,255,255) PROMPT "&Sair" btnEnd FILE "SAIR1.FIG" SIZE 35,35 OF oDlg

    btnNew:bAction = If(bNew != nil,{|| Eval(bNew) ,oLbx:Refresh(),oLbx:SetFocus()},)

    btnModify:bAction = If(bModify != nil,{|| Eval(bModify),oLbx:Refresh(),oLbx:SetFocus()},)

    btnDelete:bAction = If(bDelete != nil,{|| Eval(bDelete),oLbx:Refresh(),oLbx:SetFocus()},)

    btnSearch:bAction = If(bSearch != nil,{|| Eval(bSearch),oLbx:Refresh(),oLbx:SetFocus()},)

    btnList:bAction = If(bList != nil,{|| Eval(bList) ,oLbx:Refresh(),oLbx:SetFocus()},)

    btnEnd:bAction = {||oDlg:End(),SysRefresh()}

    odlg:lhelpicon:=.f.

    ACTIVATE DIALOG oDlg CENTERED

    Conexao:Execute("Commit")

    FechaConexao()

    RETURN NIL

    STATIC FUNCTION SKIPPER(oRsx,nSkip)

    LOCAL nRec := oRsx:AbsolutePosition

    oRsx:Move(nSkip)

    IF oRsx:EOF; oRsx:MovePrevious(); ENDIF

    IF oRsx:BOF; oRsx:MoveNext(); ENDIF

    RETURN(oRsx:AbsolutePosition() - nRec)

    FUNCTION ORDLIST()

    IF ORDLIST=0

    ORDLIST=1

    RETURN 1

    ELSE

    ORDLIST=0

    RETURN 2

    ENDIF

    RETURN 1

    FUNCTION ListMunicipios()

    MFONTES()

    AbreConexao()

    Tabela:CursorType = 1

    Tabela:CursorLocation = 3

    Tabela:LockType = 2

    MSGRUN("Aguarde - Carregando Dados","Aguarde...",{||Tabela:Open("SELECT codigo,uf,municipio FROM uf USE INDEX(uf) ORDER BY uf")})

    Browse(1,"Lista de Municipios","Lista de Municipios",{||NewMunicipios("I")},{||NewMunicipios("A")},{||EraseMunicipios(Tabela:Fields("codigo"):Value)})

    SysRefresh()

    RETURN

    FUNCTION NewMunicipios(tipo)

    PUBLIC codigo,uf,municipio

    IF tipo="A"

    codigo=Tabela:Fields("codigo"):Value

    uf=ESPANTES(Tabela:Fields("uf"):Value,Tabela:Fields("municipio"):DefinedSize)

    municipio:=ESPANTES(Tabela:Fields("municipio"):Value,Tabela:Fields("municipio"):DefinedSize)

    ENDIF

    IF tipo="I"

    codigo=0

    uf=SPACE(2)

    municipio=SPACE(30)

    ENDIF

    DEFINE DIALOG oDlg FROM 1,1 TO 12,39 TITLE "Cadastro de UF/Municipio" FONT oFontTit BRUSH oBrushTela STYLE WS_CAPTION

    @ 0.35,0.35 SAY " " RAISED BOX COLOR CLR_BLACK,nRGB(248,248,248) SIZE 148,50 OF oDlg

    @ 0.9,2 SAY "Código" FONT oFontsay COLOR CLR_BLACK,nRGB(248,248,248) SIZE 25,10

    @ 1.8,2 SAY "UF" FONT oFontsay COLOR CLR_BLACK,nRGB(248,248,248) SIZE 25,10

    @ 2.7,2 SAY "Municipio" FONT oFontsay COLOR CLR_BLACK,nRGB(248,248,248) SIZE 40,10

    @ 1.0,5 GET codigo FONT oFontGet size 30,11

    @ 2.0,5 GET uf FONT oFontGet size 20,11

    @ 3.0,5 GET municipio FONT oFontGet size 100,11

    @ 65,30 SBUTTON PIXELS PROMPT "&Confirma" TEXT ON_CENTER NOBOX FILE "OFF.FIG","ON.FIG" ADJUST FONT oFontbut OF oDlg SIZE 40,12 ACTION (SaveMunicipios(tipo),oLbx:Refresh(),oDlg:End()) DEFAULT

    @ 65,85 SBUTTON PIXELS PROMPT "C&ancela" TEXT ON_CENTER NOBOX FILE "OFF.FIG","ON.FIG" ADJUST FONT oFontbut OF oDlg SIZE 40,12 ACTION (oDlg:End())

    odlg:lhelpicon:=.f.

    ACTIVATE DIALOG oDlg CENTERED

    RETURN NIL

    FUNCTION SaveMunicipios(tipo)

    IF tipo="A"

    Tabela:Fields("uf"):Value:=ALLTRIM(uf)

    Tabela:Fields("municipio"):Value:=ALLTRIM(municipio)

    Tabela:Update()

    ENDIF

    IF tipo="I"

    Tabela:AddNew()

    Tabela:Fields("uf"):Value:=ALLTRIM(uf)

    Tabela:Fields("municipio"):Value:=ALLTRIM(municipio)

    Tabela:Update()

    ENDIF

    RETURN NIL

    FUNCTION EraseMunicipios(cod)

    IF MSGYESNO( "Deseja Excluir este Registro ?","AVISO DE EXCLUSÃO")

    Tabela:Delete()

    Tabela:UpdateBatch()

    Tabela:MoveNext()

    IF Tabela:EOF; Tabela:MovePrevious(); ENDIF

    ENDIF

    RETURN NIL

    procedure espantes(VARIAVEL,TAMANHO)

    RETURN ALLTRIM(VARIAVEL)+SPACE(TAMANHO-LEN(ALLTRIM(VARIAVEL)))

    Bene

    E-mail :benyhapper@hotmail.com

    FWH705 / Xhar9971 / @Say

    MSN: benyhapper@hotmail.com

    São Paulo/SP

  15. Eu estou tendo problemas na hora para fazer o update de um registo quando eu não modifico nada, mas se eu modificar algo funciona sem problemas, um outro problema é quando eu recupero o conteúdo de um campo da base de dados, conseqüentemente a variavel é dimencionada para o tamanho do conteúdo e não para o tamanho definido na base de dados, o que atrapalha editar a informação no GET segue abaixo do PRG:

    OBS: Não desejo usar LIBS de Terceiros, pois apesar de muito boas tratam de usar os acessos ao banco conforme o Clipper/Fivewin utilizam e eu por ter conhecimentos em desenvolvimento WEB, prefiro trabalhar diretamente com as instruções em SQL e ADO. O problema que enfrento é simplesmente com a integração destes conhecimentos com a liguagem Xharbour + Fivewin + ADO.

    Agradeço a ajuda.

    PRG

    -------------------------------

    #include "FiveWin.ch"

    #include "TSButton.ch"

    #include "Report.ch"

    #include "InKey.ch"

    #include "winapi.ch"

    #Include "Struct.Ch"

    FUNCTION Main()

    PUBLIC oFontSay

    PUBLIC oFontSayB

    PUBLIC oFontGet

    PUBLIC oFontBut

    PUBLIC oFontTit

    PUBLIC oFontChk

    PUBLIC oFontLis

    PUBLIC oBrushTela

    PUBLIC USER

    PUBLIC ACESSO

    PUBLIC CODIGO

    PUBLIC CONEXAO

    PUBLIC TABELA

    MFONTES()

    SET TALK OFF

    SET DATE FRENCH

    SET BELL OFF

    SET STAT OFF

    SET SCORE OFF

    SET WRAP ON

    SET CURSOR OFF

    SET DELETED ON

    SET EPOCH TO 2000

    SET DECIMAL TO 2

    SET CENTURY ON

    SET EXCLUSIVE OFF

    SETHANDLECOUNT(250)

    CONTINUAR=.F.

    ORDLIST=0

    DEFINE BRUSH oBrush COLOR nRGB(255,255,255)

    DEFINE ICON oIcon FILE "WORKER.ICO"

    DEFINE WINDOW oWnd FROM 0,40 to 40,120 TITLE "Administração de Clientes e Contatos";

    BRUSH oBrush;

    ICON oIcon;

    @ 65,30 SBUTTON PIXELS PROMPT "&Entrar" TEXT ON_CENTER NOBOX FILE "OFF.FIG","ON.FIG" ADJUST FONT oFontbut OF oWnd SIZE 40,12 ACTION (ListMunicipios())

    SET MESSAGE OF oWnd to "EXATUS.NET" CENTERED

    oItem := TMsgItem():New( oWnd:oMsgBar, dtoc(date()), 80,oFontsay,"R/W",,.T. )

    oItem := TMsgItem():New( oWnd:oMsgBar, Alltrim(user), 80,oFontsay,"R/W",,.T. )

    oItem := TMsgItem():New( oWnd:oMsgBar, "Versão: 11/05/2007", 140,oFontsay,"R/W",,.T. )

    WNDCENTER( oWnd:hWnd )

    ACTIVATE WINDOW oWnd

    SysRefresh()

    RETURN NIL

    PROCEDURE MFONTES()

    DEFINE FONT oFontsay NAME "Verdana" SIZE 0,-11

    DEFINE FONT oFontsayB NAME "Verdana" SIZE 0,-10 BOLD

    DEFINE FONT oFontGet NAME "Verdana" SIZE 0,-9

    DEFINE FONT oFontBut NAME "Verdana" SIZE 0,-11

    DEFINE FONT oFontTit NAME "Verdana" SIZE 0,-11

    DEFINE FONT oFontChk NAME "Verdana" SIZE 0,-11

    DEFINE FONT oFontLis NAME "Verdana" SIZE 0,-9

    DEFINE BRUSH oBrushTela COLOR nRGB(236,233,216)

    RETURN

    PROCEDURE AbreConexao()

    Try

    Conexao:=CreateObject("ADODB.Connection")

    Conexao:Open("driver=MySQL ODBC 3.51 Driver;server=localhost;uid=Teste;pwd=teste;database=clientsexatus")

    Catch e

    MsgStop("Operacao: "+E:operation+" - "+"Descrição: "+E:Description+chr(10))

    End

    Try

    Tabela:=CreateObject("ADODB.Recordset")

    Tabela:ActiveConnection = Conexao

    Catch e

    MsgStop("Operacao: "+E:operation+" - "+"Descrição: "+E:Description+chr(10))

    End

    RETURN

    PROCEDURE FechaConexao()

    Try

    IF Tabela:State()<>0

    Tabela:Close()

    ENDIF

    Catch e

    MsgStop("Operacao: "+E:operation+" - "+"Descrição: "+E:Description+chr(10))

    End

    Try

    IF Conexao:State()<>0

    Conexao:Close()

    ENDIF

    Catch e

    MsgStop("Operacao: "+E:operation+" - "+"Descrição: "+E:Description+chr(10))

    End

    RETURN

    FUNCTION Browse(aq, cTitle, cListName, bNew, bModify, bDelete, bSearch, bList, bEdit )

    LOCAL oDlg, oFont, oBrush

    LOCAL btnNew, btnModify, btnDelete, btnSearch, btnList, btnEnd

    LOCAL n,BORDEM

    LOCAL CONTINUA:=.T.

    LOCAL oReg,nReg

    PUBLIC AQS

    PUBLIC oLbx

    AQS=AQ

    MFONTES()

    DEFAULT cTitle := "Browse", cListName := "Registros",;

    bDelete := {|| oLbx:Setfocus()},;

    bList := {|| oLbx:Setfocus()},BEDIT:=.F.

    DEFINE DIALOG oDlg FROM 1, 5 TO 27, 79 TITLE cTitle FONT oFontTit BRUSH oBrushTela STYLE WS_CAPTION

    @ 0.2,1.4 SAY "Total de Registros: " FONT oFontsay COLOR CLR_BLACK,nRGB(248,248,248) SIZE 58,7

    @ 0.2,11 SAY oReg VAR nReg FONT oFontsay COLOR CLR_BLACK,nRGB(248,248,248) SIZE 216,7

    IF AQ=1

    nReg=STR(Tabela:RecordCount(),10)

    oReg:Refresh()

    Tabela:MoveLast()

    FOR I=1 TO 16

    IF !Tabela:BOF()

    Tabela:Move(-1)

    ENDIF

    NEXT I

    @ 1,1 LISTBOX oLbx FIELDS STR(Tabela:Fields("codigo"):Value,10),Tabela:Fields("uf"):Value,Tabela:Fields("municipio"):Value ;

    HEADERS "Código","UF","Municipio" SIZE 275,137 OF oDlg

    oLbx:aColSizes :={60,100,200}

    oLbx:aJustify :={.T.,.F.,.F.}

    ENDIF

    oLbx:nLineStyle :=3

    oLbx:nClrBackFocus:=RGB(227,255,104)

    oLbx:nClrForeFocus:=RGB(0,0,0)

    oLbx:nClrPane :={|| IIF((oLbx:cAlias)->(ordlist())%2==0,nRGB(240,255,255),nRGB(230,230,230))}

    oLbx:bLogicLen :={|| Tabela:RecordCount}

    oLbx:bGoTop :={|| Tabela:MoveFirst()}

    oLbx:bGoBottom :={|| Tabela:MoveLast()}

    oLbx:bSkip :={| nSkip | Skipper(Tabela,nSkip)}

    @ 156,027 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontBut COLOR 0,nRGB(255,255,255) PROMPT "&Inclui" btnNew FILE "INCLUI.FIG" SIZE 35,35 OF oDlg

    @ 156,067 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontbut COLOR 0,nRGB(255,255,255) PROMPT "&Altera" btnModify FILE "ALTERA.FIG" SIZE 35,35 OF oDlg

    @ 156,107 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontbut COLOR 0,nRGB(255,255,255) PROMPT "&Exclui" btnDelete FILE "EXCLUI.FIG" SIZE 35,35 OF oDlg

    @ 156,147 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontbut COLOR 0,nRGB(255,255,255) PROMPT "&Procura" btnSearch FILE "PROC.FIG" SIZE 35,35 OF oDlg

    @ 156,187 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontbut COLOR 0,nRGB(255,255,255) PROMPT "I&mprimir" btnList FILE "IMPRIME.FIG" SIZE 35,35 OF oDlg

    @ 156,227 SBUTTON PIXELS TEXT ON_BOTTOM FONT oFontbut COLOR 0,nRGB(255,255,255) PROMPT "&Sair" btnEnd FILE "SAIR1.FIG" SIZE 35,35 OF oDlg

    btnNew:bAction = If(bNew != nil,{|| Eval(bNew) ,oLbx:Refresh(),oLbx:SetFocus()},)

    btnModify:bAction = If(bModify != nil,{|| Eval(bModify),oLbx:Refresh(),oLbx:SetFocus()},)

    btnDelete:bAction = If(bDelete != nil,{|| Eval(bDelete),oLbx:Refresh(),oLbx:SetFocus()},)

    btnSearch:bAction = If(bSearch != nil,{|| Eval(bSearch),oLbx:Refresh(),oLbx:SetFocus()},)

    btnList:bAction = If(bList != nil,{|| Eval(bList) ,oLbx:Refresh(),oLbx:SetFocus()},)

    btnEnd:bAction = {||oDlg:End(),SysRefresh()}

    odlg:lhelpicon:=.f.

    ACTIVATE DIALOG oDlg CENTERED

    Conexao:Execute("Commit")

    FechaConexao()

    RETURN NIL

    STATIC FUNCTION SKIPPER(oRsx,nSkip)

    LOCAL nRec := oRsx:AbsolutePosition

    oRsx:Move(nSkip)

    IF oRsx:EOF; oRsx:MovePrevious(); ENDIF

    IF oRsx:BOF; oRsx:MoveNext(); ENDIF

    RETURN(oRsx:AbsolutePosition() - nRec)

    FUNCTION ORDLIST()

    IF ORDLIST=0

    ORDLIST=1

    RETURN 1

    ELSE

    ORDLIST=0

    RETURN 2

    ENDIF

    RETURN 1

    FUNCTION ListMunicipios()

    MFONTES()

    AbreConexao()

    Tabela:CursorType = 1

    Tabela:CursorLocation = 3

    Tabela:LockType = 2

    MSGRUN("Aguarde - Carregando Dados","Aguarde...",{||Tabela:Open("SELECT codigo,uf,municipio FROM uf USE INDEX(uf) ORDER BY uf")})

    Browse(1,"Lista de Municipios","Lista de Municipios",{||NewMunicipios("I")},{||NewMunicipios("A")},{||EraseMunicipios(Tabela:Fields("codigo"):Value)})

    SysRefresh()

    RETURN

    FUNCTION NewMunicipios(tipo)

    PUBLIC codigo,uf,municipio

    IF tipo="A"

    codigo=Tabela:Fields("codigo"):Value

    uf=ESPANTES(Tabela:Fields("uf"):Value,Tabela:Fields("municipio"):DefinedSize)

    municipio:=ESPANTES(Tabela:Fields("municipio"):Value,Tabela:Fields("municipio"):DefinedSize)

    ENDIF

    IF tipo="I"

    codigo=0

    uf=SPACE(2)

    municipio=SPACE(30)

    ENDIF

    DEFINE DIALOG oDlg FROM 1,1 TO 12,39 TITLE "Cadastro de UF/Municipio" FONT oFontTit BRUSH oBrushTela STYLE WS_CAPTION

    @ 0.35,0.35 SAY " " RAISED BOX COLOR CLR_BLACK,nRGB(248,248,248) SIZE 148,50 OF oDlg

    @ 0.9,2 SAY "Código" FONT oFontsay COLOR CLR_BLACK,nRGB(248,248,248) SIZE 25,10

    @ 1.8,2 SAY "UF" FONT oFontsay COLOR CLR_BLACK,nRGB(248,248,248) SIZE 25,10

    @ 2.7,2 SAY "Municipio" FONT oFontsay COLOR CLR_BLACK,nRGB(248,248,248) SIZE 40,10

    @ 1.0,5 GET codigo FONT oFontGet size 30,11

    @ 2.0,5 GET uf FONT oFontGet size 20,11

    @ 3.0,5 GET municipio FONT oFontGet size 100,11

    @ 65,30 SBUTTON PIXELS PROMPT "&Confirma" TEXT ON_CENTER NOBOX FILE "OFF.FIG","ON.FIG" ADJUST FONT oFontbut OF oDlg SIZE 40,12 ACTION (SaveMunicipios(tipo),oLbx:Refresh(),oDlg:End()) DEFAULT

    @ 65,85 SBUTTON PIXELS PROMPT "C&ancela" TEXT ON_CENTER NOBOX FILE "OFF.FIG","ON.FIG" ADJUST FONT oFontbut OF oDlg SIZE 40,12 ACTION (oDlg:End())

    odlg:lhelpicon:=.f.

    ACTIVATE DIALOG oDlg CENTERED

    RETURN NIL

    FUNCTION SaveMunicipios(tipo)

    IF tipo="A"

    Tabela:Fields("uf"):Value:=ALLTRIM(uf)

    Tabela:Fields("municipio"):Value:=ALLTRIM(municipio)

    Tabela:Update()

    ENDIF

    IF tipo="I"

    Tabela:AddNew()

    Tabela:Fields("uf"):Value:=ALLTRIM(uf)

    Tabela:Fields("municipio"):Value:=ALLTRIM(municipio)

    Tabela:Update()

    ENDIF

    RETURN NIL

    FUNCTION EraseMunicipios(cod)

    IF MSGYESNO( "Deseja Excluir este Registro ?","AVISO DE EXCLUSÃO")

    Tabela:Delete()

    Tabela:UpdateBatch()

    Tabela:MoveNext()

    IF Tabela:EOF; Tabela:MovePrevious(); ENDIF

    ENDIF

    RETURN NIL

    procedure espantes(VARIAVEL,TAMANHO)

    RETURN ALLTRIM(VARIAVEL)+SPACE(TAMANHO-LEN(ALLTRIM(VARIAVEL)))

    Bene

    E-mail :benyhapper@hotmail.com

    FWH705 / Xhar9971 / @Say

    MSN: benyhapper@hotmail.com

    São Paulo/SP

  16. Não será mais necessário a SQLLIB, encontrei alguns exemplos utilizando OLE que serviram para o que eu desejava fazer.

    Bene

    E-mail :benyhapper@hotmail.com

    FWH705 / Xhar9971 / @Say

    MSN: benyhapper@hotmail.com

    São Paulo/SP

  17. Não será mais necessário a SQLLIB, encontrei alguns exemplos utilizando OLE que serviram para o que eu desejava fazer.

    Bene

    E-mail :benyhapper@hotmail.com

    FWH705 / Xhar9971 / @Say

    MSN: benyhapper@hotmail.com

    São Paulo/SP

  18. Eu pensei que a versão Free não tivesse apenas não tivesse as instruções amigavéis como APPEND, REPLACE, ZAP, PACK, DELETE do clipper/fivewin.

    Mas que eu pudesse usar usar os comandos nativos da linguagem SQL como INSERT, UPDATE, DELETE, SELECT, ORDER BY

    Bene

    E-mail :benyhapper@hotmail.com

    FWH705 / Xhar9971 / @Say

    MSN: benyhapper@hotmail.com

    São Paulo/SP

  19. Realmente existe a versão Free?

    Já tentei o site oficial e até o e-mail contato@sqllib.com, e nada sem nenhuma resposta.

    Alguém tem uma idéia de como obter a versão free?

    Bene

    E-mail :benyhapper@hotmail.com

    FWH705 / Xhar9971 / @Say

    MSN: benyhapper@hotmail.com

    São Paulo/SP

  20. Gostaria de saber onde conseguir a SQLLIB free além do site oficial, pois já me cadastrei lá e não recebo o mail para download, preciso também de alguns exemplos utilizando a free.

    Bene

    E-mail :benyhapper@hotmail.com

    FWH705 / Xhar9971 / @Say

    MSN: benyhapper@hotmail.com

    São Paulo/SP

×
×
  • Create New...