vagner Posted June 9, 2010 Report Share Posted June 9, 2010 Olá Pessoal Bo, eu estava procurando algo para agilizar meus arquivos temporários, pois havia demora na montagem dos dbf e cdx, sabia que em harbour havia uma função, porém não tinha encontrado nada em xharbour, aà andei dando uma fuçada e encontrei , bom desde a 808 , não sei nas anteriores Na nova versão do xHarbour já existe uma função é a Hb_DbCreateTemp(), não declarada DbCreate("Mem:test", aTemp,, .T., "FluxoTempo") -> Usado sem a nova versão do xHarbour Hb_DbCreateTemp("FluxoTempo", aTemp) -> Usado com a Nova Versão do xHarbour DBDROP("Mem:test") // Free memory resource -> Usado sem a nova versão do xHarbour Pode ser criado Ãndices em memória tb id=red>id=code>id=code> aTemp := {} AaDd(aTemp,{"Tip_Docu","C", 2,0}) AaDd(aTemp,{"Tip_Doc2","C", 1,0}) AaDd(aTemp,{"Num_Titu","C", 7,0}) AaDd(aTemp,{"Dta_Docu","D", 8,0}) AaDd(aTemp,{"Dta_Venc","D", 8,0}) AaDd(aTemp,{"Dta_Flux","D", 8,0}) AaDd(aTemp,{"Vlr_Flux","N",13,2}) AaDd(aTemp,{"Dta_Pgto","D", 8,0}) AaDd(aTemp,{"Vlr_Pgto","N",13,2}) AaDd(aTemp,{"Num_Docu","C",50,0}) AaDd(aTemp,{"Oficial_","L", 1,0}) AaDd(aTemp,{"Cod_Clie","C", 4,0}) AaDd(aTemp,{"Nom_Clie","C",40,0}) AaDd(aTemp,{"Cod_Stat","C",40,0}) id=code>id=code> Hb_DbCreateTemp("FluxoTempo", aTemp) Appen From "SeuArquivoDbfNormal" Inde On Tip_Doc2+Num_Titu Tag "01" To ("Teste") Memory Inde On Tip_Doc2+DtoS(Dta_Docu)+Num_Titu Tag "02" To ("Teste") Memory Additive Inde On Tip_Doc2+Cod_Clie+Num_Titu Tag "03" To ("Teste") Memory Additive Inde On Tip_Doc2+Nom_Clie+Num_Titu Tag "04" To ("Teste") Memory Additive Inde On Tip_Doc2+DtoS(Dta_Venc) + Num_Titu Tag "05" To ("Teste") Memory Additive Inde On Tip_Doc2+DtoS(Dta_Flux) + Num_Titu Tag "06" To ("Teste") Memory Additive Inde On Tip_Doc2+StrZero(Vlr_Flux,13,2) Tag "07" To ("Teste") Memory Additive Inde On Tip_Doc2+DtoS(Dta_Pgto) + Num_Titu Tag "08" To ("Teste") Memory Additive Inde On Tip_Doc2+StrZero(Vlr_Pgto,13,2) Tag "09" To ("Teste") Memory Additive id=code>id=code>Quais as vantagens que eu vÃ, muito mais rápido a montagem, pode se dar um seek, appen, delete, skip, normalmente como um dbf qualquer, inclusive depois pode se dar um copy to outro dbf Aqueles que trabalhando com array (assim como eu, pois não querem ficar montando temporário para tudo) é uma boa solução Vagner Wirts "Ele não sabendo que era impossÃvel, foi lá e fez" P.S.: Quem puder testar e reportar se melhorou ou não, fico grato Quote Link to comment Share on other sites More sharing options...
vagner Posted June 9, 2010 Author Report Share Posted June 9, 2010 Olá Pessoal Bo, eu estava procurando algo para agilizar meus arquivos temporários, pois havia demora na montagem dos dbf e cdx, sabia que em harbour havia uma função, porém não tinha encontrado nada em xharbour, aà andei dando uma fuçada e encontrei , bom desde a 808 , não sei nas anteriores Na nova versão do xHarbour já existe uma função é a Hb_DbCreateTemp(), não declarada DbCreate("Mem:test", aTemp,, .T., "FluxoTempo") -> Usado sem a nova versão do xHarbour Hb_DbCreateTemp("FluxoTempo", aTemp) -> Usado com a Nova Versão do xHarbour DBDROP("Mem:test") // Free memory resource -> Usado sem a nova versão do xHarbour Pode ser criado Ãndices em memória tb id=red>id=code>id=code> aTemp := {} AaDd(aTemp,{"Tip_Docu","C", 2,0}) AaDd(aTemp,{"Tip_Doc2","C", 1,0}) AaDd(aTemp,{"Num_Titu","C", 7,0}) AaDd(aTemp,{"Dta_Docu","D", 8,0}) AaDd(aTemp,{"Dta_Venc","D", 8,0}) AaDd(aTemp,{"Dta_Flux","D", 8,0}) AaDd(aTemp,{"Vlr_Flux","N",13,2}) AaDd(aTemp,{"Dta_Pgto","D", 8,0}) AaDd(aTemp,{"Vlr_Pgto","N",13,2}) AaDd(aTemp,{"Num_Docu","C",50,0}) AaDd(aTemp,{"Oficial_","L", 1,0}) AaDd(aTemp,{"Cod_Clie","C", 4,0}) AaDd(aTemp,{"Nom_Clie","C",40,0}) AaDd(aTemp,{"Cod_Stat","C",40,0}) id=code>id=code> Hb_DbCreateTemp("FluxoTempo", aTemp) Appen From "SeuArquivoDbfNormal" Inde On Tip_Doc2+Num_Titu Tag "01" To ("Teste") Memory Inde On Tip_Doc2+DtoS(Dta_Docu)+Num_Titu Tag "02" To ("Teste") Memory Additive Inde On Tip_Doc2+Cod_Clie+Num_Titu Tag "03" To ("Teste") Memory Additive Inde On Tip_Doc2+Nom_Clie+Num_Titu Tag "04" To ("Teste") Memory Additive Inde On Tip_Doc2+DtoS(Dta_Venc) + Num_Titu Tag "05" To ("Teste") Memory Additive Inde On Tip_Doc2+DtoS(Dta_Flux) + Num_Titu Tag "06" To ("Teste") Memory Additive Inde On Tip_Doc2+StrZero(Vlr_Flux,13,2) Tag "07" To ("Teste") Memory Additive Inde On Tip_Doc2+DtoS(Dta_Pgto) + Num_Titu Tag "08" To ("Teste") Memory Additive Inde On Tip_Doc2+StrZero(Vlr_Pgto,13,2) Tag "09" To ("Teste") Memory Additive id=code>id=code>Quais as vantagens que eu vÃ, muito mais rápido a montagem, pode se dar um seek, appen, delete, skip, normalmente como um dbf qualquer, inclusive depois pode se dar um copy to outro dbf Aqueles que trabalhando com array (assim como eu, pois não querem ficar montando temporário para tudo) é uma boa solução Vagner Wirts "Ele não sabendo que era impossÃvel, foi lá e fez" P.S.: Quem puder testar e reportar se melhorou ou não, fico grato Quote Link to comment Share on other sites More sharing options...
Luiz Fernando Posted June 9, 2010 Report Share Posted June 9, 2010 Muito interessante irei fazer os teste aqui,obrigado por compartilhar esta solução... Abraços Luiz Fernando msn: empresoft@globo.com skype:empresoft empresoft@globo.com FWH 8.04,XHARBOUR 1.1,PELES,XDEV,VLIB,ADS 8.1 FWH 9.12,XHARBOUR 1.2,ADS 9.0 Quote Link to comment Share on other sites More sharing options...
LUIS1361303120 Posted June 9, 2010 Report Share Posted June 9, 2010 so uma duvida ao criar esse tipo de arquivo,, quando abrir fica lento no inicio, ou e rapido,, sera que funciona na versao do fivewin 9.04... Quote Link to comment Share on other sites More sharing options...
Eric.Developer Posted June 9, 2010 Report Share Posted June 9, 2010 Faz algum tempo que existe o RDD ARRAYRDD, ou seja, é um DBF em memória, esse recurso também é usado como ponte para os SGDBs via RDD. A cautela é para aqueles que usam um PC antigo, com uma vaga "lembrança" de memória, 32 MB x o volume a ser armazenado. ======================================== REQUEST ARRAYRDD function main ... dbCreate( "arrtest.dbf", aStruct, "ARRAYRDD" ) USE arrtest.dbf VIA "ARRAYRDD" Virtualmente, Eric Developer Systems Freelance/Consultorias www.magaldi.eti.br Quote Link to comment Share on other sites More sharing options...
vagner Posted June 9, 2010 Author Report Share Posted June 9, 2010 Olá Eric. Pode até ser que tenha no Harbour, porém não encontrei no XHarbou, nem nas libs do xHarbour para poder fazer um teste E como eu disse é em memória, então máquinas que tenham pouca memória nem com array é bom trabalhar Vagner Wirts "Ele não sabendo que era impossÃvel, foi lá e fez" VII Encontro está chegando , não perca Quote Link to comment Share on other sites More sharing options...
betovsp Posted June 9, 2010 Report Share Posted June 9, 2010 Olá Vagner, esta tudo bem, vc esta meio que sumido aqui da comunidade, e como vai a famÃlia. Abraços. Beto Msn: betovsp@hotmail.com FWH 9.08+xHarbour 1.2.1+Mymake+@Say "Ainda que nossos olhos não pudessem ver, nossos ouvidos não existissem, restaria o nosso pensamento para vermos, ouvirmos e falarmos com Deus."id=red> Quote Link to comment Share on other sites More sharing options...
vagner Posted June 9, 2010 Author Report Share Posted June 9, 2010 citação:Olá Vagner, esta tudo bem, vc esta meio que sumido aqui da comunidade, e como vai a famÃlia. Abraços. Beto Msn: betovsp@hotmail.com FWH 9.08+xHarbour 1.2.1+Mymake+@Say "Ainda que nossos olhos não pudessem ver, nossos ouvidos não existissem, restaria o nosso pensamento para vermos, ouvirmos e falarmos com Deus."id=red> id=quote>id=quote>Fala Beto, Blz ? Está tudo bem sim , ando sumido por causa de muito trabalho, mas ainda fico rico, ou morro tentando hehehehe Vagner Wirts "Ele não sabendo que era impossÃvel, foi lá e fez" VII Encontro está chegando , não perca Quote Link to comment Share on other sites More sharing options...
emotta Posted June 9, 2010 Report Share Posted June 9, 2010 Eric, o ARRAYRDD nao tem suporte a indices. Só se implementaram isso na ultima versao. Alias, o recurso USRRDD é muito interessante. Eu mesmo ja utilizei ele para usar uma base BTrieve para integrar a um cliente meu, ficou muito bom. Para acessar a base BTrieve eu utilizo a mesma DLL que o sistema gerencial que ele tem, ficou perfeito, com criacao de indices, filtros, etc... Abraço citação:Olá Eric. Pode até ser que tenha no Harbour, porém não encontrei no XHarbou, nem nas libs do xHarbour para poder fazer um teste E como eu disse é em memória, então máquinas que tenham pouca memória nem com array é bom trabalhar Vagner Wirts "Ele não sabendo que era impossÃvel, foi lá e fez" VII Encontro está chegando , não perca id=quote>id=quote>EMotta Sistemas Eduardo Motta emotta@gmail.com.br FWH 9.09 - xHARBOUR 1.2.1 Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted June 10, 2010 Report Share Posted June 10, 2010 citação: citação:Olá Vagner, esta tudo bem, vc esta meio que sumido aqui da comunidade, e como vai a famÃlia. Abraços. Beto Msn: betovsp@hotmail.com FWH 9.08+xHarbour 1.2.1+Mymake+@Say "Ainda que nossos olhos não pudessem ver, nossos ouvidos não existissem, restaria o nosso pensamento para vermos, ouvirmos e falarmos com Deus."id=red> id=quote>id=quote>Fala Beto, Blz ? Está tudo bem sim , ando sumido por causa de muito trabalho, mas ainda fico rico, ou morro tentando hehehehe Vagner Wirts "Ele não sabendo que era impossÃvel, foi lá e fez" VII Encontro está chegando , não perca id=quote>id=quote>Quem trabalha muito não tem tempo pra ficar rico Abraços... Luiz Arruda-Corumba(MS) ico.corumba@gmail.com FiveWin Desde 2004id=blue> [x]Harbour xDev WS Não Abandone seu tópico Retorne avisando se a dica funcionouid=red> Quote Link to comment Share on other sites More sharing options...
aferra Posted June 10, 2010 Report Share Posted June 10, 2010 citação:Quem trabalha muito não tem tempo pra ficar rico id=quote>id=quote>existem controvérsias Alessandroid=blue> FW20d+CL53b+Blk7+@Say+CDX FW9.07+xHb121+PellesC+CDX "Uma imaginação bem canalizada é fonte de grandes proezas"id=red> Quote Link to comment Share on other sites More sharing options...
william Posted June 17, 2010 Report Share Posted June 17, 2010 Comecei a utilizar esta funcao Hb_DbCreateTemp()em meus sistemas e fiquei maravilhado. Trabalhando com mysql juntamente com os Dbfs temporarios na memoria ficou muito bom mesmo ! Só um detalhe , antes do DBDROP(mem:test) deve-se primeiro fechar a area , senao a area fica aberta, o dbdrop() nao a fecha . Entao o correto para eliminar o arquivo temporario seria: test->(dbclosearea()) dbdrop(mem:test) Valeu pela dica ! William Xharbour 1.0 - Fwh - Sqlrdd , Mysql 5.0, PHP, WS , Timprime 4.0 , Display 2.0 Editado por - william on 18/06/2010 00:30:11 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.