procedure TForm1.Button1Click(Sender: TObject); var BackupName: string; FileHandle: Integer; StringLen: Integer; X: Integer; Y: Integer; begin if SaveDialog1.Execute then begin if FileExists(SaveDialog1.FileName) then begin BackupName := ExtractFileName(SaveDialog1.FileName); BackupName := ChangeFileExt(BackupName, '.BAK'); if not RenameFile(SaveDialog1.FileName, BackupName) then
raise Exception.Create('Unable to create backup file.'); end; FileHandle := FileCreate(SaveDialog1.FileName); { Write out the number of rows and columns in the grid. } FileWrite(FileHandle, StringGrid1.ColCount, SizeOf(StringGrid1.ColCount)); FileWrite(FileHandle, StringGrid1.RowCount, SizeOf(StringGrid1.RowCount)); for X := 0 to StringGrid1.ColCount 1 do begin for Y := 0 to StringGrid1.RowCount 1 do begin { Write out the length of each string, followed by the string itself. } StringLen := Length(StringGrid1.Cells[X,Y]); FileWrite(FileHandle, StringLen, SizeOf(StringLen)); FileWrite(FileHandle, StringGrid1.Cells[X,Y], Length(StringGrid1.Cells[X,Y]); end; end; FileClose(FileHandle); end; end; -----Mensagem original----- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de Rogério Enviada em: terça-feira, 18 de outubro de 2005 15:37 Para: delphi-br@yahoogrupos.com.br Cc: [EMAIL PROTECTED] Assunto: Re: [delphi-br] O que tem a MELHOR PERFORMANCE ? Felipe, nuca ví nada parecido sobre FileHandle... Se puder mandar o Exemplo, te agradeço muito.. Obrigado. ----- Original Message ----- From: "Filipe Xavier Ramalho" <[EMAIL PROTECTED]> To: <delphi-br@yahoogrupos.com.br> Sent: Tuesday, October 18, 2005 2:43 PM Subject: RES: [delphi-br] O que tem a MELHOR PERFORMANCE ? Não use o TStringList de jeito nenhum, neste caso, você precisaria de uns 3 dias para abrir o arquivo. Sugiro que você use um FileHandle, para abrir o arquivo e ler linha a linha. Daí vai fazendo as tuas operações, sem precisar carregar ele todo na memória. Se não souber como abrir o arquivo com um Handle, manda outro e-mail que eu faço um exemplo e te mando... Abraço, Filipe -----Mensagem original----- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de Rogério Enviada em: terça-feira, 18 de outubro de 2005 13:18 Para: delphi-br@yahoogrupos.com.br Assunto: [delphi-br] O que tem a MELHOR PERFORMANCE ? - Preciso Ler um .Txt com 2.000.000 ou + (dois milhoes de registros ou mais) - Este .Txt está dividido em 5 colunas: Nome, Data de Nascimento, Idade, Sexo, Endereco - Consolidar este .Txt por Data de Nascimento, Idade e Sexo... para saber as respectivas quantidades... - Detalhe: Preciso da melhor performance possível e disponível... Por isso descartei a Inserção em um BD e usar GroupBy Posteriormente. Acho que o melhor seria fazer tudo em memória pois, gravando em disco é inviável devido o tempo gasto... Não sei como ou, qual Tecnologia utilizar !! TStringList / ClientDataSet em memória / Arrays Alguém já passou por isto ou tem algum palpite ?? Estou em uma Arapuca Danada... Se souberem de algum algorítimo tb. agradeceria... Boa tarde pessoal... [ ]'s _______________________________________________________ Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e concorre a mais de 500 prêmios! Participe! http://yahoo.fbiz.com.br/ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Yahoo! Grupos, um serviço oferecido por: -------------------------------------------------------------------------- -- -- Links do Yahoo! Grupos a.. Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ b.. Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos _______________________________________________________ Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e concorre a mais de 500 prêmios! Participe! http://yahoo.fbiz.com.br/ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Yahoo! Grupos, um serviço oferecido por: ---------------------------------------------------------------------------- -- Links do Yahoo! Grupos a.. Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ b.. Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html