Olá Ekro. O projeto que citei foi implementado todo em delphi. Eu usei uma técnica de leitura de arquivo chamada "Mapped File", mas essa técnica é muito baixo nível. Usava chamadas privilegiadas da API do Windows. Eu não tenho link, eu tirei o parte do fonte de um livro de Delphi 2 Advanced. Mas acredito que se fizer a paginação do arquivo texto você conseguirá. O problema que vejo é que se seu arquivo não for padronizado, ou seja, como é um arquivo texto provavelmente cada linha deve ter uma quantidade diferentes de caracteres, se isso é verdade, irá dificultar o calculo na paginação. No meu projeto eu tinha esse problema, então a solução foi adicionar espaços em branco no final de cada linha. Dessa forma todas as linhas do meu relatório tinham 132 colunas (ou caracteres). Desse jeito para calcular a paginação era mole. Em cada paginação eu trazia 66 linhas, cada uma contendo 132 caracteres. Agora para paginar é só manipulação de arquivo ((132 * 66) * Deslocamento), onde Deslocamento era a posição do scroll que o usuário rolava. Fazia um seek no arquivo e boa!!!
2009/12/16 Erko Bridee de Almeida Cabrera <erko.bri...@gmail.com> > Cara muito legal essa tua ideia, > > hj nas minhas leituras e pesquisas estou indo +- para essa linha > > por acaso tu tem links do assunto ae? > > ps.: achei pouco material sobre ^^ > > muito obrigado pela ajuda o/ > > 2009/12/16 Edgard Davidson <edgard.david...@gmail.com> > > Olá Erko >> Uma vez desenvolvi um projeto que tinha o mesmo problema. Naquela ocasião >> eu tinha que ler um arquivo texto contábil com mais de 4 milhões de linhas, >> o que dava mais ou menos uns 5GB. >> Então, usei como analogia aos players de vídeos. Imagine, um vídeo de 1GB >> como o pc rada? Bom o vilme tem 1GB e uma hora e meia, só que você irá ver >> segundo por segundo, e cada segundo são 30 frames. Nesse caso, pq então >> colocar todo o vídeo em memória. >> Com essa analogia desenvolvi o projeto, onde eu linha blocos do arquivo >> texto e mandava para a interface, como o usuário só é capaz de ler uma >> página por vez, então quando ele paginava, eu voltava ao arquivo original, >> recalculava o deslocamento que ele fez com base no movimento do scoll e >> trazia novamente mais um pedaço do arquivo. Nessa brincadeira, das milhares >> de páginas que meu arquivo texto tinha, eu só retornava 64 linhas por vez, o >> que dava mais ou menos uns 50 kb. >> Dessa forma consegui resolver o problema e a aplicação ficou um foguete!!! >> >> >> >> >> >> 2009/12/16 Erko Bridee de Almeida Cabrera <erko.bri...@gmail.com> >> >> Então o drama é o seguinte >>> >>> o cliente já fez o download do arquivo com as informações >>> que varia de 20 a 250+ MB para os clientes corporativos >>> >>> agora se eu tiver q mandar isso via internet para o servidor >>> para depois voltar >>> >>> 250 MB download >>> 250 MB upload >>> -250 MB download (creio eu que menos dq o valor inicial em objetos) >>> >>> arredondando essa brincadeira: 750 MB de tráfego na internet... >>> >>> isso para ver um arquivo é insano ^^ >>> >>> se bem q eu já apresentei esse cenário na reunião q teve hj o pessoal >>> meio que aceitou o absurdo e a principio vamos limitar em 100 MB que a >>> app >>> o Adobe Flash Player Runtime aguentou ler ^^ >>> >>> mas continuo a leitura sobre manipulação de arquivos no Adobe Flash >>> Player 10+ >>> >>> o/ >>> >>> >>> 2009/12/15 J.C.Ködel <jcko...@gmail.com> >>> >>>> OPs. Esqueci do resto: não, não fiz jogos em Flex (ainda). Pura falta >>>> de tempo. >>>> >>>> O jogo em questão era o bom e velho Ultima Online (www.uo.com) com um >>>> servidor customizado feito em C# (www.runuo.com) >>>> >>>> >>>> *From:* Erko Bridee de Almeida Cabrera <erko.bri...@gmail.com> >>>> *Sent:* Tuesday, December 15, 2009 2:47 PM >>>> *To:* flexdev@googlegroups.com >>>> *Subject:* Re: [flexdev] Leitura de arquivo > 250 MB >>>> >>>> Tenho um projeto aki >>>> >>>> Adobe Flex (interface) >>>> BlazeDS (Java - Server) >>>> >>>> de Telecom, onde os clientes corporativos >>>> irão ter uma aplicação em Flex para ler/carregar e >>>> visualizar as informações detalhadas de suas contas >>>> telefonicas >>>> >>>> o problema q os clientes corporativos pode ter casos >>>> de um arquivo com mais de 200 MB >>>> >>>> para arquivos de até 50 MB a aplicação >>>> está lidando tranquilamente, a leitura do arquivo, >>>> isto a parte em Adobe Flex =] >>>> >>>> o arquivo está na máquina do cliente >>>> >>>> no geral a aplicação consiste em geral em um visualizador >>>> gráfico desse arquivo, que vai apresentar gráficos >>>> e opções de calculos e filtros ^^ >>>> >>>> bom se tu souber algo relacionado a leitura de arquivos grandes >>>> textuais no Adobe Flex e/ou AIR >>>> >>>> qq link, referencia já é uma luz ^^ >>>> >>>> muito obrigado o/ >>>> >>>> ---- >>>> >>>> ps.: tu desenvolve games com Adobe Flex é? tem algo publicado, mesmo >>>> post >>>> sobre o assunto? >>>> >>>> eu curto games ^^ >>>> >>>> >>>> >>>> 2009/12/15 J.C.Ködel <jcko...@gmail.com> >>>> >>>>> Já fiz projetos que tinham que ler mais do que 2 Gb para a memória >>>>> (um servidor de jogos online). Imagine um jogo online com milhões de itens >>>>> distribuídos em 7 mapas gigantescos com milhares de jogadores online, tudo >>>>> em memória e sendo persistido pra disco de tempos em tempos. >>>>> >>>>> Por motivos de performance, foi feito via PInvoke. >>>>> >>>>> Qual plataforma e linguagem pretende utilizar? >>>>> >>>>> *From:* Erko Bridee de Almeida Cabrera <erko.bri...@gmail.com> >>>>> *Sent:* Tuesday, December 15, 2009 11:20 AM >>>>> *To:* flexdev@googlegroups.com >>>>> *Subject:* [flexdev] Leitura de arquivo > 250 MB >>>>> >>>>> Olá pessoal blz? >>>>> >>>>> sei que isso é insano, mas tenho um caso aqui >>>>> que preciso ler um arquivo de 250+ MB e joga-lo para memória >>>>> >>>>> que representam uma coleção de objetos >>>>> >>>>> alguem aqui já teve a necessidade de ler um arquivo tão grande assim? >>>>> >>>>> conhece alguma referencia/link sobre o assunto? >>>>> >>>>> grato pela ajuda ^^ >>>>> >>>>> -- >>>>> Att, >>>>> Erko Bridee de Almeida Cabrera >>>>> http://erkobridee.com/ >>>>> http://gospel.erkobridee.com/ >>>>> http://www.cwbfx.com/ >>>>> http://twitter.com/ErkoBridee >>>>> Currículo: http://netcarreiras.com/prof.html?uid=11410 >>>>> >>>>> -- >>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >>>>> Para enviar uma mensagem, envie um e-mail para >>>>> flexdev@googlegroups.com >>>>> Para sair da lista, envie um email em branco para >>>>> flexdev-unsubscr...@googlegroups.com >>>>> Mais opções estão disponíveis em >>>>> http://groups.google.com/group/flexdev >>>>> >>>> >>>> >>>> >>>> -- >>>> Att, >>>> Erko Bridee de Almeida Cabrera >>>> http://erkobridee.com/ >>>> http://gospel.erkobridee.com/ >>>> http://www.cwbfx.com/ >>>> http://twitter.com/ErkoBridee >>>> Currículo: http://netcarreiras.com/prof.html?uid=11410 >>>> >>>> -- >>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >>>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com >>>> Para sair da lista, envie um email em branco para >>>> flexdev-unsubscr...@googlegroups.com >>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev >>>> >>> >>> >>> >>> -- >>> Att, >>> Erko Bridee de Almeida Cabrera >>> http://erkobridee.com/ >>> http://gospel.erkobridee.com/ >>> http://www.cwbfx.com/ >>> http://twitter.com/ErkoBridee >>> Currículo: http://netcarreiras.com/prof.html?uid=11410 >>> >>> -- >>> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com >>> Para sair da lista, envie um email em branco para >>> flexdev-unsubscr...@googlegroups.com >>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev >>> >> >> >> >> -- >> Edgard Davidson. >> blog:edgarddavidson.com >> skype:edgarddavidson >> twitter:http://twitter.com/edgarddavidson >> LindedIn:http://br.linkedin.com/in/edgarddavidson >> FaceBook:http://pt-br.facebook.com/people/Edgard-Davidson/100000408023347 >> >> -- >> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com >> Para sair da lista, envie um email em branco para >> flexdev-unsubscr...@googlegroups.com >> Mais opções estão disponíveis em http://groups.google.com/group/flexdev >> > > > > -- > Att, > Erko Bridee de Almeida Cabrera > http://erkobridee.com/ > http://gospel.erkobridee.com/ > http://www.cwbfx.com/ > http://twitter.com/ErkoBridee > Currículo: http://netcarreiras.com/prof.html?uid=11410 > > -- > Você recebeu esta mensagem porque está inscrito na lista "flexdev" > Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com > Para sair da lista, envie um email em branco para > flexdev-unsubscr...@googlegroups.com > Mais opções estão disponíveis em http://groups.google.com/group/flexdev > -- Edgard Davidson. blog:edgarddavidson.com skype:edgarddavidson twitter:http://twitter.com/edgarddavidson LindedIn:http://br.linkedin.com/in/edgarddavidson FaceBook:http://pt-br.facebook.com/people/Edgard-Davidson/100000408023347 -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev