Manoel Marinho Posted March 24, 2020 Report Share Posted March 24, 2020 Alguém por gentileza poderia compilar e testar o programa abaixo? Nos meus testes aqui, no segundo BROWSE os dados não aparecem. #include "FiveWin.ch" #include "Ads.ch" function Main() set date british set century on set epoch to 1960 set deleted on set exclusive off SetHandleCount( 155 ) SET 3DLOOK on set autopen off SET OPTIMIZE on REQUEST DBFCDX REQUEST DBFFPT REQUEST DESCEND REQUEST ADS, ADSKeyno, ADSKeycount, AdsGetRelKeyPos, AdsSetRelKeyPos EXTERN ADSKeyno, ADSKeycount, AdsGetRelKeyPos, AdsSetRelKeyPos rddRegister( "ADS", 1 ) SET FILETYPE to CDX ADSLocking( .T. ) set( _SET_MBLOCKSIZE, 33 ) set( _SET_OPTIMIZE, .t. ) SET SERVER local rddsetdefault( "DBFCDX" ) if !file( "TESTE1.DBF" ) dbcreate( "TESTE1.DBF", { { "CODIGO", "C", 3, 0 }, { "DESCRICAO", "C", 30, 0 } }, "DBFCDX" ) use TESTE1 exclusive NEW for N := 1 to 999 TESTE1->( dbappend() ) TESTE1->CODIGO := strzero( N, 3, 0 ) TESTE1->DESCRICAO := replicate( TESTE1->CODIGO, 10 ) next N else use TESTE1 exclusive NEW endif TESTE1->( dbgotop() ) TESTE1->( browse() ) TESTE1->( dbclosearea() ) rddsetdefault( "ADS" ) if !file( "TESTE2.DBF" ) dbcreate( "TESTE2.DBF", { { "CODIGO", "C", 3, 0 }, { "DESCRICAO", "C", 30, 0 } }, "ADSCDX" ) use TESTE2 exclusive NEW for N := 1 to 999 TESTE2->( dbappend() ) TESTE2->CODIGO := strzero( N, 3, 0 ) TESTE2->DESCRICAO := replicate( TESTE2->CODIGO, 10 ) next N else use TESTE2 exclusive NEW endif TESTE2->( dbgotop() ) TESTE2->( browse() ) TESTE2->( dbclosearea() ) return NIL Quote Link to comment Share on other sites More sharing options...
Manoel Marinho Posted February 5, 2021 Author Report Share Posted February 5, 2021 Alguém ??? Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 5, 2021 Report Share Posted February 5, 2021 ADSMAN.prg(5) Error F0029 Can't open #include file: 'Ads.ch' Crie um ZIP completo com o que se usa para compilar essa "coisa" de ADS. Teste agora: // \SAMPLES\ADSMAN.PRG // http://fivewin.com.br/index.php?/topic/28374-adscdx/ #include "FiveWin.ch" #include "Ads.ch" ANNOUNCE RDDSYS REQUEST OrdKeyNo, OrdKeyCount, OrdCreate, OrdKeyGoto // Para ListBox REQUEST ADS, ADSKeyno, ADSKeycount, AdsGetRelKeyPos, AdsSetRelKeyPos REQUEST ADSKeyno, ADSKeycount, AdsGetRelKeyPos, AdsSetRelKeyPos REQUEST DBFCDX, DBFFPT, DESCEND function Main() RDDSETDEFAULT("DBFCDX") SET CENTURY ON SET DATE BRITISH SET TIME FORMAT TO "HH:MM:SS" SET EPOCH TO YEAR( DATE() ) - 30 SET SOFTSEEK OFF SET WRAP ON SETCANCEL( .F. ) SET CONFIRM OFF SET DELETED ON SET _3DLOOK ON SET UNIQUE OFF SET ESCAPE OFF SET EXACT ON // CONTROLA O :=, = e == SET EXCLUSIVE OFF SET MULTIPLE OFF rddRegister( "ADS", 1 ) SET FILETYPE to CDX ADSLocking( .T. ) /* //??????????????????? set( _SET_MBLOCKSIZE, 33 ) set( _SET_OPTIMIZE, .t. ) */ SET SERVER LOCAL if !file( "TESTE1.DBF" ) dbcreate( "TESTE1.DBF", { { "CODIGO", "C", 3, 0 }, { "DESCRICAO", "C", 30, 0 } }, "DBFCDX" ) use TESTE1 exclusive NEW for N := 1 to 999 TESTE1->( dbappend() ) TESTE1->CODIGO := strzero( N, 3, 0 ) TESTE1->DESCRICAO := replicate( TESTE1->CODIGO, 10 ) next N else use TESTE1 exclusive NEW endif TESTE1->( dbgotop() ) TESTE1->( browse() ) TESTE1->( dbclosearea() ) rddsetdefault( "ADS" ) if !file( "TESTE2.DBF" ) dbcreate( "TESTE2.DBF", { { "CODIGO", "C", 3, 0 }, { "DESCRICAO", "C", 30, 0 } }, "ADSCDX" ) use TESTE2 exclusive NEW for N := 1 to 999 TESTE2->( dbappend() ) TESTE2->CODIGO := strzero( N, 3, 0 ) TESTE2->DESCRICAO := replicate( TESTE2->CODIGO, 10 ) next N else use TESTE2 exclusive NEW endif TESTE2->( dbgotop() ) TESTE2->( browse() ) TESTE2->( dbclosearea() ) return NIL Nao tem como compilar isso, envie completo via ZIP. Quote Link to comment Share on other sites More sharing options...
Manoel Marinho Posted February 10, 2021 Author Report Share Posted February 10, 2021 Link para baixar o PRG já compilado: http://www.mspe.com.br/files/downloads/testeads.zip Quote Link to comment Share on other sites More sharing options...
giovanyvecchi Posted February 10, 2021 Report Share Posted February 10, 2021 Trabalho com ADS desde 2003/2004 com DBF até 2007, depois ja comecei a usar com ADT e Dicionários de dados. Hoje meu sistema trabalha com a base de dados de um cliente com 160 gb e eles trabalham home-office em alguns casos. Com DBF tive alguns problemas, principalmente no xbrowse, então criei a classe tAds para trabalhar estilo OOP igual C# no harbour com FW. Você pode baixar a classe aqui: https://github.com/giovanyvecchi/tAdsGit Neste repositório tem o Dbf2Advantage.exe que é um aplicativo para converter seus DBFs em ADTs com Dicionário de dados. Leia o help para ver a classe. De qualquer maneira tenta abrir os arquivos assim: use ("C:\CaminhoCompleto\TESTE2") Alias TESTE2 exclusive NEW via "ADSCDX" Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 10, 2021 Report Share Posted February 10, 2021 Eu hein? muito louco, e como compila isso? como se chama essas DLLS? e o ADS.CH? Corri... kkkkkkkkkkkkkk Abs. Quote Link to comment Share on other sites More sharing options...
Manoel Marinho Posted February 10, 2021 Author Report Share Posted February 10, 2021 Segue link para baixar a DLL http://www.mspe.com.br/files/downloads/xhbzipdll.dll Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 11, 2021 Report Share Posted February 11, 2021 16 horas atrás, Manoel Marinho disse: Segue link para baixar a DLL http://www.mspe.com.br/files/downloads/xhbzipdll.dll Eu ein?! kkkkk, o que começa errado... termina errado. kkkkkkkkkkkkk Quote Link to comment Share on other sites More sharing options...
Manoel Marinho Posted February 11, 2021 Author Report Share Posted February 11, 2021 Tá difícil !!! Tenta esse link com o arquivo zipado: http://www.mspe.com.br/files/downloads/xhbzipdll.zip Quote Link to comment Share on other sites More sharing options...
Manoel Marinho Posted February 11, 2021 Author Report Share Posted February 11, 2021 Segue também o exe mais as dlls http://www.mspe.com.br/files/downloads/testeads.zip Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 11, 2021 Report Share Posted February 11, 2021 Realmente não mostra os dados na xBrowse. Tente como o Giovany disse. Quote Link to comment Share on other sites More sharing options...
Manoel Marinho Posted February 11, 2021 Author Report Share Posted February 11, 2021 A classe do Giovany é fantástica. Mas não tenho a menor condição de adaptar meus fontes para usar. Seria um trabalho de meses, talvez anos. É um ERP enorme com milhares de programas. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 11, 2021 Report Share Posted February 11, 2021 Não, não! Fazer isso aqui: use ("C:\CaminhoCompleto\TESTE2") Alias TESTE2 exclusive NEW via "ADSCDX" Quote Link to comment Share on other sites More sharing options...
Manoel Marinho Posted February 12, 2021 Author Report Share Posted February 12, 2021 Não tem jeito, acho que é alguma alteração na classe LISTBOX que não reconhece mais o RDD ADSCDX. Segue o PRG alterado e o executável. http://www.mspe.com.br/files/downloads/testeads.zip Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 12, 2021 Report Share Posted February 12, 2021 Como é que faço para compilar? Não sei usar ADS, como são as chamadas as DLLS? Eu uso CX.BAT y CX.LNK para compilar, como faço para compilar e testar para ver se consigo te ajudar? Abs. Quote Link to comment Share on other sites More sharing options...
Manoel Marinho Posted February 12, 2021 Author Report Share Posted February 12, 2021 Eu uso o xHarbour Comercial. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 12, 2021 Report Share Posted February 12, 2021 Atá... então, ai phodeo, tú tens que pedir uma LIB para o Liñares(XHB.LIB?) compatível com a versão do Five/xHB, comprendes? Pohha, porquê não falou desde o início, kraiyios()? kkkkkkkkkkkkkkkkkkkkkkk Quote Link to comment Share on other sites More sharing options...
giovanyvecchi Posted February 12, 2021 Report Share Posted February 12, 2021 15 horas atrás, Manoel Marinho disse: A classe do Giovany é fantástica. Mas não tenho a menor condição de adaptar meus fontes para usar. Seria um trabalho de meses, talvez anos. É um ERP enorme com milhares de programas. Veja bem. Para usar a tAds você não precisa alterar nenhuma forma de funcionamento dos seus códigos, apenas complementar conforme for retificando. 1-Primeiramente, importar seus DBFs e criar um dicionario de dados. 2-Iniciar o programa com TADS_START_CONFIG() 3-Abrir o dicionário de dados Ex: Local nConnectionServer := 1 TADS_START_CONFIG() // Parametriza e cria os ambientes para uso do Advantage DataBase Server oMyConnectionServer := tAdsConnection():New(nConnectionServer,.T.) // .T. Para informar que esta conexão é a Padrão (Por Falta) oMyConnectionServer:cDataDictionary := "\\SERVER\REDE\DADOS\MyDataDictionary.add" oMyConnectionServer:cUserLogin := "adssys" oMyConnectionServer:cSenhaConnect := "123456" oMyConnectionServer:nTpConnect := 7 Depois para abrir as tabelas você troca os comandos assim: Antes: USE ("C:\CAMINHO\CLIENTES.DBF") ALIAS CLIENTES NEW CLIENTES->(BROWSE()) Depois: USE "CLIENTES" ALIAS CLIENTES NEW (CLIENTES)->(BROWSE()) Outra observação que deve ser contestado são as funções de usuário que estão sendo usadas nas TAGs dos Índices, Ex: Index on My_Function(blabla) TAG TSTFUN TO "C:\CAMINHO\CLIENTES.CDX" Os índices são criados no dicionário de dados, e quando você apagar eles fisicamente e abrir somente a tabela ADT os índices são criados automaticamente. Uma enorme vantagem do ads é quando vc tem uma tabela com varias tags de índices e convencionalmente você teria que executar o INDEX ON para cada uma delas. No ads todas as Tags são criadas ao mesmo tempo. Antes de usar dicionário de dados a reindexação durava uns 5 minutos, depois caiu para 45 segundos. Para ver as funções compatíveis com clipper que funcionam nos processos de criação das tags de índices e filtros consulte no help do Advantage por 'SCALAR FUNCTIONS'. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 12, 2021 Report Share Posted February 12, 2021 Veja se não é por aqui: http://forums.fivetechsupport.com/viewtopic.php?f=3&t=37071&p=221270&hilit=xhb+lib#p221270 Ou pergunte no forum ou para o pessoal do xHarbour comercial. abs. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.