Jump to content
Fivewin Brasil

BenyHapper

Membros
  • Posts

    69
  • Joined

  • Last visited

Everything posted by BenyHapper

  1. No momento estamos com a 9.12, mas logo atualizaremos para a 10.1 Bene E-mail :benyhapper@hotmail.com FWH801 / Xhar9971 / @Say MSN: benyhapper@hotmail.com São Paulo/SP
  2. Vailton, Boa notícia, como fazer para adquiri-la? Temos para uma outra versão do Fivewin Bene E-mail :benyhapper@hotmail.com FWH801 / Xhar9971 / @Say MSN: benyhapper@hotmail.com São Paulo/SP
  3. Alguém sabe se já existem libs para MySQL que suportem as novas versões do Fivewin 9.12, 10.1 com xHarbor 1.2.1 ? Bene E-mail :benyhapper@hotmail.com FWH801 / Xhar9971 / @Say MSN: benyhapper@hotmail.com São Paulo/SP
  4. Alguém sabe se já existem libs para MySQL que suportem as novas versões do Fivewin 9.12, 10.1 com xHarbor 1.2.1 ? Bene E-mail :benyhapper@hotmail.com FWH801 / Xhar9971 / @Say MSN: benyhapper@hotmail.com São Paulo/SP
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. Vailton, Só ficou faltando informar como adquirir a versão free Bene E-mail :benyhapper@hotmail.com FWH705 / Xhar9971 / @Say MSN: benyhapper@hotmail.com São Paulo/SP
  23. 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
  24. 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
  25. 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...