Isso é verdade, muito bem lembrado, não havia lembrado desta hipótese, quantas vezes, durante o projeto a gente as vezes altera a ordem dos campos, ou acrescenta um calculado no meio, pronto já ferra com tudo no fields[xx]....
Luiz Escobar ------------- Segue mensagem original! ------------- De: Valfrid-Ly Silva Couto <[EMAIL PROTECTED]> Data: Sat, 9 Dec 2006 08:28:22 -0300 (ART) Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Verdade sobre fieldbyname Luiz, gostaria só de acrescentar algo. Não só o FieldByName facilita a leitura do código como se, no caso de uma query, se você precisar alterar o result set e seus campos mudarem de ordem, o FieldByName continua funcionando, o Fields[01] já vai te dar problemas! Luiz Escobar escreveu: o trafeco ? bom depende, se for de droga e for passar pela alfandega pode demorar um pouco sim, agora se for o trafego, bem não vai influenciar muito não... o que fica " lento " é o seguinte... (lento esta entre "" pois não acho significativo não....) quando vc usa "table1.fieldbyname('blablabla').asstring" ao invez de "table1.fields[ 01 ].asstring" é que o primeiro vai ter que procurar na tabela dos campos da table1 qual a posição dele para depois retornar o seu valor o segundo já retorna na hora, ficando assim a EXECUÇÃO bem mais rápida, MAS, EU!!!... particularmente uso o fieldbyname... fica mais facil a leitura/compreenção do programa... agora faz um teste ai vc, o meu teste deu isso ai abaixo.... 1.000.000x dá +/- 1 segundo de diferença... isso em um P4-1.7Ghz, 748MB-ram, windows-XP-PRO.... mas lembre-se 1 milhão de vezes.... var t1, t2 : tdatetime; x : integer; procedure TForm1.Button1Click(Sender: TObject); begin label1.caption := ''; t1 := now; for x := 1 to 1000000 do label1.caption := VT1.Fieldbyname('field0').asstring; t2 := now; label1.caption := timetostr( t2 - t1 ); // 00:00:04 end; procedure TForm1.Button2Click(Sender: TObject); begin label2.caption := ''; t1 := now; for x := 1 to 1000000 do label2.caption := VT1.Fields[0].asstring; t2 := now; label2.caption := timetostr( t2 - t1 ); // 00:00:03 end; e veja a diferença de tempo entre eles em micros mais modestos....... Luiz Escobar Analista/Desenvolvedor: WEB - HTML/JavaScript/PHP/MySQL WINDOWS - Delphi/MyDAC/ASSEMBLER/MySQL/xBase DOS - Clipper/Assembler xBase SERVIDORES - NetWare4.11, LINUX-REDHAT9, WINDOWS-2k LINUX - LAZARUS/Kylix/MySQL; http://www.megasistema.com.br ----- Original Message ----- From: Marcelo To: delphi-br@yahoogrupos.com.br Sent: Friday, December 08, 2006 2:48 PM Subject: [delphi-br] Verdade sobre fieldbyname AMigos da lista, gostaria de saber da experiencia de vcs Vi em uma lista de discussão que o FieldByName deixa o tráfeco mais lento. Isso é verdade? Desde já agradeço a todos [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Links do Yahoo! Grupos Valfrid-Ly Silva Couto [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] ICQ 15114646 --------------------------------- Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora! [As partes desta mensagem que não continham texto foram removidas]