O autor Ricardo Flores me autorizou a divulgar aqui o texto seguinte de seu livro:
(Ricardo Flores: "Apenas um caco de código fonte [livro "O Caminho das Pedras (O Filme)", página 210], entre centenas:") ----------------------- function csPar : string; // Se você colocar a consulta csPar armazenada (Stored Procedure) nos SBD // InterBase ou MS-SQL Server a resposta leva muito mais tempo. Experimente!!! begin Result := 'select d.*,' + p1 + 'd1.DsParEsp, d2.DsAtiPar, d3.DsUniDiv, d4.DsForPag, d4.Cartao,' + p1 + 'd5.DsCatRem, d6.NomeUser' + p1 + 'from par d' + p1 + 'inner join paresp d1 on d1.IdParEsp = d.IdParEsp' + p1 + 'inner join atipar d2 on d2.IdAtiPar = d.IdAtiPar' + p1 + 'inner join unidiv d3 on d3.IdUniDiv = d.IdUniDiv' + p1 + 'inner join forpag d4 on d4.IdForPag = d.IdForPag' + p1 + 'inner join catrem d5 on d5.IdCatRem = d.IdCatRem' + p1 + 'inner join fun d6 on d6.IdFun = d.IdFun' + p1; // Continua!!! end; ------------------------ "Feito isto, envie a csPar para o Servidor. Agora, você só encontra como mandar tal instrução para o SBD (contida dentro da função csPar no corpo do livro "O Caminho das Pedras (O Filme"). O "asfalto" está no livro como um todo. Um grande abraço Ricardo Flores" Mais, informou que em http://www.ricardodefaria.com/ricardoflores/pDicIntr.htm você teria encontrado **OUTRO CACO** de código fonte: ----------------------- Trabalhando com TStringGrid [livro "O Caminho das Pedras (O Filme)", página 261.] Se você já trabalhou com o TStringGrid não terá problema algum. Mas se não, vamos ver como funciona no puro português o procedimento que serve à gDocEst e à gDocFin: ----------------------- With, preposição Com. Sender, substantivo Remetente. As, conjunção Como; Do Tipo. Do, verbo Fazer. For, preposição Para. To, preposição Até. RowCount, substantivo Contador de Linha. ColCount, substantivo Contador de Coluna. Cells[co, li] = célula[índice da coluna, índice da linha]. procedure LimpaGrade(Sender : TObject); var co, li : Smallint; begin // Com o Remetente do Tipo Grade de String, faça with Sender as TStringGrid do // Para linha de 1 até a última, faça for li := 1 to RowCount - 1 do // Para coluna de 0 até a última, faça for co := 0 to ColCount - 1 do cells[co, li] := 'Célula ' + IntToStr(co) + ',' + IntToStr (li); // cells[co, li] := ''; end; ----------------------- Quando o processamento encontra o loop "for li" pela primeira vez, a variável "li" assume o valor 1 e repete o loop "for co" de 0 até a última coluna, atribuindo as strings 'Célula 0, 1', 'Célula 1, 1', 'Célula 2, 1', ... a cada célula da linha 1 até a última coluna. Na segunda vez, "li" assume 2 e repete tudo. Esta mesmice ocorre até "li" assumir o valor da última linha. Isso é inacreditavelmente rápido, imperceptível à vista humana. Vale a pena testar mais adiante, mas por enquanto leia isto até entender. ----------------------- --- Em delphi-br@yahoogrupos.com.br, "Luiz Escobar" <[EMAIL PROTECTED]> escreveu > > Bom isso ai abaixo é muito vago... tipo.... se o servidor não for uma boa > maquina e estiver carregada ai seria melhor não suar mesmo... mas se for ao > contrario, vejamos dois exemplos... > > servidor: > P4-1.0Ghz 256M-RAM > estação: > P4-3.0Ghz 512M-RAM > neste caso acho que seria melhor não usar.... > > servidor: > P4-3.0Ghz - 512M-RAM > estação > P4-1.0Ghz - 256M-RAM ou P233-128M-RAM > aqui acho que já seria melhor usar.... > > cada caso é um caso.... no caso dele talvez seria melhor não usar.... ;-) > tem quer ver o que SP fazia... vixe... muitas variaveis para influenciar > nisso ai.... > > outra... porque não usar PARAMETERS ??? > eu não uso pq acho mais facil não usar... MAS...como sempre digo... > CADA UM COM SEU CADA UM!!!!!!!!!!... > > NO site do cara não tem exemplo nenhum... entrei baixei e não tem nada lá... > a não ser uns arquivos .SQL para FIREBIRD/INTERBASE, MS-SQL,. que são > DIFERENTES... > e 3 forms que são relatorios em quickreport que não tem nada de > extraordinário.... > > > Luiz Escobar > > ------------------------------------------------------------------- --------- > Seria MUITO conveniente voce considerar NAO usar stored procedure: > Veja o que o Ricardo Flores diz: > > A realidade é a seguinte: > - Não use Stored Procedure, as consultas ficam mais rápidas e vc não > fica escravo, repito, escravo do Servidor de Banco de > Dados !!!!!!!!!!!!!!! > > - Não use ParamByName('CampoTal').ComoTipoTal. > - Não use Params('Índice').ComoTipoTal. > Seja o servidor MS-SQL Server, InterBase, Firebird, Oracle, SyBase > ou outro que vir... > ------------------ > Vejam o que eu uso em meu livro > O Caminho das Pedras (O Filme). > www.ricardodefaria.com/ricardoflores > > No meu caso, confirmo: se vc coloca duas maquinas rodando o que > compilei com o fonte do livro do Ricardo Flores, e a maquina com o > executavel gerado termina em 1 minuto, a outra maquina usando stored > procedure termina no DECIMO minuto - Leva 9 minutos a mais! > > Não é por menos que quando ele colocou este programa na Segunda > Maior Empresa de Transportes Aereos do Mundo aqui no Brasil, veio > gente de Londres ver como ele tinha conseguido isto... > -- <<<<< 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] 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