Re: [delphi-br] [DICA] +Funções para strings
isso tá redendo !!! rs Abraços, Ricardo Cabral --- Em qui, 16/10/08, Onjahyr - GMAIL <[EMAIL PROTECTED]> escreveu: De: Onjahyr - GMAIL <[EMAIL PROTECTED]> Assunto: Re: [delphi-br] [DICA] +Funções para strings Para: delphi-br@yahoogrupos.com.br Data: Quinta-feira, 16 de Outubro de 2008, 17:02 Que é que eu tenho a ver com a conversa rapá??? Eu até pedi para ele continuar!!! Luiz ESCobar escreveu: > > RUBEM suas dicas e idéias sempre seram muito bem vindas... > O João e o Onjahyr só tem opniões diferentes.. . > Não acho que deva parar... > []s > > Luiz Escobar - Analista/Desenvolve dor: > WEB - HTML/JavaScript/ PHP/MySQL > WINDOWS - Delphi/ASSEMBLY/ MySQL/xBase > SERVIDORES - CNA IntraNetWare4. 11, LINUX-(RedHat9/ Suse11), Windows 2K/XP > HARBOUR - - - - - - > Borland C++ 5.5.1 (32 bit) > Harbour 1.0.1 Intl. (Rev. 9429) > xHarbour Compile build 1.1.0 (Simplex) > Harbour MiniGUI 1.5 Extended Edition (Build 57d) - 2008.10.10 > - - - - - - > > [As partes desta mensagem que não continham texto foram removidas] > > Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara @ymail.com ou @rocketmail.com. http://br.new.mail.yahoo.com/addresses [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] [DICA] +Funções para strings
Só no RAPÁ! a conversa já morreu... []s Luiz Escobar - Analista/Desenvolvedor: WEB - HTML/JavaScript/PHP/MySQL WINDOWS - Delphi/ASSEMBLY/MySQL/xBase SERVIDORES - CNA IntraNetWare4.11, LINUX-(RedHat9/Suse11), Windows 2K/XP HARBOUR -- Borland C++ 5.5.1 (32 bit) Harbour 1.0.1 Intl. (Rev. 9429) xHarbour Compile build 1.1.0 (Simplex) Harbour MiniGUI 1.5 Extended Edition (Build 57d) - 2008.10.10 --- From: Onjahyr - GMAIL Sent: Thursday, October 16, 2008 4:02 PM To: delphi-br@yahoogrupos.com.br Subject: Re: [delphi-br] [DICA] +Funções para strings Que é que eu tenho a ver com a conversa rapá??? Eu até pedi para ele continuar!!! Luiz ESCobar escreveu: > > RUBEM suas dicas e idéias sempre seram muito bem vindas... > O João e o Onjahyr só tem opniões diferentes... > Não acho que deva parar... > []s > > Luiz Escobar - Analista/Desenvolvedor: > WEB - HTML/JavaScript/PHP/MySQL > WINDOWS - Delphi/ASSEMBLY/MySQL/xBase > SERVIDORES - CNA IntraNetWare4.11, LINUX-(RedHat9/Suse11), Windows 2K/XP > HARBOUR -- > Borland C++ 5.5.1 (32 bit) > Harbour 1.0.1 Intl. (Rev. 9429) > xHarbour Compile build 1.1.0 (Simplex) > Harbour MiniGUI 1.5 Extended Edition (Build 57d) - 2008.10.10 > -- > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] [DICA] +Funções para strings
Leia as dicas quem quiser. Afinal o forum é democrático ! Abraços, Ricardo Cabral --- Em qui, 16/10/08, Luiz ESCobar <[EMAIL PROTECTED]> escreveu: De: Luiz ESCobar <[EMAIL PROTECTED]> Assunto: Re: [delphi-br] [DICA] +Funções para strings Para: delphi-br@yahoogrupos.com.br Data: Quinta-feira, 16 de Outubro de 2008, 15:43 RUBEM suas dicas e idéias sempre seram muito bem vindas... O João e o Onjahyr só tem opniões diferentes.. . Não acho que deva parar... []s Luiz Escobar - Analista/Desenvolve dor: WEB - HTML/JavaScript/ PHP/MySQL WINDOWS - Delphi/ASSEMBLY/ MySQL/xBase SERVIDORES - CNA IntraNetWare4. 11, LINUX-(RedHat9/ Suse11), Windows 2K/XP HARBOUR - - - - - - Borland C++ 5.5.1 (32 bit) Harbour 1.0.1 Intl. (Rev. 9429) xHarbour Compile build 1.1.0 (Simplex) Harbour MiniGUI 1.5 Extended Edition (Build 57d) - 2008.10.10 - - - - - - [As partes desta mensagem que não continham texto foram removidas] Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara @ymail.com ou @rocketmail.com. http://br.new.mail.yahoo.com/addresses [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] [DICA] +Funções para strings
RUBEM suas dicas e idéias sempre seram muito bem vindas... O João e o Onjahyr só tem opniões diferentes... Não acho que deva parar... []s Luiz Escobar - Analista/Desenvolvedor: WEB - HTML/JavaScript/PHP/MySQL WINDOWS - Delphi/ASSEMBLY/MySQL/xBase SERVIDORES - CNA IntraNetWare4.11, LINUX-(RedHat9/Suse11), Windows 2K/XP HARBOUR -- Borland C++ 5.5.1 (32 bit) Harbour 1.0.1 Intl. (Rev. 9429) xHarbour Compile build 1.1.0 (Simplex) Harbour MiniGUI 1.5 Extended Edition (Build 57d) - 2008.10.10 --- [As partes desta mensagem que não continham texto foram removidas]
RE: [delphi-br] [DICA] +Funções para strings
Faça isso não. Continue enviando dicas. São sempre importantes. --- Em qui, 16/10/08, Rubem Nascimento da Rocha <[EMAIL PROTECTED]> escreveu: De: Rubem Nascimento da Rocha <[EMAIL PROTECTED]> Assunto: RE: [delphi-br] [DICA] +Funções para strings Para: delphi-br@yahoogrupos.com.br Data: Quinta-feira, 16 de Outubro de 2008, 1:23 É, cada um pensa de um jeito! Minha intenção era apenas a de ajudar. Acho melhor ficar só nas sugestões de idéias. Cada um tem a sua maneira de codificar. E em respeito a essas diferenças, ficarei apenas na surdina, na obscuridade, observando. Nada mais de códigos. Caso alguém queira a minha opinião, estou por aqui. Sds. _ _ __ To: [EMAIL PROTECTED] os.com.br From: [EMAIL PROTECTED] com Date: Thu, 16 Oct 2008 00:09:42 -0200 Subject: Re: [delphi-br] [DICA] +Funções para strings Concordo com o João, não vamos reinventar a roda, k. Joao Morais escreveu: > > Fala Rubem! > > 2008/10/15 Rubem Nascimento da Rocha >: >> >> Sinceramente, não vejo hack nenhum. Em linguagem C, condições do > tipo "if (var> 0)" >> podem ser simplificadas com "if (var)". O Object Pascal me permite > fazer isso também, >> como ilustro no meu código. Portanto, pra mim, não é hack. > > Hack é tudo que é feito sem o suporte da linguagem. No Object Pascal, > boolean e números não são compatíveis. O que o Object Pascal te > fornece é um meio de hac^H^H^H forçar esta compatibilidade. > > C não tem nem boolean, nem elegância, nem diferença entre código limpo > e hackeado, então a comparação ficou meio forçada. > >> E ainda acrescento que faço uso de intensivo de constantes por ser > uma prática que torna >> bem mais claro o código, algo bem melhor do que ficar usando magic > numbers. > > Hã... Boolean(Items. Count) não me parece mais claro do que > (Items.Count> 0), pelo contrário. A menos que você seja um > programador C ou Assembly. > > No entanto não importa. O que coloquei é o que o prof. Wirth esperava > que fizéssemos, e não colocar a minha opinião, muito menos ir contra a > sua. > >> Quanto ao uso de TStringList, ... ora, se em Java eu posso usar coisa > parecida, pq não em >> Delphi? Se o Object Pascal possui artefatos para uso de orientação a > objetos, e classes >> utilitárias para auxiliar nosso trabalho, pq não fazer uso delas? > "Ah, o código é complexo e >> faz uso de heap!" Mas uma função dessas, muito provavelmente, não > seria usada em >> textos muito extensos, e o impacto na performance geral de um grande > sistema aplicativo >> seria o mínimo. > > A pouca demanda para o uso de uma rotina jamais deve ser argumento > para escolher uma opção mais cara perante uma opção mais simples. É > justamente assim que nascem códigos mal feitos. Outros fatores como > manutenção futura também entram na conta, mas que simplesmente não se > aplica para uma rotina tão simples como essa. > >> Alias será, pq faço uso dessas funções intensivamente no sistema que > dou manutenção >> atualmente, e não existe perda de performance com o seu uso. >> >> Agora, putz, se for pra escrever sempre código simpleco e > estruturado, então quem vêm >> do Delphi e tá acostumado a escrever só procedimentos e funções ou > está acostumado >> somente a colocar componentes e codificar razoavelmente eventos vai > se lascar feio ao >> tentar pegar códigos mais trabalhados em Java ou C#. Imagina pegar > algo mais >> complicado como, por exemplo, validar uma texto em uma caixa de > edição (a.k.a. TEdit) >> usando expressões regulares (a.k.a. RegEx)! > > Entendo aonde você quer chegar. Então agora basta, ou escolher um > exemplo a altura da complexidade da implementação, ou implementar a > rotina a altura da sua simplicidade. Mais bonito, menor e melhor são > três grandezas diferentes para trechos de código. > >> Mas, como diria Voltaire, "posso não concordar com o que dizes, mas > até o fim defenderei >> o direito que o tens de dizê-lo." > > Eu não esperava que fosses concordar comigo, no entanto devo confessar > que eu esperava argumentos melhores para as suas escolhas. > >> >> Sds. > > -- > Joao Morais > >> >> _ _ __ >> To: [EMAIL PROTECTED] os.com.br >> From: [EMAIL PROTECTED] com >> Date: Wed, 15 Oct 2008 22:16:55 -0300 >> Subject: Re: [delphi-br] [DICA] +Funções para strings >> >> 2008/10/15 Rubem Nascimento da Rocha >: >>> >>> >>> if not AllowEmpty then >>> for i := 0 to Count - 1 do >>> while (List[i] = EmptyStr) and Boolean(List. Count) do >> >> No seu lugar eu removeria o w
Re: [delphi-br] [DICA] +Funções para strings
2008/10/15 Onjahyr - GMAIL <[EMAIL PROTECTED]>: > Concordo com o João, não vamos reinventar a roda, k. Não é o caso Robson. O Rubem colocou implementações que não existem na rtl do delphi e eu palpitei com melhorias que eu julgo pertinente. No entanto isso vale também para implementações que já existem na vcl, como tdataset. Eu escrevi um framework mvp e não uso um único decendente de tdataset. E hoje, analisando como eu escrevo um form e como eu escrevia antes desse framework, fico tão certo de que não reinventei roda alguma quanto 2 e 2 são 4. Ou 22. Há controvérsia =) -- Joao Morais
Res: RE: [delphi-br] [DICA] +Funções para strings
Rubem, não se ofenda! Não foi minha intensão. Já conversamos e sabes que eu sou daqueles que vou atrás do que eu quero, e "na área que já metemos a cabeça" (I/O), são códigos pouco "bem-vindos". Todas as dicas que você já postou eu sempre guardo aqui para futuras consultas... Continue, não ligue prá isso, estamos em uma lista e deves compreender que todo mundo pode opinar... Creio que o João concorda que importa sabermos como se faz uma coisa de diversas formas e pegar aquela que mais agradar... Você deu uma dica, o João deixou uma outra maneira de se fazer, outra pessoa coloca outro parecer e assim faz uma comunidade... Blz. Rubem Nascimento da Rocha escreveu: > > > É, cada um pensa de um jeito! Minha intenção era apenas a de ajudar. > Acho melhor ficar só nas sugestões de idéias. Cada um tem a sua > maneira de codificar. E em respeito a essas diferenças, ficarei apenas > na surdina, na obscuridade, observando. Nada mais de códigos. Caso > alguém queira a minha opinião, estou por aqui. > > Sds. > > > To: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> > From: [EMAIL PROTECTED] <mailto:onjahyr%40gmail.com> > Date: Thu, 16 Oct 2008 00:09:42 -0200 > Subject: Re: [delphi-br] [DICA] +Funções para strings > > Concordo com o João, não vamos reinventar a roda, k. > >
Res: RE: [delphi-br] [DICA] +Funções para strings
Não se ofenda! Não foi minha intensão. Já conversamos e sabes que eu sou daqueles que vou atrás do que eu quero, e "na área que já metemos a cabeça", são códigos pouco "bem-vindo". Todas as dicas que você postou eu sempre guardo aqui para futuras consultas... Continue, não ligue prá isso, estamos em uma lista e deves compreender que todo mundo pode opinar... Creio que o João concorda que importa sabermos como se faz uma coisa de diversas formas e pegar aquela que mais agradar... Você deu uma dica, o João deixou uma outra maneira de se fazer, outra pessoa coloca outro parecer e assim faz uma comunidade... Blz. Rubem Nascimento da Rocha escreveu: > > > É, cada um pensa de um jeito! Minha intenção era apenas a de ajudar. > Acho melhor ficar só nas sugestões de idéias. Cada um tem a sua > maneira de codificar. E em respeito a essas diferenças, ficarei apenas > na surdina, na obscuridade, observando. Nada mais de códigos. Caso > alguém queira a minha opinião, estou por aqui. > > Sds. > > > To: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> > From: [EMAIL PROTECTED] <mailto:onjahyr%40gmail.com> > Date: Thu, 16 Oct 2008 00:09:42 -0200 > Subject: Re: [delphi-br] [DICA] +Funções para strings > > Concordo com o João, não vamos reinventar a roda, k. > > Joao Morais escreveu: > > > > Fala Rubem! > > > > 2008/10/15 Rubem Nascimento da Rocha <[EMAIL PROTECTED] > <mailto:djpardalrocha%40hotmail.com> > > >: > >> > >> Sinceramente, não vejo hack nenhum. Em linguagem C, condições do > > tipo "if (var> 0)" > >> podem ser simplificadas com "if (var)". O Object Pascal me permite > > fazer isso também, > >> como ilustro no meu código. Portanto, pra mim, não é hack. > > > > Hack é tudo que é feito sem o suporte da linguagem. No Object Pascal, > > boolean e números não são compatíveis. O que o Object Pascal te > > fornece é um meio de hac^H^H^H forçar esta compatibilidade. > > > > C não tem nem boolean, nem elegância, nem diferença entre código limpo > > e hackeado, então a comparação ficou meio forçada. > > > >> E ainda acrescento que faço uso de intensivo de constantes por ser > > uma prática que torna > >> bem mais claro o código, algo bem melhor do que ficar usando magic > > numbers. > > > > Hã... Boolean(Items.Count) não me parece mais claro do que > > (Items.Count> 0), pelo contrário. A menos que você seja um > > programador C ou Assembly. > > > > No entanto não importa. O que coloquei é o que o prof. Wirth esperava > > que fizéssemos, e não colocar a minha opinião, muito menos ir contra a > > sua. > > > >> Quanto ao uso de TStringList,... ora, se em Java eu posso usar coisa > > parecida, pq não em > >> Delphi? Se o Object Pascal possui artefatos para uso de orientação a > > objetos, e classes > >> utilitárias para auxiliar nosso trabalho, pq não fazer uso delas? > > "Ah, o código é complexo e > >> faz uso de heap!" Mas uma função dessas, muito provavelmente, não > > seria usada em > >> textos muito extensos, e o impacto na performance geral de um grande > > sistema aplicativo > >> seria o mínimo. > > > > A pouca demanda para o uso de uma rotina jamais deve ser argumento > > para escolher uma opção mais cara perante uma opção mais simples. É > > justamente assim que nascem códigos mal feitos. Outros fatores como > > manutenção futura também entram na conta, mas que simplesmente não se > > aplica para uma rotina tão simples como essa. > > > >> Alias será, pq faço uso dessas funções intensivamente no sistema que > > dou manutenção > >> atualmente, e não existe perda de performance com o seu uso. > >> > >> Agora, putz, se for pra escrever sempre código simpleco e > > estruturado, então quem vêm > >> do Delphi e tá acostumado a escrever só procedimentos e funções ou > > está acostumado > >> somente a colocar componentes e codificar razoavelmente eventos vai > > se lascar feio ao > >> tentar pegar códigos mais trabalhados em Java ou C#. Imagina pegar > > algo mais > >> complicado como, por exemplo, validar uma texto em uma caixa de > > edição (a.k.a. TEdit) > >> usando expressões regulares (a.k.a. RegEx)! > > > > Entendo aonde você quer chegar. Então agora basta, ou escolher um > > exemplo a altura da complexidade da implementação, ou implementar a > > rotina a altura da sua simplicidade. Mais bonito, menor e melhor são > > três grandezas d
RE: [delphi-br] [DICA] +Funções para strings
É, cada um pensa de um jeito! Minha intenção era apenas a de ajudar. Acho melhor ficar só nas sugestões de idéias. Cada um tem a sua maneira de codificar. E em respeito a essas diferenças, ficarei apenas na surdina, na obscuridade, observando. Nada mais de códigos. Caso alguém queira a minha opinião, estou por aqui. Sds. To: delphi-br@yahoogrupos.com.br From: [EMAIL PROTECTED] Date: Thu, 16 Oct 2008 00:09:42 -0200 Subject: Re: [delphi-br] [DICA] +Funções para strings Concordo com o João, não vamos reinventar a roda, k. Joao Morais escreveu: > > Fala Rubem! > > 2008/10/15 Rubem Nascimento da Rocha <[EMAIL PROTECTED] > >: >> >> Sinceramente, não vejo hack nenhum. Em linguagem C, condições do > tipo "if (var> 0)" >> podem ser simplificadas com "if (var)". O Object Pascal me permite > fazer isso também, >> como ilustro no meu código. Portanto, pra mim, não é hack. > > Hack é tudo que é feito sem o suporte da linguagem. No Object Pascal, > boolean e números não são compatíveis. O que o Object Pascal te > fornece é um meio de hac^H^H^H forçar esta compatibilidade. > > C não tem nem boolean, nem elegância, nem diferença entre código limpo > e hackeado, então a comparação ficou meio forçada. > >> E ainda acrescento que faço uso de intensivo de constantes por ser > uma prática que torna >> bem mais claro o código, algo bem melhor do que ficar usando magic > numbers. > > Hã... Boolean(Items.Count) não me parece mais claro do que > (Items.Count> 0), pelo contrário. A menos que você seja um > programador C ou Assembly. > > No entanto não importa. O que coloquei é o que o prof. Wirth esperava > que fizéssemos, e não colocar a minha opinião, muito menos ir contra a > sua. > >> Quanto ao uso de TStringList,... ora, se em Java eu posso usar coisa > parecida, pq não em >> Delphi? Se o Object Pascal possui artefatos para uso de orientação a > objetos, e classes >> utilitárias para auxiliar nosso trabalho, pq não fazer uso delas? > "Ah, o código é complexo e >> faz uso de heap!" Mas uma função dessas, muito provavelmente, não > seria usada em >> textos muito extensos, e o impacto na performance geral de um grande > sistema aplicativo >> seria o mínimo. > > A pouca demanda para o uso de uma rotina jamais deve ser argumento > para escolher uma opção mais cara perante uma opção mais simples. É > justamente assim que nascem códigos mal feitos. Outros fatores como > manutenção futura também entram na conta, mas que simplesmente não se > aplica para uma rotina tão simples como essa. > >> Alias será, pq faço uso dessas funções intensivamente no sistema que > dou manutenção >> atualmente, e não existe perda de performance com o seu uso. >> >> Agora, putz, se for pra escrever sempre código simpleco e > estruturado, então quem vêm >> do Delphi e tá acostumado a escrever só procedimentos e funções ou > está acostumado >> somente a colocar componentes e codificar razoavelmente eventos vai > se lascar feio ao >> tentar pegar códigos mais trabalhados em Java ou C#. Imagina pegar > algo mais >> complicado como, por exemplo, validar uma texto em uma caixa de > edição (a.k.a. TEdit) >> usando expressões regulares (a.k.a. RegEx)! > > Entendo aonde você quer chegar. Então agora basta, ou escolher um > exemplo a altura da complexidade da implementação, ou implementar a > rotina a altura da sua simplicidade. Mais bonito, menor e melhor são > três grandezas diferentes para trechos de código. > >> Mas, como diria Voltaire, "posso não concordar com o que dizes, mas > até o fim defenderei >> o direito que o tens de dizê-lo." > > Eu não esperava que fosses concordar comigo, no entanto devo confessar > que eu esperava argumentos melhores para as suas escolhas. > >> >> Sds. > > -- > Joao Morais > >> >> >> To: delphi-br@yahoogrupos.com.br >> From: [EMAIL PROTECTED] >> Date: Wed, 15 Oct 2008 22:16:55 -0300 >> Subject: Re: [delphi-br] [DICA] +Funções para strings >> >> 2008/10/15 Rubem Nascimento da Rocha <[EMAIL PROTECTED] > >: >>> >>> >>> if not AllowEmpty then >>> for i := 0 to Count - 1 do >>> while (List[i] = EmptyStr) and Boolean(List.Count) do >> >> No seu lugar eu removeria o while e colocaria um for downto, além de >> tirar esse hack do código e ajudar o caboclo a escrever código limpo. >> >>> { Conta quantas palavras existem em uma string } >>> function CountWords(S: string): integer; >>> begin >>> with TStringList.Create do >> >> Por que não usar o for? TStrings além de usar o heap tem um código >> mais complexo para uma tarefa simples. >> >> -- >> Joao Morais >> >>> try >>> Delimiter := ' '; >>> DelimitedText := S; >>> Result := Count; >>> finally >>> Free >>> end >>> end; >>> >>> >>> Sds., >>> >>> Rubem Rocha >>> Manaus, AM > > _ Conheça o Windows Live Spaces, a rede de relacionamentos do Messenger! http://www.amigosdomessenger.com.br/
Re: [delphi-br] [DICA] +Funções para strings
Fala Rubem! 2008/10/15 Rubem Nascimento da Rocha <[EMAIL PROTECTED]>: > > Sinceramente, não vejo hack nenhum. Em linguagem C, condições do tipo "if > (var> 0)" > podem ser simplificadas com "if (var)". O Object Pascal me permite fazer isso > também, > como ilustro no meu código. Portanto, pra mim, não é hack. Hack é tudo que é feito sem o suporte da linguagem. No Object Pascal, boolean e números não são compatíveis. O que o Object Pascal te fornece é um meio de hac^H^H^H forçar esta compatibilidade. C não tem nem boolean, nem elegância, nem diferença entre código limpo e hackeado, então a comparação ficou meio forçada. > E ainda acrescento que faço uso de intensivo de constantes por ser uma > prática que torna > bem mais claro o código, algo bem melhor do que ficar usando magic numbers. Hã... Boolean(Items.Count) não me parece mais claro do que (Items.Count > 0), pelo contrário. A menos que você seja um programador C ou Assembly. No entanto não importa. O que coloquei é o que o prof. Wirth esperava que fizéssemos, e não colocar a minha opinião, muito menos ir contra a sua. > Quanto ao uso de TStringList,... ora, se em Java eu posso usar coisa > parecida, pq não em > Delphi? Se o Object Pascal possui artefatos para uso de orientação a objetos, > e classes > utilitárias para auxiliar nosso trabalho, pq não fazer uso delas? "Ah, o > código é complexo e > faz uso de heap!" Mas uma função dessas, muito provavelmente, não seria usada > em > textos muito extensos, e o impacto na performance geral de um grande sistema > aplicativo > seria o mínimo. A pouca demanda para o uso de uma rotina jamais deve ser argumento para escolher uma opção mais cara perante uma opção mais simples. É justamente assim que nascem códigos mal feitos. Outros fatores como manutenção futura também entram na conta, mas que simplesmente não se aplica para uma rotina tão simples como essa. > Alias será, pq faço uso dessas funções intensivamente no sistema que dou > manutenção > atualmente, e não existe perda de performance com o seu uso. > > Agora, putz, se for pra escrever sempre código simpleco e estruturado, então > quem vêm > do Delphi e tá acostumado a escrever só procedimentos e funções ou está > acostumado > somente a colocar componentes e codificar razoavelmente eventos vai se lascar > feio ao > tentar pegar códigos mais trabalhados em Java ou C#. Imagina pegar algo mais > complicado como, por exemplo, validar uma texto em uma caixa de edição > (a.k.a. TEdit) > usando expressões regulares (a.k.a. RegEx)! Entendo aonde você quer chegar. Então agora basta, ou escolher um exemplo a altura da complexidade da implementação, ou implementar a rotina a altura da sua simplicidade. Mais bonito, menor e melhor são três grandezas diferentes para trechos de código. > Mas, como diria Voltaire, "posso não concordar com o que dizes, mas até o fim > defenderei > o direito que o tens de dizê-lo." Eu não esperava que fosses concordar comigo, no entanto devo confessar que eu esperava argumentos melhores para as suas escolhas. > > Sds. -- Joao Morais > > ________ > To: delphi-br@yahoogrupos.com.br > From: [EMAIL PROTECTED] > Date: Wed, 15 Oct 2008 22:16:55 -0300 > Subject: Re: [delphi-br] [DICA] +Funções para strings > > 2008/10/15 Rubem Nascimento da Rocha <[EMAIL PROTECTED]>: >> >> >> if not AllowEmpty then >> for i := 0 to Count - 1 do >> while (List[i] = EmptyStr) and Boolean(List.Count) do > > No seu lugar eu removeria o while e colocaria um for downto, além de > tirar esse hack do código e ajudar o caboclo a escrever código limpo. > >> { Conta quantas palavras existem em uma string } >> function CountWords(S: string): integer; >> begin >> with TStringList.Create do > > Por que não usar o for? TStrings além de usar o heap tem um código > mais complexo para uma tarefa simples. > > -- > Joao Morais > >> try >> Delimiter := ' '; >> DelimitedText := S; >> Result := Count; >> finally >> Free >> end >> end; >> >> >> Sds., >> >> Rubem Rocha >> Manaus, AM
RE: [delphi-br] [DICA] +Funções para strings
Sinceramente, não vejo hack nenhum. Em linguagem C, condições do tipo "if (var> 0)" podem ser simplificadas com "if (var)". O Object Pascal me permite fazer isso também, como ilustro no meu código. Portanto, pra mim, não é hack. E ainda acrescento que faço uso de intensivo de constantes por ser uma prática que torna bem mais claro o código, algo bem melhor do que ficar usando magic numbers. Quanto ao uso de TStringList,... ora, se em Java eu posso usar coisa parecida, pq não em Delphi? Se o Object Pascal possui artefatos para uso de orientação a objetos, e classes utilitárias para auxiliar nosso trabalho, pq não fazer uso delas? "Ah, o código é complexo e faz uso de heap!" Mas uma função dessas, muito provavelmente, não seria usada em textos muito extensos, e o impacto na performance geral de um grande sistema aplicativo seria o mínimo. Alias será, pq faço uso dessas funções intensivamente no sistema que dou manutenção atualmente, e não existe perda de performance com o seu uso. Agora, putz, se for pra escrever sempre código simpleco e estruturado, então quem vêm do Delphi e tá acostumado a escrever só procedimentos e funções ou está acostumado somente a colocar componentes e codificar razoavelmente eventos vai se lascar feio ao tentar pegar códigos mais trabalhados em Java ou C#. Imagina pegar algo mais complicado como, por exemplo, validar uma texto em uma caixa de edição (a.k.a. TEdit) usando expressões regulares (a.k.a. RegEx)! Mas, como diria Voltaire, "posso não concordar com o que dizes, mas até o fim defenderei o direito que o tens de dizê-lo." Sds. To: delphi-br@yahoogrupos.com.br From: [EMAIL PROTECTED] Date: Wed, 15 Oct 2008 22:16:55 -0300 Subject: Re: [delphi-br] [DICA] +Funções para strings 2008/10/15 Rubem Nascimento da Rocha <[EMAIL PROTECTED]>: > > > if not AllowEmpty then > for i := 0 to Count - 1 do > while (List[i] = EmptyStr) and Boolean(List.Count) do No seu lugar eu removeria o while e colocaria um for downto, além de tirar esse hack do código e ajudar o caboclo a escrever código limpo. > { Conta quantas palavras existem em uma string } > function CountWords(S: string): integer; > begin > with TStringList.Create do Por que não usar o for? TStrings além de usar o heap tem um código mais complexo para uma tarefa simples. -- Joao Morais > try > Delimiter := ' '; > DelimitedText := S; > Result := Count; > finally > Free > end > end; > > > Sds., > > Rubem Rocha > Manaus, AM > __ > Conheça o Windows Live Spaces, a rede de relacionamentos do Messenger! > http://www.amigosdomessenger.com.br/ > > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM>>>>> > > > > _ Cansado de espaço para só 50 fotos? Conheça o Spaces, o site de relacionamentos com até 6,000 fotos! http://www.amigosdomessenger.com.br
Re: [delphi-br] [DICA] +Funções para strings
2008/10/15 Rubem Nascimento da Rocha <[EMAIL PROTECTED]>: > > >if not AllowEmpty then > for i := 0 to Count - 1 do >while (List[i] = EmptyStr) and Boolean(List.Count) do No seu lugar eu removeria o while e colocaria um for downto, além de tirar esse hack do código e ajudar o caboclo a escrever código limpo. > { Conta quantas palavras existem em uma string } > function CountWords(S: string): integer; > begin > with TStringList.Create do Por que não usar o for? TStrings além de usar o heap tem um código mais complexo para uma tarefa simples. -- Joao Morais > try >Delimiter := ' '; >DelimitedText := S; >Result := Count; > finally >Free > end > end; > > > Sds., > > Rubem Rocha > Manaus, AM > _ > Conheça o Windows Live Spaces, a rede de relacionamentos do Messenger! > http://www.amigosdomessenger.com.br/ > > > -- > < FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM > > > > >