Re: [delphi-br] Desempenho Firebird

2010-07-15 Por tôpico Fortes Marcelo
Oi Eny, tudo que os rapazes postaram acima é verdadeiro. 
Qualquer banco até mesmo o Firebird ue praticamente não precisa de nenhum 
tunning precisa de uma configuração e uma correta forma de se lidar, o Firebird 
ainda é tão divulgado por questões históricas ele é uma versão aberta que se 
originou do Fork do InterBase 6.0 beta, em junho do ano 2000.
O InterBase é um dos melhores bancos com que já tive o prazer te trabalhar e 
ele não morreu existe aí a versão 2009 e a próxima versão vem 64 bits e com 
muitos outros recursos, essas bancos tem a caractereistica de vc ter que saber 
trabalhar bem com a s transações se uma só transação fica aberta por tempo 
indeterminado podem ocorrer sérios problemas de performance, some-se isso o 
fato de muitos desenvolvedores não criar índices corretamente, má normalização, 
configruação do Cache adequadamente, backup e sweep, escolha da versão do 
servidor, que sistema operacional vai rodar etc... 

Eu tenho uma aplicação que tem em torno de 350 usuários simultâneos em torno de 
100 Gigabytes com milhares de transações diárias. Sem problema de performance, 
agora tudo bem pensado e devidamente mantido.
Já vi siuações ruims em bancos Oracle, SQLServer, PostGreSQL também por falta 
de tunning e configuração. Já vi Oracle Ranger numa aplicaçãozinha besta, cada 
caso é um caso. Firebird tem recursoso ue só recentemente o SQLServer veio ter, 
por exemplo.
Dá uma olhadinha aquihttp://www.firebase.com.br/fb/artigo.php?id=2100
Vc que mora no Interior de São Paulo tenta acompanhar uma Firebird Developers 
Dayno site da FireBase tem sempre notícias.
Sucesso e saúde !
Marcelo Fortes.

--- Em qua, 14/7/10, Eny Urias enyur...@yahoo.com.br escreveu:

De: Eny Urias enyur...@yahoo.com.br
Assunto: [delphi-br] Desempenho Firebird
Para: delphi-br@yahoogrupos.com.br
Data: Quarta-feira, 14 de Julho de 2010, 10:26















 
 



  



  
  
  Acabei de falar com um amigo que trabalha numa empresa de rastreamento de 

veículos onde as informações chegam a cada milésimos de segundo e ele me disse 

exatamente assim:



Tirei o firebird de todos os sistemas esta semana

ficou 10

80 % mais rápido

foi a maior c...@#$ colocar aquele firebird

a coisa cresceu e ele não dava conta

... posso dizer uma coisa os plantões estão muito mais sussegados...



Eu sempre tive essa dúvida... Porque o Firebird ainda é tão divulgado e 

utilizado entre os delphianos? Qual a vantagem em relação as versões Express do 

SQL e do Oracle? Existem outros bancos free bons também, não? 



--

Eny Trova Urias



Somos o que repetitivamente fazemos, portanto, a excelência não é um feito, 
mas 

um hábito- Aristóteles



[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] Desempenho Firebird

2010-07-15 Por tôpico Bruno Lichot
Realmente,

 

Uso muito o FireBird em ambientes de missão critica, tenho casos de mais de 200 
conexões simultâneas em processos que demanda de alta velocidade e segurança.

 

Grande parte da solução de velocidade está na modelagem, por isso que no inicio 
do artigo da edição 74 da Active Delphi onde falo sobre desenvolvimento 
comercial, investi uma edição inteira sobre as vantagens e em técnicas de 
modelagem. E como o Ricardo falou, é preciso refinar a configuração do banco. 
Definir corretamente o Page size e o buffers so pra começar, e se tem muita 
transação, talvez mexer no swwep interval ou programar para o sweep rodar em 
horário marcado.

 

Utilizar técnicas de reorganização de índices periódicas e boas praticas para o 
tamanho de arquivos bem como o hardware utilizado.

 

Em nenhuma de minhas aplicações criticas com FireBird usei o Windows como 
Servidor de Banco de Dados. Sempre usei o Linux.

 

É bem verdade que em alguns casos onde não somente o volume de dados ficou bem 
maior, mas como a concorrência, eu parti para o InterBase pois é nativo SMP e 
tem um poder de resposta e performance bem maior que o FireBird, ou seja, em 
algum momento encontrei motivos para usar outra solução de banco. Uma outra 
vantagem do InterBase é a segurança, o journaling e as ferramentas de 
monitoramento e sua gestão de processo e memória.

 

O ideal é você desenhar o tamanho do seu sistema, o numero de conexoes 
simultâneas, os processo mais freqüentes e o tamanho da massa de dados e com 
isso aplicar as melhores técnicas de configuração e tunnig e fazer testes de 
carga e performance. 

 

From: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] On 
Behalf Of Ricardo César Cardoso
Sent: quarta-feira, 14 de julho de 2010 22:26
To: delphi-br@yahoogrupos.com.br
Subject: Re: [delphi-br] Desempenho Firebird

 

  

Desconfio desse tipo de chute. 

Já vi gente dizendo Firebird em sistemas de missão critica (acho que um deles é 
o Bruno Lichot). Não posso dizer muito pois não tenho nenhum sistema de missão 
critica, mas posso dizer que no quesito VOLUME DE DADOS o FB aguenta o tranco. 
Um camarada aqui tem um sistema que já acumulou 40 GB de dados dos mais 
diversos na base e roda que é uma belezinha .Tem foto, áudio, vídeo e até 
planilhas e arquivos PDFs gravados no BD juntos com os campos de dados.

Todo BD que trabalha em missão crítica (eu até diria que até mesmo o hardware) 
precisa de um tuning ou de refinamentos para melhorar a performance. A 
diferença é que no FB esse tipo de ajuste tem que ser feito pelo DBA no braço. 
Ou seja, não há wizards que fazem todo o trabalho pesado. Vc tem que conhecer 
os conceitos para saber exatamente o que está fazendo.

Outros fatores são o processador em uso e a versão do BD que está usando 
(SuperClassic, ClassicServer, SuperServer) que pode oferecer mais refinamentos. 
Só por desencargo de consciência, indica pro teu amigo ler isso aqui 
(http://www.sinatica.com/blog/br/index.php/artigos/firebird-superserver-classicserver-ou-superclassic)
 e acompanhar a Lista Firebase BR.

Um BD que tenho vontade (só vontade, pois tempo eu não tenho mesmo...) de 
testar é o PostGree é gratuito e aguenta o tranco como os majors, pelo menos é 
o que dizem.

Uma última dúvida: que BD entrou no lugar do FB? Tanto o Oracle XE quando o SQL 
Server Express tem limitações quanto ao tamanho máximo que o arquivo do BD pode 
assumir (acho que 4Gb em ambos) e no Oracle ainda há a limitação de núcleos de 
processador (só usa 1 núcleo).

Atte,
Ricardo.

1) Evite escrever suas mensagens usando somente LETRAS MAIÚSCULAS.

2) Revise o texto de sua mensagem. Uma mensagem bem escrita é melhor 
compreendida.

3) Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!

--- Em qua, 14/7/10, Eny Urias enyur...@yahoo.com.br 
mailto:enyurias%40yahoo.com.br  escreveu:

De: Eny Urias enyur...@yahoo.com.br mailto:enyurias%40yahoo.com.br 
Assunto: [delphi-br] Desempenho Firebird
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Data: Quarta-feira, 14 de Julho de 2010, 10:26

 

Acabei de falar com um amigo que trabalha numa empresa de rastreamento de 

veículos onde as informações chegam a cada milésimos de segundo e ele me disse 

exatamente assim:

Tirei o firebird de todos os sistemas esta semana

ficou 10

80 % mais rápido

foi a maior c...@#$ colocar aquele firebird

a coisa cresceu e ele não dava conta

... posso dizer uma coisa os plantões estão muito mais sussegados...

Eu sempre tive essa dúvida... Porque o Firebird ainda é tão divulgado e 

utilizado entre os delphianos? Qual a vantagem em relação as versões Express do 

SQL e do Oracle? Existem outros bancos free bons também, não? 

--

Eny Trova Urias

Somos o que repetitivamente fazemos, portanto, a excelência não é um feito, 
mas 

um hábito- Aristóteles

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]



 

Click 

Re: RES: [delphi-br] MethodAddress retornando NIL

2010-07-15 Por tôpico Fabricio Colombo
Para o método SetFocus, seria melhor vc chamar direto o método. Por exemplo,
se vc estiver em um form, bastaria chamar

Self.FocusControl(edit1)

ou vc cria um método seu

procedure TForm1.SetFocusComponent(AComponent: TComponent);
begin
  if AComponent is TWinControl then
TWinControl(AComponent).SetFocus;
end;

Que outros métodos vc precisa invocar? Praticamente todos os métodos comuns
entre os componentes visuais, estão presentes em TControl e TWinControl, que
são as classes base.



Em 14 de julho de 2010 20:49, eric_developer
developer.syst...@yahoo.comescreveu:



 executar métodos, irei passar para minha função, o objeto e a string com o
 nome do método, exemplo:

 myCallMethod( edit1, 'SETFOCUS' ) ;

 --- Em delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br,
 Fabricio Colombo fabricio.colombo@... escreveu

 
  O que vc está pretendendo fazer Eric?
 
  Em 14 de julho de 2010 16:02, Mário Guedes jmariogue...@...escreveu:

 
  
  
   Eu fiz assim:
  
  
  
 http://eugostododelphi.blogspot.com/2010/04/como-executar-um-metodo-pelo-nome.html
  
   *José Mário Silva Guedes*
   e-mail: jmariogue...@... jmarioguedes%40gmail.com

  
  
   [As partes desta mensagem que não continham texto foram removidas]
  
  
  
 
 
  [As partes desta mensagem que não continham texto foram removidas]
 

  



[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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: RES: [delphi-br] MethodAddress retornando NIL

2010-07-15 Por tôpico eric_developer
isso é muito diferente do que preciso, mesmo assim obrigado.

--- Em delphi-br@yahoogrupos.com.br, Fabricio Colombo 
fabricio.colombo@... escreveu

 Para o método SetFocus, seria melhor vc chamar direto o método. Por exemplo,
 se vc estiver em um form, bastaria chamar
 
 Self.FocusControl(edit1)
 
 ou vc cria um método seu
 
 procedure TForm1.SetFocusComponent(AComponent: TComponent);
 begin
   if AComponent is TWinControl then
 TWinControl(AComponent).SetFocus;
 end;
 
 Que outros métodos vc precisa invocar? Praticamente todos os métodos comuns
 entre os componentes visuais, estão presentes em TControl e TWinControl, que
 são as classes base.
 
 
 
 Em 14 de julho de 2010 20:49, eric_developer
 developer.syst...@...escreveu:
 
 
 
  executar métodos, irei passar para minha função, o objeto e a string com o
  nome do método, exemplo:
 
  myCallMethod( edit1, 'SETFOCUS' ) ;
 
  --- Em delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br,
  Fabricio Colombo fabricio.colombo.mva@ escreveu
 
  
   O que vc está pretendendo fazer Eric?
  
   Em 14 de julho de 2010 16:02, Mário Guedes jmarioguedes@escreveu:
 
  
   
   
Eu fiz assim:
   
   
   
  http://eugostododelphi.blogspot.com/2010/04/como-executar-um-metodo-pelo-nome.html
   
*José Mário Silva Guedes*
e-mail: jmarioguedes@ jmarioguedes%40gmail.com
 
   
   
[As partes desta mensagem que não continham texto foram removidas]
   
   
   
  
  
   [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] Desempenho Firebird

2010-07-15 Por tôpico Walter Chagas (Bol)
O que denegre o banco, ao meu ver, é que se ele exige ou pelo menos requeira um 
DBA para fazer o trabalho de ajuste e tunnagem do mesmo, aí vem muitas vezes o 
próprio desenvolvedor na base da fuçação mesmo pra tentar configurar. Acaba até 
configurando corretamente, mas depois de muito penar e gerar desgastes com o 
cliente. Muitos lugares, o desenvolvedor vai para uma filial, chega lá não tem 
nada estruturado para ele trabalhar e lá vai o cara atrasar seu cronograma e 
partir pro heroismo pra resolver problemas que não deveriam existir lá.

A questão que vejo, é que muitas empresas e muitos cartolas nao entendem que no 
universo do desenvolvimento, cada macaco no seu galho. Banco de dados é com 
DBA, desenvolvimento é com o programador e levantamento de 
requisitos/mapeamento de processos é com o analista.

[]s
 
 
Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com
SKYPE: WalterChagasJr


  - Original Message - 
  From: Ricardo César Cardoso 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Wednesday, July 14, 2010 10:26 PM
  Subject: Re: [delphi-br] Desempenho Firebird



  Desconfio desse tipo de chute. 

  Já vi gente dizendo Firebird em sistemas de missão critica (acho que um deles 
é o Bruno Lichot). Não posso dizer muito pois não tenho nenhum sistema de 
missão critica, mas posso dizer que no quesito VOLUME DE DADOS o FB aguenta o 
tranco. Um camarada aqui tem um sistema que já acumulou 40 GB de dados dos mais 
diversos na base e roda que é uma belezinha .Tem foto, áudio, vídeo e até 
planilhas e arquivos PDFs gravados no BD juntos com os campos de dados.

  Todo BD que trabalha em missão crítica (eu até diria que até mesmo o 
hardware) precisa de um tuning ou de refinamentos para melhorar a performance. 
A diferença é que no FB esse tipo de ajuste tem que ser feito pelo DBA no 
braço. Ou seja, não há wizards que fazem todo o trabalho pesado. Vc tem que 
conhecer os conceitos para saber exatamente o que está fazendo.

  Outros fatores são o processador em uso e a versão do BD que está usando 
(SuperClassic, ClassicServer, SuperServer) que pode oferecer mais refinamentos. 
Só por desencargo de consciência, indica pro teu amigo ler isso aqui 
(http://www.sinatica.com/blog/br/index.php/artigos/firebird-superserver-classicserver-ou-superclassic)
 e acompanhar a Lista Firebase BR.

  Um BD que tenho vontade (só vontade, pois tempo eu não tenho mesmo...) de 
testar é o PostGree é gratuito e aguenta o tranco como os majors, pelo menos é 
o que dizem.

  Uma última dúvida: que BD entrou no lugar do FB? Tanto o Oracle XE quando o 
SQL Server Express tem limitações quanto ao tamanho máximo que o arquivo do BD 
pode assumir (acho que 4Gb em ambos) e no Oracle ainda há a limitação de 
núcleos de processador (só usa 1 núcleo).

  Atte,
  Ricardo.

  1) Evite escrever suas mensagens usando somente LETRAS MAIÚSCULAS.

  2) Revise o texto de sua mensagem. Uma mensagem bem escrita é melhor 
compreendida.

  3) Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!

  --- Em qua, 14/7/10, Eny Urias enyur...@yahoo.com.br escreveu:

  De: Eny Urias enyur...@yahoo.com.br
  Assunto: [delphi-br] Desempenho Firebird
  Para: delphi-br@yahoogrupos.com.br
  Data: Quarta-feira, 14 de Julho de 2010, 10:26

   

  Acabei de falar com um amigo que trabalha numa empresa de rastreamento de 

  veículos onde as informações chegam a cada milésimos de segundo e ele me 
disse 

  exatamente assim:

  Tirei o firebird de todos os sistemas esta semana

  ficou 10

  80 % mais rápido

  foi a maior c...@#$ colocar aquele firebird

  a coisa cresceu e ele não dava conta

  ... posso dizer uma coisa os plantões estão muito mais sussegados...

  Eu sempre tive essa dúvida... Porque o Firebird ainda é tão divulgado e 

  utilizado entre os delphianos? Qual a vantagem em relação as versões Express 
do 

  SQL e do Oracle? Existem outros bancos free bons também, não? 

  --

  Eny Trova Urias

  Somos o que repetitivamente fazemos, portanto, a excelência não é um feito, 
mas 

  um hábito- Aristóteles

  [As partes desta mensagem que não continham texto foram removidas]

  [As partes desta mensagem que não continham texto foram removidas]



  

[As partes desta mensagem que não continham texto foram removidas]



[delphi-br] Duvida sobre NFe com serviço (ISS)

2010-07-15 Por tôpico Samuel M. Basso
Bom dia.

Gostaria de tirar alguns duvidas a respeito de nota fiscal eletronica com
NFe. Até onde sei notas de serviço eletronica não tem para todos as cidades
mas existe uma informacao que me passaram a respeito que se o contribuinte
tem Inscricao Estadual ele poderá emitir na NFe serviços e produtos juntos.
Isso procede?

Se sim, andei olhando o manual e tem campos para informar impostos ISS e um
item que solicita: Informar o Item da lista de serviços da LC 116/03 em que
se classifica o serviço. Isso seria como uma classificaçao fiscal de
produto? Vou ter que adicionar por exemplo um cadastro no sistema de lista
de serviços e aos serviços adicionados no sistema ele seleciona de qual
lista se classifica?  Idem produtos com classificaçao fiscal?



-- 
Atenciosamente,

Samuel M. Basso
Cel: (54) 8135-3723
Skype: samuelbasso
E-mail/MSN: samuelba...@gmail.com
Web site: www.otimizy.com.br


[As partes desta mensagem que não continham texto foram removidas]



[delphi-br] sql simples mas nao funciona

2010-07-15 Por tôpico alessandra porto
Preciso buscar todos os clientes que não possuem pedidos
tenho a tabela clientes e  a  tabela clientes 
já fiz    assim:

SELECT PED.*,CLI.CD_CLIENTE,CLI.FANTASIA
FROM  CLIENTE CLI
LEFT OUTER  JOIN PEDIDO PED ON (PED.CD_CLIENTE = CLI.CD_CLIENTE)
WHERE CLI.CD_CLIENTE NOT IN
  (SELECT DISTINCT PED.CD_CLIENTE FROM PEDIDO PED) ORDER BY CLI.FANTASIA

e nada


e quando faço assim retorna errado o numero de pedidos para os clientes pois 
muitos possuem mais de 01 pedido    e assim  só  apresenta  01 pedido


   SELECT
  CLI.CD_CLIENTE,
  PED.CD_CLIENTE,
  PED.CD_PEDIDO,
  count(PED.CD_PEDIDO) NPEDIDOS
  FROM PEDIDO PED
  LEFT OUTER JOIN CLIENTE CLI ON (CLI.CD_CLIENTE = PED.CD_CLIENTE )
  GROUP BY 1,2,3

agradeço aos amigos que colaborarem

preciso dos 2 tipos de  retorno  os que não   possuem e os que possuem   
qual  a quantidade?



  

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Desempenho Firebird

2010-07-15 Por tôpico Leonardo Quinino
Olhem mais uma matéria que pode ajudar nessa conversa,

Entendendo o 'lixo'  no BD
http://www.firebase.com.br/fb/artigo.php?id=2047
http://www.firebase.com.br/fb/artigo.php?id=2047

2010/7/15 Walter Chagas (Bol) wchag...@bol.com.br



 O que denegre o banco, ao meu ver, é que se ele exige ou pelo menos
 requeira um DBA para fazer o trabalho de ajuste e tunnagem do mesmo, aí vem
 muitas vezes o próprio desenvolvedor na base da fuçação mesmo pra tentar
 configurar. Acaba até configurando corretamente, mas depois de muito penar e
 gerar desgastes com o cliente. Muitos lugares, o desenvolvedor vai para uma
 filial, chega lá não tem nada estruturado para ele trabalhar e lá vai o cara
 atrasar seu cronograma e partir pro heroismo pra resolver problemas que não
 deveriam existir lá.

 A questão que vejo, é que muitas empresas e muitos cartolas nao entendem
 que no universo do desenvolvimento, cada macaco no seu galho. Banco de dados
 é com DBA, desenvolvimento é com o programador e levantamento de
 requisitos/mapeamento de processos é com o analista.

 []s


 Walter Alves Chagas Junior
 Belo Horizonte - MG - Brazil
 wchag...@bol.com.br wchagasj%40bol.com.br
 http://delphitocorporerm.blogspot.com/
 http://twitter.com/wchagas
 MSN: whitesock...@hotmail.com whitesockets%40hotmail.com
 SKYPE: WalterChagasJr


 - Original Message -
 From: Ricardo César Cardoso
 To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Sent: Wednesday, July 14, 2010 10:26 PM
 Subject: Re: [delphi-br] Desempenho Firebird

 Desconfio desse tipo de chute.

 Já vi gente dizendo Firebird em sistemas de missão critica (acho que um
 deles é o Bruno Lichot). Não posso dizer muito pois não tenho nenhum sistema
 de missão critica, mas posso dizer que no quesito VOLUME DE DADOS o FB
 aguenta o tranco. Um camarada aqui tem um sistema que já acumulou 40 GB de
 dados dos mais diversos na base e roda que é uma belezinha .Tem foto, áudio,
 vídeo e até planilhas e arquivos PDFs gravados no BD juntos com os campos de
 dados.

 Todo BD que trabalha em missão crítica (eu até diria que até mesmo o
 hardware) precisa de um tuning ou de refinamentos para melhorar a
 performance. A diferença é que no FB esse tipo de ajuste tem que ser feito
 pelo DBA no braço. Ou seja, não há wizards que fazem todo o trabalho pesado.
 Vc tem que conhecer os conceitos para saber exatamente o que está fazendo.

 Outros fatores são o processador em uso e a versão do BD que está usando
 (SuperClassic, ClassicServer, SuperServer) que pode oferecer mais
 refinamentos. Só por desencargo de consciência, indica pro teu amigo ler
 isso aqui (
 http://www.sinatica.com/blog/br/index.php/artigos/firebird-superserver-classicserver-ou-superclassic)
 e acompanhar a Lista Firebase BR.

 Um BD que tenho vontade (só vontade, pois tempo eu não tenho mesmo...) de
 testar é o PostGree é gratuito e aguenta o tranco como os majors, pelo menos
 é o que dizem.

 Uma última dúvida: que BD entrou no lugar do FB? Tanto o Oracle XE quando o
 SQL Server Express tem limitações quanto ao tamanho máximo que o arquivo do
 BD pode assumir (acho que 4Gb em ambos) e no Oracle ainda há a limitação de
 núcleos de processador (só usa 1 núcleo).

 Atte,
 Ricardo.

 1) Evite escrever suas mensagens usando somente LETRAS MAIÚSCULAS.

 2) Revise o texto de sua mensagem. Uma mensagem bem escrita é melhor
 compreendida.

 3) Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!

 --- Em qua, 14/7/10, Eny Urias 
 enyur...@yahoo.com.brenyurias%40yahoo.com.br
 escreveu:

 De: Eny Urias enyur...@yahoo.com.br enyurias%40yahoo.com.br
 Assunto: [delphi-br] Desempenho Firebird
 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Data: Quarta-feira, 14 de Julho de 2010, 10:26

 Acabei de falar com um amigo que trabalha numa empresa de rastreamento de

 veículos onde as informações chegam a cada milésimos de segundo e ele me
 disse

 exatamente assim:

 Tirei o firebird de todos os sistemas esta semana

 ficou 10

 80 % mais rápido

 foi a maior c...@#$ colocar aquele firebird

 a coisa cresceu e ele não dava conta

 ... posso dizer uma coisa os plantões estão muito mais sussegados...

 Eu sempre tive essa dúvida... Porque o Firebird ainda é tão divulgado e

 utilizado entre os delphianos? Qual a vantagem em relação as versões
 Express do

 SQL e do Oracle? Existem outros bancos free bons também, não?

 --

 Eny Trova Urias

 Somos o que repetitivamente fazemos, portanto, a excelência não é um
 feito, mas

 um hábito- Aristóteles

 [As partes desta mensagem que não continham texto foram removidas]

 [As partes desta mensagem que não continham texto foram removidas]

 [As partes desta mensagem que não continham texto foram removidas]

  




-- 
Leonardo Quinino


[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:

Res: [delphi-br] Desempenho Firebird

2010-07-15 Por tôpico Eny Urias
Taí... gostei!

Realmente acho que o ideal é fazer parcerias com quem realmente entende da 
coisa... Mas, vai falar isso pro dono da empresa! Acho que o que aconteceu com 
meu amigo foi exatamente isso... Uma pessoa que não está mais na empresa 
colocou 
o sistema pra rodar com o FB... aí ele foi embora porque teve uma proposta 
melhor e sobrou pro cara do suporte dar manutenção no banco que, depois que a 
coisa ficou grande, não soube mais o que fazer... Mas essa profissão de DBA 
ainda é escassa aqui no interior... Acho rara a empresa que tem um cara pra 
cuidar do banco...
Seria legal ter um parceiro para passar como deve ser configurado o banco, 
independente de qual seja.

Agradeços a todos pelos esclarecimentos!
--
Eny Trova Urias

Somos o que repetitivamente fazemos, portanto, a excelência não é um feito, 
mas 
um hábito- Aristóteles






De: Walter Chagas (Bol) wchag...@bol.com.br
Para: delphi-br@yahoogrupos.com.br
Enviadas: Quinta-feira, 15 de Julho de 2010 8:55:03
Assunto: Re: [delphi-br] Desempenho Firebird

  
O que denegre o banco, ao meu ver, é que se ele exige ou pelo menos requeira um 
DBA para fazer o trabalho de ajuste e tunnagem do mesmo, aí vem muitas vezes o 
próprio desenvolvedor na base da fuçação mesmo pra tentar configurar. Acaba até 
configurando corretamente, mas depois de muito penar e gerar desgastes com o 
cliente. Muitos lugares, o desenvolvedor vai para uma filial, chega lá não tem 
nada estruturado para ele trabalhar e lá vai o cara atrasar seu cronograma e 
partir pro heroismo pra resolver problemas que não deveriam existir lá.

A questão que vejo, é que muitas empresas e muitos cartolas nao entendem que no 
universo do desenvolvimento, cada macaco no seu galho. Banco de dados é com 
DBA, 
desenvolvimento é com o programador e levantamento de requisitos/mapeamento de 
processos é com o analista.

[]s


Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com
SKYPE: WalterChagasJr

- Original Message - 
From: Ricardo César Cardoso 
To: delphi-br@yahoogrupos.com.br 
Sent: Wednesday, July 14, 2010 10:26 PM
Subject: Re: [delphi-br] Desempenho Firebird

Desconfio desse tipo de chute. 

Já vi gente dizendo Firebird em sistemas de missão critica (acho que um deles é 
o Bruno Lichot). Não posso dizer muito pois não tenho nenhum sistema de missão 
critica, mas posso dizer que no quesito VOLUME DE DADOS o FB aguenta o tranco. 
Um camarada aqui tem um sistema que já acumulou 40 GB de dados dos mais 
diversos 
na base e roda que é uma belezinha .Tem foto, áudio, vídeo e até planilhas e 
arquivos PDFs gravados no BD juntos com os campos de dados.

Todo BD que trabalha em missão crítica (eu até diria que até mesmo o hardware) 
precisa de um tuning ou de refinamentos para melhorar a performance. A 
diferença 
é que no FB esse tipo de ajuste tem que ser feito pelo DBA no braço. Ou seja, 
não há wizards que fazem todo o trabalho pesado. Vc tem que conhecer os 
conceitos para saber exatamente o que está fazendo.

Outros fatores são o processador em uso e a versão do BD que está usando 
(SuperClassic, ClassicServer, SuperServer) que pode oferecer mais refinamentos. 
Só por desencargo de consciência, indica pro teu amigo ler isso aqui 
(http://www.sinatica.com/blog/br/index.php/artigos/firebird-superserver-classicserver-ou-superclassic)
 e acompanhar a Lista Firebase BR.

Um BD que tenho vontade (só vontade, pois tempo eu não tenho mesmo...) de 
testar 
é o PostGree é gratuito e aguenta o tranco como os majors, pelo menos é o que 
dizem.

Uma última dúvida: que BD entrou no lugar do FB? Tanto o Oracle XE quando o SQL 
Server Express tem limitações quanto ao tamanho máximo que o arquivo do BD pode 
assumir (acho que 4Gb em ambos) e no Oracle ainda há a limitação de núcleos de 
processador (só usa 1 núcleo).

Atte,
Ricardo.

1) Evite escrever suas mensagens usando somente LETRAS MAIÚSCULAS.

2) Revise o texto de sua mensagem. Uma mensagem bem escrita é melhor 
compreendida.

3) Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!

--- Em qua, 14/7/10, Eny Urias enyur...@yahoo.com.br escreveu:

De: Eny Urias enyur...@yahoo.com.br
Assunto: [delphi-br] Desempenho Firebird
Para: delphi-br@yahoogrupos.com.br
Data: Quarta-feira, 14 de Julho de 2010, 10:26

Acabei de falar com um amigo que trabalha numa empresa de rastreamento de 

veículos onde as informações chegam a cada milésimos de segundo e ele me disse 

exatamente assim:

Tirei o firebird de todos os sistemas esta semana

ficou 10

80 % mais rápido

foi a maior c...@#$ colocar aquele firebird

a coisa cresceu e ele não dava conta

... posso dizer uma coisa os plantões estão muito mais sussegados...

Eu sempre tive essa dúvida... Porque o Firebird ainda é tão divulgado e 

utilizado entre os delphianos? Qual a vantagem em relação as versões Express do 

SQL e do Oracle? Existem 

Re: [delphi-br] sql simples mas nao funciona

2010-07-15 Por tôpico Humberto Oliveira
A solução não é a melhor, porém funciona. É possível efetuar o select
utilizando-se de joins de várias maneiras.


/* Clientes que não possuem pedidos */
select CLI.*
from CLIENTE CLI
where not exists (select 1 from PEDIDO PED where PED.CD_CLIENTE =
CLI.CD_CLIENTE)

/* Clientes que possuem pedidos */
select CLI.*
from CLIENTE CLI
where exists (select 1 from PEDIDO PED where PED.CD_CLIENTE =
CLI.CD_CLIENTE)

- ou -

select CLI.*
from CLIENTE CLI join PEDIDO PED on (CLI.CD_CLIENTE = PED.CD_CLIENTE)


Espero ter colaborado.

Em 15 de julho de 2010 09:26, alessandra porto 
alessandraport...@yahoo.com.br escreveu:



 Preciso buscar todos os clientes que não possuem pedidos
 tenho a tabela clientes e  a  tabela clientes
 já fizassim:

 SELECT PED.*,CLI.CD_CLIENTE,CLI.FANTASIA
 FROM  CLIENTE CLI
 LEFT OUTER  JOIN PEDIDO PED ON (PED.CD_CLIENTE = CLI.CD_CLIENTE)
 WHERE CLI.CD_CLIENTE NOT IN
   (SELECT DISTINCT PED.CD_CLIENTE FROM PEDIDO PED) ORDER BY
 CLI.FANTASIA

 e nada

 e quando faço assim retorna errado o numero de pedidos para os clientes
 pois muitos possuem mais de 01 pedidoe assim  só  apresenta  01 pedido

SELECT
   CLI.CD_CLIENTE,
   PED.CD_CLIENTE,
   PED.CD_PEDIDO,
   count(PED.CD_PEDIDO) NPEDIDOS
   FROM PEDIDO PED
   LEFT OUTER JOIN CLIENTE CLI ON (CLI.CD_CLIENTE = PED.CD_CLIENTE )
   GROUP BY 1,2,3

 agradeço aos amigos que colaborarem

 preciso dos 2 tipos de  retorno  os que não   possuem e os que
 possuem   qual  a quantidade?

 [As partes desta mensagem que não continham texto foram removidas]

  



[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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [delphi-br] sql simples mas nao funciona resolvido

2010-07-15 Por tôpico alessandra porto

Valeu   amigos
resolvido



--- Em qui, 15/7/10, Humberto Oliveira holiveira.wordpr...@gmail.com escreveu:

De: Humberto Oliveira holiveira.wordpr...@gmail.com
Assunto: Re: [delphi-br] sql simples mas nao funciona
Para: delphi-br@yahoogrupos.com.br
Data: Quinta-feira, 15 de Julho de 2010, 10:24

A solução não é a melhor, porém funciona. É possível efetuar o select
utilizando-se de joins de várias maneiras.


/* Clientes que não possuem pedidos */
select CLI.*
from CLIENTE CLI
where not exists (select 1 from PEDIDO PED where PED.CD_CLIENTE =
CLI.CD_CLIENTE)

/* Clientes que possuem pedidos */
select CLI.*
from CLIENTE CLI
where exists (select 1 from PEDIDO PED where PED.CD_CLIENTE =
CLI.CD_CLIENTE)

- ou -

select CLI.*
from CLIENTE CLI join PEDIDO PED on (CLI.CD_CLIENTE = PED.CD_CLIENTE)


Espero ter colaborado.

Em 15 de julho de 2010 09:26, alessandra porto 
alessandraport...@yahoo.com.br escreveu:



 Preciso buscar todos os clientes que não possuem pedidos
 tenho a tabela clientes e  a  tabela clientes
 já fiz    assim:

 SELECT PED.*,CLI.CD_CLIENTE,CLI.FANTASIA
 FROM  CLIENTE CLI
 LEFT OUTER  JOIN PEDIDO PED ON (PED.CD_CLIENTE = CLI.CD_CLIENTE)
 WHERE CLI.CD_CLIENTE NOT IN
           (SELECT DISTINCT PED.CD_CLIENTE FROM PEDIDO PED) ORDER BY
 CLI.FANTASIA

 e nada

 e quando faço assim retorna errado o numero de pedidos para os clientes
 pois muitos possuem mais de 01 pedido    e assim  só  apresenta  01 pedido

        SELECT
       CLI.CD_CLIENTE,
       PED.CD_CLIENTE,
       PED.CD_PEDIDO,
       count(PED.CD_PEDIDO) NPEDIDOS
       FROM PEDIDO PED
       LEFT OUTER JOIN CLIENTE CLI ON (CLI.CD_CLIENTE = PED.CD_CLIENTE )
       GROUP BY 1,2,3

 agradeço aos amigos que colaborarem

 preciso dos 2 tipos de  retorno  os que não   possuem     e os que
 possuem   qual  a quantidade?

 [As partes desta mensagem que não continham texto foram removidas]

  



[As partes desta mensagem que não continham texto foram removidas]





-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 






  

[As partes desta mensagem que não continham texto foram removidas]



[delphi-br] Abrir aquivo txt no notepad

2010-07-15 Por tôpico Alisson
É possível abrir um arquivo txt no notepad com uma fonte pré-definida? Eu 
gostaria de usar a fonte Courier, pois se cada letra ocupar um tamanho 
diferente o texto fica todo desconfigurado.

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Abrir aquivo txt no notepad

2010-07-15 Por tôpico Marcos Abreu Ferreira
O notepad (bloco de notas) não aceita formatação de texto, é para trabalhar
com texto puro.

Em 15 de julho de 2010 11:03, Alisson alss...@yahoo.com.br escreveu:



 É possível abrir um arquivo txt no notepad com uma fonte pré-definida? Eu
 gostaria de usar a fonte Courier, pois se cada letra ocupar um tamanho
 diferente o texto fica todo desconfigurado.Trocar para: Só 
 Textodelphi-br-traditio...@yahoogrupos.com.br?subject=mudar+formato+de+envio:+Tradicional,
 Resenha 
 Diáriadelphi-br-dig...@yahoogrupos.com.br?subject=envio+de+email:+Resenha• 
 Sair
 do grupo delphi-br-unsubscr...@yahoogrupos.com.br?subject=sair+do+grupo• 
 Termos
 de uso http://br.yahoo.com/info/utos.html
.

 




-- 
Att,

Marcos A. Ferreira
São Paulo - Brasil
+55 11 9309-3936
+55 11 8905-9889

MSN: maferre...@hotmail.it
Google Talk: maferreira.f2
Skype: maferreira.f2
LinkedIn: http://www.linkedin.com/in/maferreira/

Esta mensagem pode conter informação confidencial e/ou privilegiada. Se você
não for o destinatário ou a pessoa autorizada a receber esta mensagem, não
pode usar, copiar, ou divulgar as informações nela contidas ou tomar
qualquer ação baseada nestas informações. Se você recebeu esta mensagem por
engano, por favor, avise imediatamente o remetente, respondendo o email e em
seguida, apague-o.
Agradecemos sua cooperação.

This message may contain confidential and/or privileged information. If you
are not the addressee or authorized to receive this for the addressee, you
must not use, copy, disclose or take any action based on this message or any
information herein. If you have received this message in error, please,
advise the sender immediately by reply e-mail and delete this message.
Thank you for your cooperation.

Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO
AMBIENTE.
ENVIRONMENT commitment and responsibility, think about Before Printing.


[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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [delphi-br] Abrir aquivo txt no notepad

2010-07-15 Por tôpico Walter Chagas (Bol)
Não. O Notepad exibe text puro sem formatação alguma.


[]s
 
 
Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com
SKYPE: WalterChagasJr


  - Original Message - 
  From: Alisson 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Thursday, July 15, 2010 11:03 AM
  Subject: [delphi-br] Abrir aquivo txt no notepad



  É possível abrir um arquivo txt no notepad com uma fonte pré-definida? Eu 
gostaria de usar a fonte Courier, pois se cada letra ocupar um tamanho 
diferente o texto fica todo desconfigurado.

  [As partes desta mensagem que não continham texto foram removidas]



  

[As partes desta mensagem que não continham texto foram removidas]



[delphi-br] Procurar Nome da tabela dentro da query

2010-07-15 Por tôpico Evaldo
Alguém tem algum algoritimo para capturar o nome da tabela a que se refere uma 
query?

por exemplo um objeto TsqlQuery com a instrução:

 ' select nome,telefone from CLIENTE where idcliente = :cliente ';

o algoritimo iria retornar 'CLIENTE'.


  

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Procurar Nome da tabela dentro da query

2010-07-15 Por tôpico Walter Chagas (Bol)
O problema é que a Query trabalha com um dataset e não específicamente com uma 
tabela. E, antes que você pergunte, o dataset depende é da sentença que ce 
jogou no banco. Portanto, se voce montou um SQL contendo joins, não dá mais pra 
referir a query a uma determinada tabela.



[]s
 
 
Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com
SKYPE: WalterChagasJr


  - Original Message - 
  From: Evaldo 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Thursday, July 15, 2010 11:41 AM
  Subject: [delphi-br] Procurar Nome da tabela dentro da query



  Alguém tem algum algoritimo para capturar o nome da tabela a que se refere 
uma 
  query?

  por exemplo um objeto TsqlQuery com a instrução:

  ' select nome,telefone from CLIENTE where idcliente = :cliente ';

  o algoritimo iria retornar 'CLIENTE'.

  [As partes desta mensagem que não continham texto foram removidas]



  

[As partes desta mensagem que não continham texto foram removidas]



RES: [delphi-br] Procurar Nome da tabela dentro da query

2010-07-15 Por tôpico Rubem Rocha
Não tem algoritmo ou fórmula mirabolante pra esse caso. Usando a função
Pos(), peque a posição da palavra ‘FROM’ e a posição da próxima cláusula
seguinte ao FROM (que pode ser WHERE, GROUP BY, HAVING, ORDER BY ou qualquer
uma outra, dependendo do banco de dados que estejas usando). Recorte a
string dentro desse faixa de posições e analise para obter o(s) nome(s)
da(s) tabela(s) desejada(s).

 

Sds.

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Evaldo
Enviada em: quinta-feira, 15 de julho de 2010 10:41
Para: delphi-br@yahoogrupos.com.br
Assunto: [delphi-br] Procurar Nome da tabela dentro da query

 

  

Alguém tem algum algoritimo para capturar o nome da tabela a que se refere
uma 
query?

por exemplo um objeto TsqlQuery com a instrução:

' select nome,telefone from CLIENTE where idcliente = :cliente ';

o algoritimo iria retornar 'CLIENTE'.




 



[As partes desta mensagem que não continham texto foram removidas]



Re: RES: [delphi-br] MethodAddress retornando NIL

2010-07-15 Por tôpico jalosii
Implementei sem problemas na semana passada em um sistema meu.

Qual o real problema que vc está tendo?

Sua procedure seria assim:

unit Unit2;
interface
uses ...;
type
  TForm2 = class(TForm)
  ...
  private
procedure ExecMethod(NoObjecto: TObject; Nome_Metodo: String);
  ...
var
  Form2: TForm2;
type  //tem que ser aqui, não sei explicar por que, mas se por acima do 
form no mesmo type causa erro
  TExec = procedure of object;
...

procedure TForm2.ExecMethod(NoObjecto: TObject; Nome_Metodo: String);
var
  Rotina: TMethod;
  Exec: TExec;
begin
  Rotina.Data := Pointer(NoObjeto);
  Rotina.Code := NoObjeto.MethodAddress(Nome_Metodo);//Aqui que causa 
erro pra vc?
  if not Assigned(Rotina.Code) then
exit;
  Exec := TExec(Rotina);
  Exec;
end;

...

O que eu percebi é se o método que vc quer chamar nã estiver nas 
declarações do FORM no lugar certo, o MethodAddress não encontra, tentei 
por em private e não achou, troquei o local da declaração pra acima do 
private e funcionou, no meu caso chamo uma procedure de outro form, pra 
que nesse não tenha acesso a banco de dados e está funcionando.


Verifique teu código e se tiver mais erros nos avise pra ver se pudemos 
lhe ajudar.

Alosi
DigitalSystem
Bento Gonçalves-RS


eric_developer escreveu:
 isso é muito diferente do que preciso, mesmo assim obrigado.

 --- Em delphi-br@yahoogrupos.com.br, Fabricio Colombo 
 fabricio.colombo@... escreveu
   
 Para o método SetFocus, seria melhor vc chamar direto o método. Por exemplo,
 se vc estiver em um form, bastaria chamar

 Self.FocusControl(edit1)

 ou vc cria um método seu

 procedure TForm1.SetFocusComponent(AComponent: TComponent);
 begin
   if AComponent is TWinControl then
 TWinControl(AComponent).SetFocus;
 end;

 Que outros métodos vc precisa invocar? Praticamente todos os métodos comuns
 entre os componentes visuais, estão presentes em TControl e TWinControl, que
 são as classes base.



 Em 14 de julho de 2010 20:49, eric_developer
 developer.syst...@...escreveu:

 
 executar métodos, irei passar para minha função, o objeto e a string com o
 nome do método, exemplo:

 myCallMethod( edit1, 'SETFOCUS' ) ;

 --- Em delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br,
 Fabricio Colombo fabricio.colombo.mva@ escreveu

   
 O que vc está pretendendo fazer Eric?

 Em 14 de julho de 2010 16:02, Mário Guedes jmarioguedes@escreveu:
 
 Eu fiz assim:



   
 http://eugostododelphi.blogspot.com/2010/04/como-executar-um-metodo-pelo-nome.html
   
 *José Mário Silva Guedes*
 e-mail: jmarioguedes@ jmarioguedes%40gmail.com
   
 [As partes desta mensagem que não continham texto foram removidas]



   
 [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] Adicionar colunas em TcxGrid

2010-07-15 Por tôpico João Carlos
  Talvez isso te ajude,

for iAux:=1 to iNum_Parcelas do
begin
gridCronogramaBanda.CreateColumn.DataBinding.FieldName:= 
sTitulo+'_'+IntToStr(iAux);
end;

João Carlos

Em 15/07/2010 01:03, Vinicius Santos escreveu:
 Em 14-07-2010 17:04, Murilo Cunha escreveu:

 Pessoal,

 Como eu faço para adicionar colunas em meu TcxGrid (grid da DevExpress)??

 Obrigado
 MuriloCunha
 Faz 1 mês que não vejo a cara do DevExpress(infelizmente) por isso não
 consigo te passar de cabeça, minha memória sempre me deixa na mão...

 Mas na documentação tem muita coisa e utilize a base de conhecimento
 deles em www.devexpress.com

 A base conhecimento deles é nota 10!!




Re: [delphi-br] sql simples mas nao funciona

2010-07-15 Por tôpico Fabricio Colombo
No primeiro caso, acredito que o not exists funciona

SELECT PED.*,CLI.CD_CLIENTE,CLI.FANTASIA
FROM  CLIENTE CLI
LEFT OUTER  JOIN PEDIDO PED ON (PED.CD_CLIENTE = CLI.CD_CLIENTE)
WHERE NOT EXISTS(SELECT PED.CD_CLIENTE FROM PEDIDO PED
 WHERE CLI.CD_CLIENTE = PED.CD_CLIENTE)
ORDER BY CLI.FANTASIA

No Segundo caso, vc não pode incluir o numero do pedido no select

SELECT CLI.CD_CLIENTE,
  count(PED.CD_PEDIDO) NPEDIDOS
  FROM PEDIDO PED
  LEFT OUTER JOIN CLIENTE CLI ON (CLI.CD_CLIENTE = PED.CD_CLIENTE )
  GROUP BY 1

Em 15 de julho de 2010 09:26, alessandra porto 
alessandraport...@yahoo.com.br escreveu:



 Preciso buscar todos os clientes que não possuem pedidos
 tenho a tabela clientes e  a  tabela clientes
 já fizassim:

 SELECT PED.*,CLI.CD_CLIENTE,CLI.FANTASIA
 FROM  CLIENTE CLI
 LEFT OUTER  JOIN PEDIDO PED ON (PED.CD_CLIENTE = CLI.CD_CLIENTE)
 WHERE CLI.CD_CLIENTE NOT IN
   (SELECT DISTINCT PED.CD_CLIENTE FROM PEDIDO PED) ORDER BY
 CLI.FANTASIA

 e nada

 e quando faço assim retorna errado o numero de pedidos para os clientes
 pois muitos possuem mais de 01 pedidoe assim  só  apresenta  01 pedido

SELECT
   CLI.CD_CLIENTE,
   PED.CD_CLIENTE,
   PED.CD_PEDIDO,
   count(PED.CD_PEDIDO) NPEDIDOS
   FROM PEDIDO PED
   LEFT OUTER JOIN CLIENTE CLI ON (CLI.CD_CLIENTE = PED.CD_CLIENTE )
   GROUP BY 1,2,3

 agradeço aos amigos que colaborarem

 preciso dos 2 tipos de  retorno  os que não   possuem e os que
 possuem   qual  a quantidade?

 [As partes desta mensagem que não continham texto foram removidas]

  



[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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [delphi-br] Dúvida com StringGrid

2010-07-15 Por tôpico Domingos
Ok, funcionou

Muito obrigado Fabrício e os demais

[]'s

Em 14 de julho de 2010 14:16, Fabricio Colombo 
fabricio.colombo@gmail.com escreveu:

 crie um método conforme abaixo, e associe ao stringgrid dinamicamente

 procedure TForm1.StringGridDrawCell(Sender: TObject; ACol, ARow:
 Integer;Rect: TRect; State: TGridDrawState);
 begin
  with TStringGrid(Sender) do
  begin
if (ACol  FixedCols-1) and (ARow  FixedRows-1) then
begin
  if Odd(ARow) then
Canvas.Brush.Color := clYellow
  else
Canvas.Brush.Color := clWhite;

  Canvas.FillRect(Rect);
end;
  end;
 end;


 var
  vStringGrid: TStringGrid;
 begin
  vStringGrid := TStringGrid.Create(Self);
  vStringGrid.Parent := Self;
  vStringGrid.OnDrawCell := StringGridDrawCell;

 Em 14 de julho de 2010 10:06, Domingos domingosp...@gmail.com escreveu:

 
 
  É verdade, havia me esquecido de Parent da classe TComponent, né?
 
  Funcionou tudo bem, agora aproveitar a deixa, vocês sabem uma maneira
  eficiente de zebrar os Grids criados em tempo de execução?
 
  Em 13 de julho de 2010 22:21, Fabricio Colombo 
  fabricio.colombo@gmail.com fabricio.colombo.mva%40gmail.com
  escreveu:
 
 
   Vc tem que definir o Parent do TStringGrid criado.
  
   Em 13 de julho de 2010 10:32, Domingos domingosp...@gmail.com
 domingospawn%40gmail.com
  escreveu:
  
   
   
Olá, bom dia a todos
   
Estou com a seguinte dúvida, preciso criar dinamicamente StringGrids
 em
   um
form, eu consigo criar um Array de StringGrids e setando o tamanho
   executar
o Create da classe TStringGrid, porém eles não são exibidos no form,
   alguém
pode me ajudar?
   
Eu utilizo Delphi 6
   
Obrigado
   
--
Att,
Domingos J. M. de Souza
GTalk / MSN: domingosp...@gmail.com domingospawn%40gmail.com
 domingospawn%
  40gmail.com
 
Skype: domingospawn
   
Imagination is more important than knowledge. - Albert Einstein
   
[As partes desta mensagem que não continham texto foram removidas]
   
   
   
  
  
   [As partes desta mensagem que não continham texto foram removidas]
  
  
  
   
  
   --
 
FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 
  
  
  
  
 
  --
  Att,
  Domingos J. M. de Souza
  GTalk / MSN: domingosp...@gmail.com domingospawn%40gmail.com
  Skype: domingospawn
 
  Imagination is more important than knowledge. - Albert Einstein
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 


 [As partes desta mensagem que não continham texto foram removidas]



 

 --
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 






-- 
Att,
Domingos J. M. de Souza
GTalk / MSN: domingosp...@gmail.com
Skype: domingospawn

Imagination is more important than knowledge.  - Albert Einstein


[As partes desta mensagem que não continham texto foram removidas]



Re: RES: [delphi-br] MethodAddress retornando NIL

2010-07-15 Por tôpico eric_developer
Alosi,

Desta forma eu também já tinha encontrado na internet e na documentação.
Veja que se você usar sua rotina como exemplifiquei anteriormente, não 
funcionará:

ExecMethod( edit1, 'SETFOCUS' )


--- Em delphi-br@yahoogrupos.com.br, jalosii jalo...@... escreveu

 Implementei sem problemas na semana passada em um sistema meu.
 
 Qual o real problema que vc está tendo?
 
 Sua procedure seria assim:
 
 unit Unit2;
 interface
 uses ...;
 type
   TForm2 = class(TForm)
   ...
   private
 procedure ExecMethod(NoObjecto: TObject; Nome_Metodo: String);
   ...
 var
   Form2: TForm2;
 type  //tem que ser aqui, não sei explicar por que, mas se por acima do 
 form no mesmo type causa erro
   TExec = procedure of object;
 ...
 
 procedure TForm2.ExecMethod(NoObjecto: TObject; Nome_Metodo: String);
 var
   Rotina: TMethod;
   Exec: TExec;
 begin
   Rotina.Data := Pointer(NoObjeto);
   Rotina.Code := NoObjeto.MethodAddress(Nome_Metodo);//Aqui que causa 
 erro pra vc?
   if not Assigned(Rotina.Code) then
 exit;
   Exec := TExec(Rotina);
   Exec;
 end;
 
 ...
 
 O que eu percebi é se o método que vc quer chamar nã estiver nas 
 declarações do FORM no lugar certo, o MethodAddress não encontra, tentei 
 por em private e não achou, troquei o local da declaração pra acima do 
 private e funcionou, no meu caso chamo uma procedure de outro form, pra 
 que nesse não tenha acesso a banco de dados e está funcionando.
 
 
 Verifique teu código e se tiver mais erros nos avise pra ver se pudemos 
 lhe ajudar.
 
 Alosi
 DigitalSystem
 Bento Gonçalves-RS




RES: RES: [delphi-br] MethodAddress retornando NIL

2010-07-15 Por tôpico Rubem Rocha
Eric, se você pensa em implementar algum tipo de automação em seus
aplicativos, envolvendo a manipulação de elementos nele contidos, sugiro
você pesquisar sobre ferramentas de scripting para Delphi. Uma boa
alternativa, free e de código fonte aberto, é o PascalScript, da RemObjects
(http://www.remobjects.com/ps).

 

Caso não seja essa a sua necessidade, explique-a melhor, com riqueza de
detalhes, para que possamos discutir uma alternativa técnica para tal.

 

Sds.

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de eric_developer
Enviada em: quinta-feira, 15 de julho de 2010 12:07
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] MethodAddress retornando NIL

 

  

Alosi,

Desta forma eu também já tinha encontrado na internet e na documentação.
Veja que se você usar sua rotina como exemplifiquei anteriormente, não
funcionará:

ExecMethod( edit1, 'SETFOCUS' )

--- Em delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
, jalosii jalo...@... escreveu

 Implementei sem problemas na semana passada em um sistema meu.
 
 Qual o real problema que vc está tendo?
 
 Sua procedure seria assim:
 
 unit Unit2;
 interface
 uses ...;
 type
 TForm2 = class(TForm)
 ...
 private
 procedure ExecMethod(NoObjecto: TObject; Nome_Metodo: String);
 ...
 var
 Form2: TForm2;
 type //tem que ser aqui, não sei explicar por que, mas se por acima do 
 form no mesmo type causa erro
 TExec = procedure of object;
 ...
 
 procedure TForm2.ExecMethod(NoObjecto: TObject; Nome_Metodo: String);
 var
 Rotina: TMethod;
 Exec: TExec;
 begin
 Rotina.Data := Pointer(NoObjeto);
 Rotina.Code := NoObjeto.MethodAddress(Nome_Metodo);//Aqui que causa 
 erro pra vc?
 if not Assigned(Rotina.Code) then
 exit;
 Exec := TExec(Rotina);
 Exec;
 end;
 
 ...
 
 O que eu percebi é se o método que vc quer chamar nã estiver nas 
 declarações do FORM no lugar certo, o MethodAddress não encontra, tentei 
 por em private e não achou, troquei o local da declaração pra acima do 
 private e funcionou, no meu caso chamo uma procedure de outro form, pra 
 que nesse não tenha acesso a banco de dados e está funcionando.
 
 
 Verifique teu código e se tiver mais erros nos avise pra ver se pudemos 
 lhe ajudar.
 
 Alosi
 DigitalSystem
 Bento Gonçalves-RS

 



[As partes desta mensagem que não continham texto foram removidas]



Re: Res: [delphi-br] Desempenho Firebird

2010-07-15 Por tôpico Ricardo César Cardoso
Desculpe a pergunta um tanto pessoal, mas onde vc está nesse interiorzão de SP, 
Eny?

Eu até pensei em insistir na carreira de DBA, mas sempre pinta aquela 
insegurança... Eu gosto muito de BD mas gosto bastante de desenvolvimento tb... 

Atte,
Ricardo.

1) Evite escrever suas mensagens usando somente LETRAS MAIÚSCULAS.

2) Revise o texto de sua mensagem. Uma mensagem bem escrita é melhor 
compreendida.

3) Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!

--- Em qui, 15/7/10, Eny Urias enyur...@yahoo.com.br escreveu:

De: Eny Urias enyur...@yahoo.com.br
Assunto: Res: [delphi-br] Desempenho Firebird
Para: delphi-br@yahoogrupos.com.br
Data: Quinta-feira, 15 de Julho de 2010, 10:07







 



  



  
  
  Taí... gostei!



Realmente acho que o ideal é fazer parcerias com quem realmente entende da 

coisa... Mas, vai falar isso pro dono da empresa! Acho que o que aconteceu com 

meu amigo foi exatamente isso... Uma pessoa que não está mais na empresa 
colocou 

o sistema pra rodar com o FB... aí ele foi embora porque teve uma proposta 

melhor e sobrou pro cara do suporte dar manutenção no banco que, depois que a 

coisa ficou grande, não soube mais o que fazer... Mas essa profissão de DBA 

ainda é escassa aqui no interior... Acho rara a empresa que tem um cara pra 

cuidar do banco...

Seria legal ter um parceiro para passar como deve ser configurado o banco, 

independente de qual seja.



Agradeços a todos pelos esclarecimentos!

--

Eny Trova Urias



Somos o que repetitivamente fazemos, portanto, a excelência não é um feito, 
mas 

um hábito- Aristóteles





De: Walter Chagas (Bol) wchag...@bol.com.br

Para: delphi-br@yahoogrupos.com.br

Enviadas: Quinta-feira, 15 de Julho de 2010 8:55:03

Assunto: Re: [delphi-br] Desempenho Firebird



O que denegre o banco, ao meu ver, é que se ele exige ou pelo menos requeira um 

DBA para fazer o trabalho de ajuste e tunnagem do mesmo, aí vem muitas vezes o 

próprio desenvolvedor na base da fuçação mesmo pra tentar configurar. Acaba até 

configurando corretamente, mas depois de muito penar e gerar desgastes com o 

cliente. Muitos lugares, o desenvolvedor vai para uma filial, chega lá não tem 

nada estruturado para ele trabalhar e lá vai o cara atrasar seu cronograma e 

partir pro heroismo pra resolver problemas que não deveriam existir lá.



A questão que vejo, é que muitas empresas e muitos cartolas nao entendem que no 

universo do desenvolvimento, cada macaco no seu galho. Banco de dados é com 
DBA, 

desenvolvimento é com o programador e levantamento de requisitos/mapeamento de 

processos é com o analista.



[]s



Walter Alves Chagas Junior

Belo Horizonte - MG - Brazil

wchag...@bol.com.br

http://delphitocorporerm.blogspot.com/

http://twitter.com/wchagas

MSN: whitesock...@hotmail.com

SKYPE: WalterChagasJr



- Original Message - 

From: Ricardo César Cardoso 

To: delphi-br@yahoogrupos.com.br 

Sent: Wednesday, July 14, 2010 10:26 PM

Subject: Re: [delphi-br] Desempenho Firebird



Desconfio desse tipo de chute. 



Já vi gente dizendo Firebird em sistemas de missão critica (acho que um deles é 

o Bruno Lichot). Não posso dizer muito pois não tenho nenhum sistema de missão 

critica, mas posso dizer que no quesito VOLUME DE DADOS o FB aguenta o tranco. 

Um camarada aqui tem um sistema que já acumulou 40 GB de dados dos mais 
diversos 

na base e roda que é uma belezinha .Tem foto, áudio, vídeo e até planilhas e 

arquivos PDFs gravados no BD juntos com os campos de dados.



Todo BD que trabalha em missão crítica (eu até diria que até mesmo o hardware) 

precisa de um tuning ou de refinamentos para melhorar a performance. A 
diferença 

é que no FB esse tipo de ajuste tem que ser feito pelo DBA no braço. Ou seja, 

não há wizards que fazem todo o trabalho pesado. Vc tem que conhecer os 

conceitos para saber exatamente o que está fazendo.



Outros fatores são o processador em uso e a versão do BD que está usando 

(SuperClassic, ClassicServer, SuperServer) que pode oferecer mais refinamentos. 

Só por desencargo de consciência, indica pro teu amigo ler isso aqui 

(http://www.sinatica.com/blog/br/index.php/artigos/firebird-superserver-classicserver-ou-superclassic)

 e acompanhar a Lista Firebase BR.



Um BD que tenho vontade (só vontade, pois tempo eu não tenho mesmo...) de 
testar 

é o PostGree é gratuito e aguenta o tranco como os majors, pelo menos é o que 

dizem.



Uma última dúvida: que BD entrou no lugar do FB? Tanto o Oracle XE quando o SQL 

Server Express tem limitações quanto ao tamanho máximo que o arquivo do BD pode 

assumir (acho que 4Gb em ambos) e no Oracle ainda há a limitação de núcleos de 

processador (só usa 1 núcleo).



Atte,

Ricardo.



1) Evite escrever suas mensagens usando somente LETRAS MAIÚSCULAS.



2) Revise o texto de sua mensagem. Uma mensagem bem escrita é melhor 

compreendida.



3) Vamos ajudar o Grupo e o Yahoo! Apague o 

Re: RES: RES: [delphi-br] MethodAddress retornando NIL

2010-07-15 Por tôpico eric_developer
Colega, não é executar Scripts, por favor veja o que ja postamos.

o pequeno e completo exemplo que foi postado, esta bem claro e fácil, é uma 
pena que há restrições e não consegui montar nada equivalente.

O que faço facilmente em outra linguagem estruturada com poucos recursos OOP, 
parece ser mosca branca de zóio verde ou extravagante demais em Delphi rsrs.

Só me resta aguardar, tentar outros caminhos ou desistir disso, o que acho tão 
simples, é um mistérios aos demais. Fiz uma pesquisa aqui, achei um colega 
querendo o mesmo (tópico de uns 2 anos), entrei em contato com ele e até hoje 
não conseguiu.

--- Em delphi-br@yahoogrupos.com.br, Rubem Rocha rubem.ro...@... escreveu

 Eric, se você pensa em implementar algum tipo de automação em seus
 aplicativos, envolvendo a manipulação de elementos nele contidos, sugiro
 você pesquisar sobre ferramentas de scripting para Delphi. Uma boa
 alternativa, free e de código fonte aberto, é o PascalScript, da RemObjects
 (http://www.remobjects.com/ps).
 
  
 
 Caso não seja essa a sua necessidade, explique-a melhor, com riqueza de
 detalhes, para que possamos discutir uma alternativa técnica para tal.
 
  
 
 Sds.
 
  
 
 De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
 nome de eric_developer
 Enviada em: quinta-feira, 15 de julho de 2010 12:07
 Para: delphi-br@yahoogrupos.com.br
 Assunto: Re: RES: [delphi-br] MethodAddress retornando NIL
 
  
 
   
 
 Alosi,
 
 Desta forma eu também já tinha encontrado na internet e na documentação.
 Veja que se você usar sua rotina como exemplifiquei anteriormente, não
 funcionará:
 
 ExecMethod( edit1, 'SETFOCUS' )
 
 --- Em delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
 , jalosii jalosii@ escreveu
 
  Implementei sem problemas na semana passada em um sistema meu.
  
  Qual o real problema que vc está tendo?
  
  Sua procedure seria assim:
  
  unit Unit2;
  interface
  uses ...;
  type
  TForm2 = class(TForm)
  ...
  private
  procedure ExecMethod(NoObjecto: TObject; Nome_Metodo: String);
  ...
  var
  Form2: TForm2;
  type //tem que ser aqui, não sei explicar por que, mas se por acima do 
  form no mesmo type causa erro
  TExec = procedure of object;
  ...
  
  procedure TForm2.ExecMethod(NoObjecto: TObject; Nome_Metodo: String);
  var
  Rotina: TMethod;
  Exec: TExec;
  begin
  Rotina.Data := Pointer(NoObjeto);
  Rotina.Code := NoObjeto.MethodAddress(Nome_Metodo);//Aqui que causa 
  erro pra vc?
  if not Assigned(Rotina.Code) then
  exit;
  Exec := TExec(Rotina);
  Exec;
  end;
  
  ...
  
  O que eu percebi é se o método que vc quer chamar nã estiver nas 
  declarações do FORM no lugar certo, o MethodAddress não encontra, tentei 
  por em private e não achou, troquei o local da declaração pra acima do 
  private e funcionou, no meu caso chamo uma procedure de outro form, pra 
  que nesse não tenha acesso a banco de dados e está funcionando.
  
  
  Verifique teu código e se tiver mais erros nos avise pra ver se pudemos 
  lhe ajudar.
  
  Alosi
  DigitalSystem
  Bento Gonçalves-RS
 
  
 
 
 
 [As partes desta mensagem que não continham texto foram removidas]





RES: RES: RES: [delphi-br] MethodAddress retornando NIL

2010-07-15 Por tôpico Rubem Rocha
Se você quer usar algo parecido com macro-substituição, o Delphi não dá
suporte para isso, porquê simplesmente isso não é previsto na sua
arquitetura. Em linguagens interpretadas, como o PHP, ou
pseudo-interpretadas, como o (ainda vivo) Clipper, isso é possível (ou seja,
pode ser ‘mamão com açúcar’, pois a arquitetura dessas linguagens assim o
permite.

 

Eu entendi o seu objetivo, por isso mesmo que sugeri uma ferramenta para
scripting, por ser mais fácil nessa abordagem fazer tais chamadas dinâmicas,
visto que um script pode ter código que pode ser criado e atribuído aos
eventos de um objeto em tempo de execução e, ainda, poder ser chamado
facilmente pelo seu nome.

 

Sds.

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de eric_developer
Enviada em: quinta-feira, 15 de julho de 2010 13:22
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: RES: [delphi-br] MethodAddress retornando NIL

 

  

Colega, não é executar Scripts, por favor veja o que ja postamos.

o pequeno e completo exemplo que foi postado, esta bem claro e fácil, é uma
pena que há restrições e não consegui montar nada equivalente.

O que faço facilmente em outra linguagem estruturada com poucos recursos
OOP, parece ser mosca branca de zóio verde ou extravagante demais em Delphi
rsrs.

Só me resta aguardar, tentar outros caminhos ou desistir disso, o que acho
tão simples, é um mistérios aos demais. Fiz uma pesquisa aqui, achei um
colega querendo o mesmo (tópico de uns 2 anos), entrei em contato com ele e
até hoje não conseguiu.

--- Em delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
, Rubem Rocha rubem.ro...@... escreveu

 Eric, se você pensa em implementar algum tipo de automação em seus
 aplicativos, envolvendo a manipulação de elementos nele contidos, sugiro
 você pesquisar sobre ferramentas de scripting para Delphi. Uma boa
 alternativa, free e de código fonte aberto, é o PascalScript, da
RemObjects
 (http://www.remobjects.com/ps).
 
 
 
 Caso não seja essa a sua necessidade, explique-a melhor, com riqueza de
 detalhes, para que possamos discutir uma alternativa técnica para tal.
 
 
 
 Sds.
 
 
 
 De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
] Em
 nome de eric_developer
 Enviada em: quinta-feira, 15 de julho de 2010 12:07
 Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br

 Assunto: Re: RES: [delphi-br] MethodAddress retornando NIL
 
 
 
 
 
 Alosi,
 
 Desta forma eu também já tinha encontrado na internet e na documentação.
 Veja que se você usar sua rotina como exemplifiquei anteriormente, não
 funcionará:
 
 ExecMethod( edit1, 'SETFOCUS' )
 
 --- Em delphi-br@yahoogrupos.com.br
mailto:delphi-br%40yahoogrupos.com.br
mailto:delphi-br%40yahoogrupos.com.br
 , jalosii jalosii@ escreveu
 
  Implementei sem problemas na semana passada em um sistema meu.
  
  Qual o real problema que vc está tendo?
  
  Sua procedure seria assim:
  
  unit Unit2;
  interface
  uses ...;
  type
  TForm2 = class(TForm)
  ...
  private
  procedure ExecMethod(NoObjecto: TObject; Nome_Metodo: String);
  ...
  var
  Form2: TForm2;
  type //tem que ser aqui, não sei explicar por que, mas se por acima do 
  form no mesmo type causa erro
  TExec = procedure of object;
  ...
  
  procedure TForm2.ExecMethod(NoObjecto: TObject; Nome_Metodo: String);
  var
  Rotina: TMethod;
  Exec: TExec;
  begin
  Rotina.Data := Pointer(NoObjeto);
  Rotina.Code := NoObjeto.MethodAddress(Nome_Metodo);//Aqui que causa 
  erro pra vc?
  if not Assigned(Rotina.Code) then
  exit;
  Exec := TExec(Rotina);
  Exec;
  end;
  
  ...
  
  O que eu percebi é se o método que vc quer chamar nã estiver nas 
  declarações do FORM no lugar certo, o MethodAddress não encontra, tentei

  por em private e não achou, troquei o local da declaração pra acima do 
  private e funcionou, no meu caso chamo uma procedure de outro form, pra 
  que nesse não tenha acesso a banco de dados e está funcionando.
  
  
  Verifique teu código e se tiver mais erros nos avise pra ver se pudemos 
  lhe ajudar.
  
  Alosi
  DigitalSystem
  Bento Gonçalves-RS
 



 



[As partes desta mensagem que não continham texto foram removidas]



[delphi-br] [JOB] Procuro estagiario em recife

2010-07-15 Por tôpico Rafael Jorge
estagio em delphi aqui na empresa que fica em recife - pernambuco.
quem tiver disponivel por favor mande seu curriculo para rafajo...@gmail.com
nao esquecer de informar os horarios disponiveis
t+

-- 
_
Rafael jorge alves
Desenvolvedor/analista
Ativa Soluções em TI.
Recife - PE


[As partes desta mensagem que não continham texto foram removidas]



Re: RES: RES: RES: [delphi-br] MethodAddress retornando NIL

2010-07-15 Por tôpico eric_developer
Errado Rubem, quando me referi que faço (não é comum outros usarem OOP no nível 
que utilizo) em outra linguagem, não é via macro-substituição, e conforme o 
caso isso é um péssimo hábito, mas tudo isso não importa.
Ficar nas teorias disso ou aquilo não vamos sair do lugar.

Delphi é uma linguagem que usa muito OOP, o que quero é uma pequena manipulação 
que já esta no objeto, não considero nada de radical para a linguagem fazer, 
veja que eu estaria passando o objeto o que não tornaria o processo as cegas, 
não é caso para scripts.

Enfim, vamos deixar isso pendente, pois mais de 2000 maneiras de não 
conseguir fazer é facil, o objetivo é uma que ajude a resolver.

Grato,
Eric

--- Em delphi-br@yahoogrupos.com.br, Rubem Rocha rubem.ro...@... escreveu

 Se você quer usar algo parecido com macro-substituição, o Delphi não dá
 suporte para isso, porquê simplesmente isso não é previsto na sua
 arquitetura. Em linguagens interpretadas, como o PHP, ou
 pseudo-interpretadas, como o (ainda vivo) Clipper, isso é possível (ou seja,
 pode ser `mamão com açúcar', pois a arquitetura dessas linguagens assim o
 permite.
 
  
 
 Eu entendi o seu objetivo, por isso mesmo que sugeri uma ferramenta para
 scripting, por ser mais fácil nessa abordagem fazer tais chamadas dinâmicas,
 visto que um script pode ter código que pode ser criado e atribuído aos
 eventos de um objeto em tempo de execução e, ainda, poder ser chamado
 facilmente pelo seu nome.
 
  
 
 Sds.




Re: RES: [delphi-br] Procurar Nome da tabela dentro da query

2010-07-15 Por tôpico Evaldo
Obrigado, achei que alguém podesse ter um parser para fazer isto.








From: Rubem Rocha rubem.ro...@dtmanaus.com.br
To: delphi-br@yahoogrupos.com.br
Sent: Thu, July 15, 2010 11:52:45 AM
Subject: RES: [delphi-br] Procurar Nome da tabela dentro da query

  
Não tem algoritmo ou fórmula mirabolante pra esse caso. Usando a função
Pos(), peque a posição da palavra ‘FROM’ e a posição da próxima cláusula
seguinte ao FROM (que pode ser WHERE, GROUP BY, HAVING, ORDER BY ou qualquer
uma outra, dependendo do banco de dados que estejas usando). Recorte a
string dentro desse faixa de posições e analise para obter o(s) nome(s)
da(s) tabela(s) desejada(s).

Sds.

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Evaldo
Enviada em: quinta-feira, 15 de julho de 2010 10:41
Para: delphi-br@yahoogrupos.com.br
Assunto: [delphi-br] Procurar Nome da tabela dentro da query

Alguém tem algum algoritimo para capturar o nome da tabela a que se refere
uma 
query?

por exemplo um objeto TsqlQuery com a instrução:

' select nome,telefone from CLIENTE where idcliente = :cliente ';

o algoritimo iria retornar 'CLIENTE'.


  

[As partes desta mensagem que não continham texto foram removidas]



RES: RES: [delphi-br] Procurar Nome da tabela dentro da query

2010-07-15 Por tôpico Rubem Rocha
Pode ser que existam parsers mas, como podes constatar que isso é bem simples, 
nada impede que você possa construir o seu próprio parser. Boa sorte. Sds.

 

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome 
de Evaldo
Enviada em: quinta-feira, 15 de julho de 2010 14:25
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] Procurar Nome da tabela dentro da query

 

  

Obrigado, achei que alguém podesse ter um parser para fazer isto.


From: Rubem Rocha rubem.ro...@dtmanaus.com.br 
mailto:rubem.rocha%40dtmanaus.com.br 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Sent: Thu, July 15, 2010 11:52:45 AM
Subject: RES: [delphi-br] Procurar Nome da tabela dentro da query

Não tem algoritmo ou fórmula mirabolante pra esse caso. Usando a função
Pos(), peque a posição da palavra ‘FROM’ e a posição da próxima cláusula
seguinte ao FROM (que pode ser WHERE, GROUP BY, HAVING, ORDER BY ou qualquer
uma outra, dependendo do banco de dados que estejas usando). Recorte a
string dentro desse faixa de posições e analise para obter o(s) nome(s)
da(s) tabela(s) desejada(s).

Sds.

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] 
Em
nome de Evaldo
Enviada em: quinta-feira, 15 de julho de 2010 10:41
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Assunto: [delphi-br] Procurar Nome da tabela dentro da query

Alguém tem algum algoritimo para capturar o nome da tabela a que se refere
uma 
query?

por exemplo um objeto TsqlQuery com a instrução:

' select nome,telefone from CLIENTE where idcliente = :cliente ';

o algoritimo iria retornar 'CLIENTE'.




 



[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Abrir aquivo txt no notepad

2010-07-15 Por tôpico Ricardo César Cardoso
Mas é possível trocar a fonte de exibição, Formatar  Fonte... (abre o diálogo 
padrão do Windows)

Seria isso?

Atte,
Ricardo.

1) Evite escrever suas mensagens usando somente LETRAS MAIÚSCULAS.

2) Revise o texto de sua mensagem. Uma mensagem bem escrita é melhor 
compreendida.

3) Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!

--- Em qui, 15/7/10, Walter Chagas (Bol) wchag...@bol.com.br escreveu:

De: Walter Chagas (Bol) wchag...@bol.com.br
Assunto: Re: [delphi-br] Abrir aquivo txt no notepad
Para: delphi-br@yahoogrupos.com.br
Data: Quinta-feira, 15 de Julho de 2010, 11:25







 



  



  
  
  Não. O Notepad exibe text puro sem formatação alguma.



[]s

 

 

Walter Alves Chagas Junior

Belo Horizonte - MG - Brazil

wchag...@bol.com.br

http://delphitocorporerm.blogspot.com/

http://twitter.com/wchagas

MSN: whitesock...@hotmail.com

SKYPE: WalterChagasJr



- Original Message - 

  From: Alisson 

  To: delphi-br@yahoogrupos.com.br 

  Sent: Thursday, July 15, 2010 11:03 AM

  Subject: [delphi-br] Abrir aquivo txt no notepad



É possível abrir um arquivo txt no notepad com uma fonte pré-definida? Eu 
gostaria de usar a fonte Courier, pois se cada letra ocupar um tamanho 
diferente o texto fica todo desconfigurado.



[As partes desta mensagem que não continham texto foram removidas]



[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] Procurar Nome da tabela dentro da query

2010-07-15 Por tôpico Fabricio Colombo
Tem o método GetTableNameFromSQL da unit DBCommon. Mais tem casos
especificos que não funciona.

Por exemplo, esse sql abaixo funcionar perfeitamente

select *
 from tabela1 a
left outer join tabela2 on a.id = b.id

Agora se vc utilizar subqueries no select como o exemplo abaixo, ai não
funciona, pois ele vai pensar que a tabela principal é a tabela3.

select a.*,
  (select c.id from tabela3 c where a.id = c.id)
 from tabela1 a
left outer join tabela2 on a.id = b.id


Em 15 de julho de 2010 11:52, Rubem Rocha rubem.ro...@dtmanaus.com.brescreveu:



 Não tem algoritmo ou fórmula mirabolante pra esse caso. Usando a função
 Pos(), peque a posição da palavra ‘FROM’ e a posição da próxima cláusula
 seguinte ao FROM (que pode ser WHERE, GROUP BY, HAVING, ORDER BY ou
 qualquer
 uma outra, dependendo do banco de dados que estejas usando). Recorte a
 string dentro desse faixa de posições e analise para obter o(s) nome(s)
 da(s) tabela(s) desejada(s).

 Sds.

 De: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br [mailto:
 delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br] Em
 nome de Evaldo
 Enviada em: quinta-feira, 15 de julho de 2010 10:41
 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Assunto: [delphi-br] Procurar Nome da tabela dentro da query


 Alguém tem algum algoritimo para capturar o nome da tabela a que se refere
 uma
 query?

 por exemplo um objeto TsqlQuery com a instrução:

 ' select nome,telefone from CLIENTE where idcliente = :cliente ';

 o algoritimo iria retornar 'CLIENTE'.

 [As partes desta mensagem que não continham texto foram removidas]

  



[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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




RES: RES: RES: RES: [delphi-br] MethodAddress retornando NIL

2010-07-15 Por tôpico Sérgio T . Uetanabaro
Eric,

 

Note que a função “SetFocus” do TWinControl é PUBLIC e não PUBLISHED. Por
isso o METHODADDRESS não vai achar o método na chamada ExecMethod( edit1,
'SETFOCUS' )

 

[]´s

 

Sergio Uetanabaro

 

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de eric_developer
Enviada em: quinta-feira, 15 de julho de 2010 15:15
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: RES: RES: [delphi-br] MethodAddress retornando NIL

 

  

Errado Rubem, quando me referi que faço (não é comum outros usarem OOP no
nível que utilizo) em outra linguagem, não é via macro-substituição, e
conforme o caso isso é um péssimo hábito, mas tudo isso não importa.
Ficar nas teorias disso ou aquilo não vamos sair do lugar.

Delphi é uma linguagem que usa muito OOP, o que quero é uma pequena
manipulação que já esta no objeto, não considero nada de radical para a
linguagem fazer, veja que eu estaria passando o objeto o que não tornaria o
processo as cegas, não é caso para scripts.

Enfim, vamos deixar isso pendente, pois mais de 2000 maneiras de não
conseguir fazer é facil, o objetivo é uma que ajude a resolver.

Grato,
Eric

--- Em delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
, Rubem Rocha rubem.ro...@... escreveu

 Se você quer usar algo parecido com macro-substituição, o Delphi não dá
 suporte para isso, porquê simplesmente isso não é previsto na sua
 arquitetura. Em linguagens interpretadas, como o PHP, ou
 pseudo-interpretadas, como o (ainda vivo) Clipper, isso é possível (ou
seja,
 pode ser `mamão com açúcar', pois a arquitetura dessas linguagens assim o
 permite.
 
 
 
 Eu entendi o seu objetivo, por isso mesmo que sugeri uma ferramenta para
 scripting, por ser mais fácil nessa abordagem fazer tais chamadas
dinâmicas,
 visto que um script pode ter código que pode ser criado e atribuído aos
 eventos de um objeto em tempo de execução e, ainda, poder ser chamado
 facilmente pelo seu nome.
 
 
 
 Sds.





[As partes desta mensagem que não continham texto foram removidas]



Re: RES: RES: [delphi-br] MethodAddress retornando NIL

2010-07-15 Por tôpico Fabricio Colombo
Mais até agora vc não disse qual o problema que vc quer resolver. Qual a sua
necessidade? Por que vc precisa que os métodos sejam executados pelo nome?

Em 15 de julho de 2010 14:22, eric_developer
developer.syst...@yahoo.comescreveu:



 Colega, não é executar Scripts, por favor veja o que ja postamos.

 o pequeno e completo exemplo que foi postado, esta bem claro e fácil, é uma
 pena que há restrições e não consegui montar nada equivalente.

 O que faço facilmente em outra linguagem estruturada com poucos recursos
 OOP, parece ser mosca branca de zóio verde ou extravagante demais em Delphi
 rsrs.

 Só me resta aguardar, tentar outros caminhos ou desistir disso, o que acho
 tão simples, é um mistérios aos demais. Fiz uma pesquisa aqui, achei um
 colega querendo o mesmo (tópico de uns 2 anos), entrei em contato com ele e
 até hoje não conseguiu.


 --- Em delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br,
 Rubem Rocha rubem.ro...@... escreveu
 
  Eric, se você pensa em implementar algum tipo de automação em seus
  aplicativos, envolvendo a manipulação de elementos nele contidos, sugiro
  você pesquisar sobre ferramentas de scripting para Delphi. Uma boa
  alternativa, free e de código fonte aberto, é o PascalScript, da
 RemObjects
  (http://www.remobjects.com/ps).
 
 
 
  Caso não seja essa a sua necessidade, explique-a melhor, com riqueza de
  detalhes, para que possamos discutir uma alternativa técnica para tal.
 
 
 
  Sds.
 
 
 
  De: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br[mailto:
 delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br] Em
  nome de eric_developer
  Enviada em: quinta-feira, 15 de julho de 2010 12:07
  Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
  Assunto: Re: RES: [delphi-br] MethodAddress retornando NIL
 
 
 
 
 
  Alosi,
 
  Desta forma eu também já tinha encontrado na internet e na documentação.
  Veja que se você usar sua rotina como exemplifiquei anteriormente, não
  funcionará:
 
  ExecMethod( edit1, 'SETFOCUS' )
 
  --- Em delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.brmailto:
 delphi-br%40yahoogrupos.com.br delphi-br%2540yahoogrupos.com.br
  , jalosii jalosii@ escreveu
  
   Implementei sem problemas na semana passada em um sistema meu.
  
   Qual o real problema que vc está tendo?
  
   Sua procedure seria assim:
  
   unit Unit2;
   interface
   uses ...;
   type
   TForm2 = class(TForm)
   ...
   private
   procedure ExecMethod(NoObjecto: TObject; Nome_Metodo: String);
   ...
   var
   Form2: TForm2;
   type //tem que ser aqui, não sei explicar por que, mas se por acima do
   form no mesmo type causa erro
   TExec = procedure of object;
   ...
  
   procedure TForm2.ExecMethod(NoObjecto: TObject; Nome_Metodo: String);
   var
   Rotina: TMethod;
   Exec: TExec;
   begin
   Rotina.Data := Pointer(NoObjeto);
   Rotina.Code := NoObjeto.MethodAddress(Nome_Metodo);//Aqui que causa
   erro pra vc?
   if not Assigned(Rotina.Code) then
   exit;
   Exec := TExec(Rotina);
   Exec;
   end;
  
   ...
  
   O que eu percebi é se o método que vc quer chamar nã estiver nas
   declarações do FORM no lugar certo, o MethodAddress não encontra,
 tentei
   por em private e não achou, troquei o local da declaração pra acima do
   private e funcionou, no meu caso chamo uma procedure de outro form, pra

   que nesse não tenha acesso a banco de dados e está funcionando.
  
  
   Verifique teu código e se tiver mais erros nos avise pra ver se pudemos

   lhe ajudar.
  
   Alosi
   DigitalSystem
   Bento Gonçalves-RS
 
 
 
 
 
  [As partes desta mensagem que não continham texto foram removidas]
 

  



[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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [delphi-br] Procurar Nome da tabela dentro da query

2010-07-15 Por tôpico Tupy . . . nambá
Evaldo,

Caso a consulta for baseada somente em uma tabela ou em outra query, basta voce 
procurar pela palavra  from  (com espaços antes e depois) e a palavra 
seguinte é o nome do objeto de onde os dados são obtidos. 

Em pseudo-código=
1.identificar posição de  from  na query;
2.identificar o primeiro espaço após  from  (é o espaço após o nome); e
3.capturar substring que vai da posição de  from  até a posição do espaço 
subsequente.

Você pode criar uma function baseada neste principio, e voce terá uma 
funcionalidade universal.

Boa sorte, abraço,
Roberto Camargo

--- On Thu, 7/15/10, Evaldo evaldoave...@yahoo.com.br wrote:

From: Evaldo evaldoave...@yahoo.com.br
Subject: [delphi-br] Procurar Nome da tabela dentro da query
To: delphi-br@yahoogrupos.com.br
Date: Thursday, July 15, 2010, 6:41 PM







 



  



  
  
  Alguém tem algum algoritimo para capturar o nome da tabela a que se 
refere uma 

query?



por exemplo um objeto TsqlQuery com a instrução:



' select nome,telefone from CLIENTE where idcliente = :cliente ';



o algoritimo iria retornar 'CLIENTE'.



[As partes desta mensagem que não continham texto foram removidas]






 





 



  






  

[As partes desta mensagem que não continham texto foram removidas]



RES: RES: [delphi-br] MethodAddress retornando NIL

2010-07-15 Por tôpico Rubem Rocha
Se você não define um local apropriado para o método ou propriedade, ele
será por default declarado como published, em se tratando de componentes.
Por isso que o MethodAddress funcionou!

 

No caso de classes normais, sem serem descendentes de TPersistent ou
TComponent, a declaração default é como public.

 

Sds.

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de jalosii
Enviada em: quinta-feira, 15 de julho de 2010 08:02
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] MethodAddress retornando NIL

 

  

Implementei sem problemas na semana passada em um sistema meu.

Qual o real problema que vc está tendo?

Sua procedure seria assim:

unit Unit2;
interface
uses ...;
type
TForm2 = class(TForm)
...
private
procedure ExecMethod(NoObjecto: TObject; Nome_Metodo: String);
...
var
Form2: TForm2;
type //tem que ser aqui, não sei explicar por que, mas se por acima do 
form no mesmo type causa erro
TExec = procedure of object;
...

procedure TForm2.ExecMethod(NoObjecto: TObject; Nome_Metodo: String);
var
Rotina: TMethod;
Exec: TExec;
begin
Rotina.Data := Pointer(NoObjeto);
Rotina.Code := NoObjeto.MethodAddress(Nome_Metodo);//Aqui que causa 
erro pra vc?
if not Assigned(Rotina.Code) then
exit;
Exec := TExec(Rotina);
Exec;
end;

...

O que eu percebi é se o método que vc quer chamar nã estiver nas 
declarações do FORM no lugar certo, o MethodAddress não encontra, tentei 
por em private e não achou, troquei o local da declaração pra acima do 
private e funcionou, no meu caso chamo uma procedure de outro form, pra 
que nesse não tenha acesso a banco de dados e está funcionando.

Verifique teu código e se tiver mais erros nos avise pra ver se pudemos 
lhe ajudar.

Alosi
DigitalSystem
Bento Gonçalves-RS

eric_developer escreveu:
 isso é muito diferente do que preciso, mesmo assim obrigado.

 --- Em delphi-br@yahoogrupos.com.br
mailto:delphi-br%40yahoogrupos.com.br , Fabricio Colombo
fabricio.colombo@... escreveu
 
 Para o método SetFocus, seria melhor vc chamar direto o método. Por
exemplo,
 se vc estiver em um form, bastaria chamar

 Self.FocusControl(edit1)

 ou vc cria um método seu

 procedure TForm1.SetFocusComponent(AComponent: TComponent);
 begin
 if AComponent is TWinControl then
 TWinControl(AComponent).SetFocus;
 end;

 Que outros métodos vc precisa invocar? Praticamente todos os métodos
comuns
 entre os componentes visuais, estão presentes em TControl e TWinControl,
que
 são as classes base.



 Em 14 de julho de 2010 20:49, eric_developer
 developer.syst...@...escreveu:

 
 executar métodos, irei passar para minha função, o objeto e a string com
o
 nome do método, exemplo:

 myCallMethod( edit1, 'SETFOCUS' ) ;

 --- Em delphi-br@yahoogrupos.com.br
mailto:delphi-br%40yahoogrupos.com.br  delphi-br%40yahoogrupos.com.br,
 Fabricio Colombo fabricio.colombo.mva@ escreveu

 
 O que vc está pretendendo fazer Eric?

 Em 14 de julho de 2010 16:02, Mário Guedes jmarioguedes@escreveu:
 
 Eu fiz assim:



 

http://eugostododelphi.blogspot.com/2010/04/como-executar-um-metodo-pelo-nom
e.html
 
 *José Mário Silva Guedes*
 e-mail: jmarioguedes@ jmarioguedes%40gmail.com
 
 [As partes desta mensagem que não continham texto foram removidas]



 
 [As partes desta mensagem que não continham texto foram removidas]

 
 

 
 [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] Abrir aquivo txt no notepad

2010-07-15 Por tôpico Fabricio Colombo
No meu notepad tem a opção Formatar\Fonte. Não sei como solucionar seu
problema, mais opção de alterar a fonte tem sim.

Em 15 de julho de 2010 11:25, Walter Chagas (Bol) wchag...@bol.com.brescreveu:



 Não. O Notepad exibe text puro sem formatação alguma.


 []s


 Walter Alves Chagas Junior
 Belo Horizonte - MG - Brazil
 wchag...@bol.com.br wchagasj%40bol.com.br
 http://delphitocorporerm.blogspot.com/
 http://twitter.com/wchagas
 MSN: whitesock...@hotmail.com whitesockets%40hotmail.com
 SKYPE: WalterChagasJr

 - Original Message -
 From: Alisson
 To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Sent: Thursday, July 15, 2010 11:03 AM
 Subject: [delphi-br] Abrir aquivo txt no notepad

 É possível abrir um arquivo txt no notepad com uma fonte pré-definida? Eu
 gostaria de usar a fonte Courier, pois se cada letra ocupar um tamanho
 diferente o texto fica todo desconfigurado.

 [As partes desta mensagem que não continham texto foram removidas]

 [As partes desta mensagem que não continham texto foram removidas]

  



[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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: RES: RES: [delphi-br] Procurar Nome da tabela dentro da query

2010-07-15 Por tôpico Evaldo
Simples, não acredito que seja por que pode haver algumas querys com muitos 
joins 

e querys sem a clausula where


Obrigado.



From: Rubem Rocha rubem.ro...@dtmanaus.com.br
To: delphi-br@yahoogrupos.com.br
Sent: Thu, July 15, 2010 3:29:19 PM
Subject: RES: RES: [delphi-br] Procurar Nome da tabela dentro da query

  
Pode ser que existam parsers mas, como podes constatar que isso é bem simples, 
nada impede que você possa construir o seu próprio parser. Boa sorte. Sds.

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome 
de Evaldo
Enviada em: quinta-feira, 15 de julho de 2010 14:25
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] Procurar Nome da tabela dentro da query

Obrigado, achei que alguém podesse ter um parser para fazer isto.


From: Rubem Rocha rubem.ro...@dtmanaus.com.br 
mailto:rubem.rocha%40dtmanaus.com.br 
To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Sent: Thu, July 15, 2010 11:52:45 AM
Subject: RES: [delphi-br] Procurar Nome da tabela dentro da query

Não tem algoritmo ou fórmula mirabolante pra esse caso. Usando a função
Pos(), peque a posição da palavra ‘FROM’ e a posição da próxima cláusula
seguinte ao FROM (que pode ser WHERE, GROUP BY, HAVING, ORDER BY ou qualquer
uma outra, dependendo do banco de dados que estejas usando). Recorte a
string dentro desse faixa de posições e analise para obter o(s) nome(s)
da(s) tabela(s) desejada(s).

Sds.

De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br  
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br ] 
Em
nome de Evaldo
Enviada em: quinta-feira, 15 de julho de 2010 10:41
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Assunto: [delphi-br] Procurar Nome da tabela dentro da query

Alguém tem algum algoritimo para capturar o nome da tabela a que se refere
uma 
query?

por exemplo um objeto TsqlQuery com a instrução:

' select nome,telefone from CLIENTE where idcliente = :cliente ';

o algoritimo iria retornar 'CLIENTE'.


  

[As partes desta mensagem que não continham texto foram removidas]



Re: RES: RES: RES: RES: [delphi-br] MethodAddress retornando NIL

2010-07-15 Por tôpico eric_developer
Sergio,
isso já sabemos, passei um exemplo prático que obviamente não funciona e para 
que possam entender e alguem me sugerir uma alternativa que funcione para o 
que eu quero, entendeu ??

--- Em delphi-br@yahoogrupos.com.br, Sérgio T. Uetanabaro s...@... escreveu

 Eric,
 
  
 
 Note que a função SetFocus do TWinControl é PUBLIC e não PUBLISHED. Por
 isso o METHODADDRESS não vai achar o método na chamada ExecMethod( edit1,
 'SETFOCUS' )
 
  
 
 []´s
 
  
 
 Sergio Uetanabaro




Re: [delphi-br] Abrir aquivo txt no notepad

2010-07-15 Por tôpico Walter Chagas (Bol)
altera a fonte do programa e não do texto em si

[]s


Walter Alves Chagas Junior
Belo Horizonte - MG - Brazil
wchag...@bol.com.br
http://delphitocorporerm.blogspot.com/
http://twitter.com/wchagas
MSN: whitesock...@hotmail.com
SKYPE: WalterChagasJr


- Original Message - 
From: Fabricio Colombo fabricio.colombo@gmail.com
To: delphi-br@yahoogrupos.com.br
Sent: Thursday, July 15, 2010 1:57 PM
Subject: Re: [delphi-br] Abrir aquivo txt no notepad


No meu notepad tem a opção Formatar\Fonte. Não sei como solucionar seu
problema, mais opção de alterar a fonte tem sim.

Em 15 de julho de 2010 11:25, Walter Chagas (Bol) 
wchag...@bol.com.brescreveu:



 Não. O Notepad exibe text puro sem formatação alguma.


 []s


 Walter Alves Chagas Junior
 Belo Horizonte - MG - Brazil
 wchag...@bol.com.br wchagasj%40bol.com.br
 http://delphitocorporerm.blogspot.com/
 http://twitter.com/wchagas
 MSN: whitesock...@hotmail.com whitesockets%40hotmail.com
 SKYPE: WalterChagasJr

 - Original Message -
 From: Alisson
 To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Sent: Thursday, July 15, 2010 11:03 AM
 Subject: [delphi-br] Abrir aquivo txt no notepad

 É possível abrir um arquivo txt no notepad com uma fonte pré-definida? Eu
 gostaria de usar a fonte Courier, pois se cada letra ocupar um tamanho
 diferente o texto fica todo desconfigurado.

 [As partes desta mensagem que não continham texto foram removidas]

 [As partes desta mensagem que não continham texto foram removidas]





[As partes desta mensagem que não continham texto foram removidas]





-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 







-- 
 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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: RES: RES: RES: [delphi-br] MethodAddress retornando NIL

2010-07-15 Por tôpico Marcos Douglas
Olá Eric,
Copiei abaixo, duas de suas mensagens:

2010/7/15 eric_developer developer.syst...@yahoo.com:
 Colega, não é executar Scripts, por favor veja o que ja postamos.

 o pequeno e completo exemplo que foi postado, esta bem claro e fácil, é uma 
 pena que há restrições e não consegui montar nada equivalente.

 O que faço facilmente em outra linguagem estruturada com poucos recursos OOP, 
 parece ser mosca branca
 de zóio verde ou extravagante demais em Delphi rsrs.

 Só me resta aguardar, tentar outros caminhos ou desistir disso, o que acho 
 tão simples, é um mistérios aos
 demais. Fiz uma pesquisa aqui, achei um colega querendo o mesmo (tópico de 
 uns 2 anos), entrei em contato com ele e até hoje não conseguiu.


2010/7/15 eric_developer developer.syst...@yahoo.com:
 Errado Rubem, quando me referi que faço (não é comum outros usarem OOP no 
 nível que utilizo) em outra linguagem,
 não é via macro-substituição, e conforme o caso isso é um péssimo hábito, mas 
 tudo isso não importa.
 Ficar nas teorias disso ou aquilo não vamos sair do lugar.

 Delphi é uma linguagem que usa muito OOP, o que quero é uma pequena 
 manipulação que já esta no objeto,
 não considero nada de radical para a linguagem fazer, veja que eu estaria 
 passando o objeto o que não tornaria
 o processo as cegas, não é caso para scripts.

 Enfim, vamos deixar isso pendente, pois mais de 2000 maneiras de não 
 conseguir fazer é facil, o objetivo é uma que ajude a resolver.

Primeiramente sua resposta: NÃO dá pra fazer.

Agora alguns comentários:
Não fiquei comparando linguagens, pois cada uma tem seus prós e
contras. Então não diga é fácil em outras linguagens. Por exemplo é
fácil, em outras linguagens, codificar como no Delphi? Não. Bem, você
já entendeu...

O Delphi possui uma linguagem FORTEMENTE TIPADA. Esse é um pró da
linguagem, em vários problemas... mas também pode ser um contra
quando você tenta fazer algoritmos com chamadas abstratas e/ou
dinâmicas.

A única possibilidade de fazer o que você quer, é utilizando métodos
published, que já foi muito comentado por várias pessoas aqui. Não dá
pra fazer chamadas a métodos utilizando somente uma string
representando seu nome; isso vai contra a filosofia da linguagem,
contra a sua base e razão de existir.
Você consegue fazer isso em outras linguagens (vc não falou de nenhuma
em particular) como, por exemplo, em Java. No entanto, veja que esta
prática quebra o encapsulamento (um dos pilares da OOP). O mesmo
podemos dizer de Ruby, Python, etc...

Sugiro mais ATENÇÃO ao que o Sr. Fabrício falou no email abaixo:

2010/7/14 Fabricio Colombo fabricio.colombo@gmail.com:
 Para o método SetFocus, seria melhor vc chamar direto o método. Por exemplo,
 se vc estiver em um form, bastaria chamar

 Self.FocusControl(edit1)

 ou vc cria um método seu

 procedure TForm1.SetFocusComponent(AComponent: TComponent);
 begin
  if AComponent is TWinControl then
TWinControl(AComponent).SetFocus;
 end;

 Que outros métodos vc precisa invocar? Praticamente todos os métodos comuns
 entre os componentes visuais, estão presentes em TControl e TWinControl, que
 são as classes base.

...não é o que vc quer (lembre-se que não é possível o que vc quer
fazer com Delphi) mas chega muito perto. Em vez de vc tentar fazer
chamadas à métodos através de uma string, tente saber qual o tipo de
objeto vc está trabalhando (ex: obj is TEdit). Assim vc pode fazer
chamadas à métodos comum entre eles, utilizando as classes ancestrais.


Cordialmente,
MD


RES: RES: RES: RES: RES: [delphi-br] MethodAddress retornando NIL

2010-07-15 Por tôpico Sérgio T . Uetanabaro
OK Eric. 

Eu entendo que a chamada dinâmica é um recurso que podemos utilizar em
vários casos mas teremos limitações qto ao tipo de declaração do método o
que complica ao ser utilizado nos métodos de componentes padrão do delphi.
Se o problema for realizar a chamada proposta então sugiro a vc utilizar
essas chamada em componentes derivados para que publiquem (PUBLISHED) os
métodos que você quer utilizar. Nesse caso você terá que se atentar em
chamar somente métodos com o devido atributo. Outra forma que posso sugerir
é o uso de scripters e adaptar as chamadas necessárias para isso. Scripters
podem te dar uma grande mão neste ponto pq você não ficará limitado as
chamadas de métodos PUBLISHED. No caso de scripter uma chamada seria algo do
tipo:

 

Form.RodarScript(‘edit.SetFocus;’);

 

Logicamente tem outros detalhes mas chega bem perto daquilo que você deseja
fazer, acredito eu.  Somente descarte scripter caso vc precise de
permformance na operação.

Já busquei várias alternativas para chamadas dinâmicas. Já sofri bastante
com esse tipo de problema pq tive que implementar chamadas de métodos pelo
nome e esses métodos podiam ter parâmetros. Caso ainda não seja isso, nos
explique o problema para que possamos tentar te auxiliar.

 

 

Sergio Uetanabaro

 

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de eric_developer
Enviada em: quinta-feira, 15 de julho de 2010 16:16
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: RES: RES: RES: [delphi-br] MethodAddress retornando NIL

 

  

Sergio,
isso já sabemos, passei um exemplo prático que obviamente não funciona e
para que possam entender e alguem me sugerir uma alternativa que funcione
para o que eu quero, entendeu ??

--- Em delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
, Sérgio T. Uetanabaro s...@... escreveu

 Eric,
 
 
 
 Note que a função SetFocus do TWinControl é PUBLIC e não PUBLISHED. Por
 isso o METHODADDRESS não vai achar o método na chamada ExecMethod( edit1,
 'SETFOCUS' )
 
 
 
 []´s
 
 
 
 Sergio Uetanabaro





[As partes desta mensagem que não continham texto foram removidas]



Re: RES: RES: RES: [delphi-br] MethodAddress retornando NIL

2010-07-15 Por tôpico eric_developer
Marcos, espero que esteja bem errado e dê para fazer o que preciso.

Sugiro muito cuidado com certas afirmações NÃO É POSSIVEL ..., mesmo se for 
um expert, assim você automaticamente cria diversos limites a si mesmo. Teve 
situações parecidas onde um colega pediu algo e outro muito experiente e 
talentoso, afirmou o mesmo, e eu postei a solução (código) devidamente testada.

Devido a minha experiência, acho mais fácil sempre deduzir que é possível mesmo 
ao que me seja totalmente alheio. Um colega disse ser possível, mas não 
informou como rsrs passou uma tonelada de vídeos para download, vou ver se 
encontro a resposta mágica. Um outro passou o código não posso testar no D2009, 
porque é para Delphi 2010 rsrs

Tedit(sender).setfocus ou semelhante, não é o que desejo, até já criei algo 
parecido e vou substituir.

Grato,
Eric Developer Systems

--- Em delphi-br@yahoogrupos.com.br, Marcos Douglas m...@... escreveu

 Olá Eric,
 Copiei abaixo, duas de suas mensagens:
 ...
 Primeiramente sua resposta: NÃO dá pra fazer.
 
 
 O Delphi possui uma linguagem FORTEMENTE TIPADA. Esse é um pró da
 linguagem, em vários problemas... mas também pode ser um contra
 quando você tenta fazer algoritmos com chamadas abstratas e/ou
 dinâmicas.
 
 A única possibilidade de fazer o que você quer, é utilizando métodos
 published, que já foi muito comentado por várias pessoas aqui. Não dá
 pra fazer chamadas a métodos utilizando somente uma string
 representando seu nome; isso vai contra a filosofia da linguagem,
 contra a sua base e razão de existir.
 Você consegue fazer isso em outras linguagens (vc não falou de nenhuma
 em particular) como, por exemplo, em Java. No entanto, veja que esta
 prática quebra o encapsulamento (um dos pilares da OOP). O mesmo
 podemos dizer de Ruby, Python, etc...
 
 Cordialmente,
 MD





RES: RES: RES: RES: [delphi-br] MethodAddress retornando NIL

2010-07-15 Por tôpico Sérgio T . Uetanabaro
Uma coisa que o Marcos disse é verdade. Chamadas de funções dinâmicas
somente podem ser feitas em métodos PUBLISHED pois somente com esse marcador
o compilador coloca na VMT da classe as informações do método. Soluções via
RTTI somente com published.

 

[]´s

 

Sergio Uetanabaro

 

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de eric_developer
Enviada em: quinta-feira, 15 de julho de 2010 17:13
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: RES: RES: [delphi-br] MethodAddress retornando NIL

 

  

Marcos, espero que esteja bem errado e dê para fazer o que preciso.

Sugiro muito cuidado com certas afirmações NÃO É POSSIVEL ..., mesmo se
for um expert, assim você automaticamente cria diversos limites a si mesmo.
Teve situações parecidas onde um colega pediu algo e outro muito experiente
e talentoso, afirmou o mesmo, e eu postei a solução (código) devidamente
testada.

Devido a minha experiência, acho mais fácil sempre deduzir que é possível
mesmo ao que me seja totalmente alheio. Um colega disse ser possível, mas
não informou como rsrs passou uma tonelada de vídeos para download, vou ver
se encontro a resposta mágica. Um outro passou o código não posso testar no
D2009, porque é para Delphi 2010 rsrs

Tedit(sender).setfocus ou semelhante, não é o que desejo, até já criei algo
parecido e vou substituir.

Grato,
Eric Developer Systems

--- Em delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
, Marcos Douglas m...@... escreveu

 Olá Eric,
 Copiei abaixo, duas de suas mensagens:
 ...
 Primeiramente sua resposta: NÃO dá pra fazer.
 
 
 O Delphi possui uma linguagem FORTEMENTE TIPADA. Esse é um pró da
 linguagem, em vários problemas... mas também pode ser um contra
 quando você tenta fazer algoritmos com chamadas abstratas e/ou
 dinâmicas.
 
 A única possibilidade de fazer o que você quer, é utilizando métodos
 published, que já foi muito comentado por várias pessoas aqui. Não dá
 pra fazer chamadas a métodos utilizando somente uma string
 representando seu nome; isso vai contra a filosofia da linguagem,
 contra a sua base e razão de existir.
 Você consegue fazer isso em outras linguagens (vc não falou de nenhuma
 em particular) como, por exemplo, em Java. No entanto, veja que esta
 prática quebra o encapsulamento (um dos pilares da OOP). O mesmo
 podemos dizer de Ruby, Python, etc...
 
 Cordialmente,
 MD






[As partes desta mensagem que não continham texto foram removidas]



[delphi-br] DICA: Ordenar Grid TDBAdvGrid

2010-07-15 Por tôpico Rodrigo Rossi
  Boa tarde pessoal.

Como o grupo não é somente para postar problemas mas sim postar também 
algumas dicas e soluções, talvez para alguem seja irrelevante mais segue 
uma dica legal de como ordenar a grid da TMS, TDBAdvGrid.
lembrando a Grid faz a ordenação automática NATIVA, basta clicar na 
coluna, mas no meu caso tive que deixar a propriedade 'Page Mode' da 
mesma habilitada e com isso ela desativa a ordenação nativa dela. Tive 
que implementar a minha. Aceito sugestões de melhoria

Segue código.

procedure TfrmTarefas.grdTarefasClickSort(Sender: TObject; ACol: Integer);
var
   nomeField: string;
   options: TIndexOptions;
begin
   if ACol  0 then
 exit;

   nomeField := grdTarefas.Columns[ACol].FieldName;

   cdsTarefas.IndexDefs.Update;

   if nomeCampo = (nomeField + '_DESC') then
   begin
 nomeCampo := nomeField + '_ASC';
 options := [];
   end
   else
   begin
 nomeCampo := nomeField + '_DESC';
 options := [ixDescending];
   end;

   if cdsTarefas.IndexDefs.IndexOf(nomeField)  0 then
 cdsTarefas.AddIndex(nomeCampo,nomeField,options);

   cdsTarefas.IndexName := nomeCampo;
   cdsTarefas.First;
end;


-- 
Att.

Rodrigo Rossi
Skype: rodrigotrentinrossi
MSN: rdrg_ro...@hotmail.com
Fone: (45) 9963-1897
Cascavel - PR


[delphi-br] Retornar Identity

2010-07-15 Por tôpico Jhosef Marks
E ai galera...

É o seguinte, tenho duas tabelas que tem um relacionamento de
um-para-muitos, e tem um alto indice de inserções agrupadas, preciso que
quando for inserido um valor na tabela master me seja retornado o número
exato que foi gerado para o campo chave desta para poder usar nos filhos,
está acontecendo que quando ocorre duas inserções  praticamente ao mesmo
tempo, quando eu mando buscar o valor inserido já foi outro inserido em
cima, jogando os detalhes desses últimos registro e um só...

To perdendo a cabeça com isso... alguém passou por isso?

To usando SQL Server 2005 + Delphi 7

Att,

Jhosef Marks de Carvalho
Blog: http://www.jhosefmarks.com.br
Jesus está voltando

E se o meu povo, que se chama pelo meu nome, se humilhar, e orar, e buscar
a minha face e se converter dos seus maus caminhos, então eu ouvirei dos
céus, e perdoarei os seus pecados, e sararei a sua terra. (2 Cr 7:14)


[As partes desta mensagem que não continham texto foram removidas]



[delphi-br] [OFF-TOPIC] Sugestão

2010-07-15 Por tôpico Rubem Rocha
Moderador, porquê não instituímos sorteios de brindes (ou coisa do tipo)
para aqueles colegas da lista que colaborarem com dicas para a lista? Assim,
podemos enriquecer o conteúdo da mesma, afim de que ela fique menos
0-800-HELPDESK e seja mais útil também.

 

“Ah, mas quem poderia providenciar tais brindes?” Ora, não temos inscritos
na lista pessoas de destaque da Embarcadero? Eles poderiam dar uma forçinha
para essa idéia dar certo. Que tal?

 

Sds.

 



[As partes desta mensagem que não continham texto foram removidas]



Res: [delphi-br] Desempenho Firebird

2010-07-15 Por tôpico Eny Urias
São João da Boa Vista.. divisa com Poços de Caldas-MG

 
--
Eny Trova Urias

Somos o que repetitivamente fazemos, portanto, a excelência não é um feito, 
mas 
um hábito- Aristóteles






De: Ricardo César Cardoso ricardo_engs...@yahoo.com.br
Para: delphi-br@yahoogrupos.com.br
Enviadas: Quinta-feira, 15 de Julho de 2010 14:09:57
Assunto: Re: Res: [delphi-br] Desempenho Firebird

  
Desculpe a pergunta um tanto pessoal, mas onde vc está nesse interiorzão de SP, 
Eny?

Eu até pensei em insistir na carreira de DBA, mas sempre pinta aquela 
insegurança... Eu gosto muito de BD mas gosto bastante de desenvolvimento tb... 


Atte,
Ricardo.

1) Evite escrever suas mensagens usando somente LETRAS MAIÚSCULAS.

2) Revise o texto de sua mensagem. Uma mensagem bem escrita é melhor 
compreendida.

3) Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante!

--- Em qui, 15/7/10, Eny Urias enyur...@yahoo.com.br escreveu:

De: Eny Urias enyur...@yahoo.com.br
Assunto: Res: [delphi-br] Desempenho Firebird
Para: delphi-br@yahoogrupos.com.br
Data: Quinta-feira, 15 de Julho de 2010, 10:07

 

Taí... gostei!

Realmente acho que o ideal é fazer parcerias com quem realmente entende da 

coisa... Mas, vai falar isso pro dono da empresa! Acho que o que aconteceu com 

meu amigo foi exatamente isso... Uma pessoa que não está mais na empresa 
colocou 


o sistema pra rodar com o FB... aí ele foi embora porque teve uma proposta 

melhor e sobrou pro cara do suporte dar manutenção no banco que, depois que a 

coisa ficou grande, não soube mais o que fazer... Mas essa profissão de DBA 

ainda é escassa aqui no interior... Acho rara a empresa que tem um cara pra 

cuidar do banco...

Seria legal ter um parceiro para passar como deve ser configurado o banco, 

independente de qual seja.

Agradeços a todos pelos esclarecimentos!

--

Eny Trova Urias

Somos o que repetitivamente fazemos, portanto, a excelência não é um feito, 
mas 


um hábito- Aristóteles



De: Walter Chagas (Bol) wchag...@bol.com.br

Para: delphi-br@yahoogrupos.com.br

Enviadas: Quinta-feira, 15 de Julho de 2010 8:55:03

Assunto: Re: [delphi-br] Desempenho Firebird

O que denegre o banco, ao meu ver, é que se ele exige ou pelo menos requeira um 

DBA para fazer o trabalho de ajuste e tunnagem do mesmo, aí vem muitas vezes o 

próprio desenvolvedor na base da fuçação mesmo pra tentar configurar. Acaba até 

configurando corretamente, mas depois de muito penar e gerar desgastes com o 

cliente. Muitos lugares, o desenvolvedor vai para uma filial, chega lá não tem 

nada estruturado para ele trabalhar e lá vai o cara atrasar seu cronograma e 

partir pro heroismo pra resolver problemas que não deveriam existir lá.

A questão que vejo, é que muitas empresas e muitos cartolas nao entendem que no 

universo do desenvolvimento, cada macaco no seu galho. Banco de dados é com 
DBA, 


desenvolvimento é com o programador e levantamento de requisitos/mapeamento de 

processos é com o analista.

[]s

Walter Alves Chagas Junior

Belo Horizonte - MG - Brazil

wchag...@bol.com.br

http://delphitocorporerm.blogspot.com/

http://twitter.com/wchagas

MSN: whitesock...@hotmail.com

SKYPE: WalterChagasJr

- Original Message - 

From: Ricardo César Cardoso 

To: delphi-br@yahoogrupos.com.br 

Sent: Wednesday, July 14, 2010 10:26 PM

Subject: Re: [delphi-br] Desempenho Firebird

Desconfio desse tipo de chute. 

Já vi gente dizendo Firebird em sistemas de missão critica (acho que um deles é 

o Bruno Lichot). Não posso dizer muito pois não tenho nenhum sistema de missão 

critica, mas posso dizer que no quesito VOLUME DE DADOS o FB aguenta o tranco. 

Um camarada aqui tem um sistema que já acumulou 40 GB de dados dos mais 
diversos 


na base e roda que é uma belezinha .Tem foto, áudio, vídeo e até planilhas e 

arquivos PDFs gravados no BD juntos com os campos de dados.

Todo BD que trabalha em missão crítica (eu até diria que até mesmo o hardware) 

precisa de um tuning ou de refinamentos para melhorar a performance. A 
diferença 


é que no FB esse tipo de ajuste tem que ser feito pelo DBA no braço. Ou seja, 

não há wizards que fazem todo o trabalho pesado. Vc tem que conhecer os 

conceitos para saber exatamente o que está fazendo.

Outros fatores são o processador em uso e a versão do BD que está usando 

(SuperClassic, ClassicServer, SuperServer) que pode oferecer mais refinamentos. 

Só por desencargo de consciência, indica pro teu amigo ler isso aqui 

(http://www.sinatica.com/blog/br/index.php/artigos/firebird-superserver-classicserver-ou-superclassic)


e acompanhar a Lista Firebase BR.

Um BD que tenho vontade (só vontade, pois tempo eu não tenho mesmo...) de 
testar 


é o PostGree é gratuito e aguenta o tranco como os majors, pelo menos é o que 

dizem.

Uma última dúvida: que BD entrou no lugar do FB? Tanto o Oracle XE quando o SQL 

Server Express tem limitações quanto ao tamanho máximo que o arquivo 

[delphi-br] ClientDataSet - Out Of Memory

2010-07-15 Por tôpico Valdemir (yahoo)
Pessoal estou montando uma rotina para gerar o sped, em um movimento pequeno ok 
a rotina roda legal, mas em um movimento grande ao dar insert no CDS da erro 
Out Of Memory, apos processar um grande numero de registros

Eu tenho um CDS onde vou armazenando os dados, para depois fazer um loop e 
jogar no TXT, para mim foi a saída mais fácil que eu encontrei, primeiro leio 
as tabelas e jogo no CDS, ai no CDS já com os dados no formato do governo, faço 
um loop no cds e gravo para o txt

A principio estava usando um CDS em memoria, e ai é logico que deu o erro, mas 
ao preencher a propriedade FileName com o nome do arquivo ... ele começou a 
gerar os dados em arquivo binário, até ai ok, mas não encontrei nenhuma 
propriedade que eu informo que ele descarregue da memoria ram a cada x 
registros, então mesmo informado a propriedade nome do arquivo .. ele cria um 
arquivo.. e começa o processo, mas o tamanho fica com 0 até dar out of memory, 
e ai o tamanho do arquivo salta de 0 para um numero em bytes que ele conseguiu 
gerar

Da a entender que mesmo informando o FileName, ele continua trabalhando somente 
com memoria ram, e só descarrega ela.. quando da o erro, eu imaginei que como 
esta informado o nome do arquivo, ele automaticamente ao carregar a RAM iria 
salvar os dados em disco, procurei no help mas não encontrei nenhum método ou 
propriedade para isso, antigamente no bde existia uma api para isso, mas no 
ClientDataSet eu não encontrei

Alguém faz idéia do que possa estar ocorrendo ?

Obrigado
Valdemir


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Retornar Identity

2010-07-15 Por tôpico Roni Rodrigo
cara... só fazendo uma stored procedure...
declare o parametro que você quer retornar como OUTPUT

create procedure sp_Gravar
 @ID INT OUTPUT,
 
 -- ai vc insere os valores
   -- e retorna o ultimo identity gerado pelo SQL
 SELECT @id = SCOPE_IDENTITY()

se não for em uma procedure não há como garantir a integridade do valor 
retornado, com a sp é possível pq o sql cria uma transação antes de 
executar...

o/



Em 15/07/2010 17:37, Jhosef Marks escreveu:
 E ai galera...

 É o seguinte, tenho duas tabelas que tem um relacionamento de
 um-para-muitos, e tem um alto indice de inserções agrupadas, preciso que
 quando for inserido um valor na tabela master me seja retornado o número
 exato que foi gerado para o campo chave desta para poder usar nos filhos,
 está acontecendo que quando ocorre duas inserções praticamente ao mesmo
 tempo, quando eu mando buscar o valor inserido já foi outro inserido em
 cima, jogando os detalhes desses últimos registro e um só...

 To perdendo a cabeça com isso... alguém passou por isso?

 To usando SQL Server 2005 + Delphi 7

 Att,

 Jhosef Marks de Carvalho
 Blog: http://www.jhosefmarks.com.br
 Jesus está voltando

 E se o meu povo, que se chama pelo meu nome, se humilhar, e orar, e 
 buscar
 a minha face e se converter dos seus maus caminhos, então eu ouvirei dos
 céus, e perdoarei os seus pecados, e sararei a sua terra. (2 Cr 7:14)

 [As partes desta mensagem que não continham texto foram removidas]




Re: RES: RES: RES: [delphi-br] MethodAddress retornando NIL

2010-07-15 Por tôpico Fabricio Colombo
Se não for published, não dá pra recuperar o nome.

Dá uma pesquisada sobre VMT (Virtual Method Table). O delphi armazena a
quantidade de métodos virtuais e os ponteiros dos respectivos métodos nessa
tabela, mais o nome do método em si, só se estiver no published.

Na unit JclSysUtils.pas da JVCL tem os métodos:
  function GetVirtualMethodCount(AClass: TClass): Integer;
  function GetVirtualMethod(AClass: TClass; const Index: Integer): Pointer;

Além desses, tem:

type
  PMethodEntry = ^TMethodEntry;
  TMethodEntry = packed record
EntrySize: Word;
Address: Pointer;
Name: ShortString;
  end;

  PMethodTable = ^TMethodTable;
  TMethodTable = packed record
Count: Word;
FirstEntry: TMethodEntry;
   {Entries: array [1..65534] of TMethodEntry;}
  end;

function GetMethodTable(AClass: TClass): PMethodTable;
function GetMethodEntry(MethodTable: PMethodTable; Index: Integer):
PMethodEntry;

Mais o PMethodTable, por onde é possível assessar o PMethodEntry.Name, só
retorna os métodos published.

Faça teste e procure sobre VMT(Virtual Method Table)

Em 15 de julho de 2010 17:24, Sérgio T. Uetanabaro
s...@allbras.com.brescreveu:



 Uma coisa que o Marcos disse é verdade. Chamadas de funções dinâmicas
 somente podem ser feitas em métodos PUBLISHED pois somente com esse
 marcador
 o compilador coloca na VMT da classe as informações do método. Soluções via
 RTTI somente com published.

 []´s


 Sergio Uetanabaro

 De: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br [mailto:
 delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br] Em
 nome de eric_developer
 Enviada em: quinta-feira, 15 de julho de 2010 17:13

 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Assunto: Re: RES: RES: RES: [delphi-br] MethodAddress retornando NIL


 Marcos, espero que esteja bem errado e dê para fazer o que preciso.

 Sugiro muito cuidado com certas afirmações NÃO É POSSIVEL ..., mesmo se
 for um expert, assim você automaticamente cria diversos limites a si mesmo.
 Teve situações parecidas onde um colega pediu algo e outro muito experiente
 e talentoso, afirmou o mesmo, e eu postei a solução (código) devidamente
 testada.

 Devido a minha experiência, acho mais fácil sempre deduzir que é possível
 mesmo ao que me seja totalmente alheio. Um colega disse ser possível, mas
 não informou como rsrs passou uma tonelada de vídeos para download, vou ver
 se encontro a resposta mágica. Um outro passou o código não posso testar no
 D2009, porque é para Delphi 2010 rsrs

 Tedit(sender).setfocus ou semelhante, não é o que desejo, até já criei algo
 parecido e vou substituir.

 Grato,
 Eric Developer Systems

 --- Em delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.brmailto:
 delphi-br%40yahoogrupos.com.br delphi-br%2540yahoogrupos.com.br

 , Marcos Douglas m...@... escreveu
 
  Olá Eric,
  Copiei abaixo, duas de suas mensagens:
  ...
  Primeiramente sua resposta: NÃO dá pra fazer.
 
 
  O Delphi possui uma linguagem FORTEMENTE TIPADA. Esse é um pró da
  linguagem, em vários problemas... mas também pode ser um contra
  quando você tenta fazer algoritmos com chamadas abstratas e/ou
  dinâmicas.
 
  A única possibilidade de fazer o que você quer, é utilizando métodos
  published, que já foi muito comentado por várias pessoas aqui. Não dá
  pra fazer chamadas a métodos utilizando somente uma string
  representando seu nome; isso vai contra a filosofia da linguagem,
  contra a sua base e razão de existir.
  Você consegue fazer isso em outras linguagens (vc não falou de nenhuma
  em particular) como, por exemplo, em Java. No entanto, veja que esta
  prática quebra o encapsulamento (um dos pilares da OOP). O mesmo
  podemos dizer de Ruby, Python, etc...
 
  Cordialmente,
  MD
 

 [As partes desta mensagem que não continham texto foram removidas]

  



[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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: RES: RES: [delphi-br] Procurar Nome da tabela dentro da query

2010-07-15 Por tôpico Fabricio Colombo
Leu o meu post?

Em 15 de julho de 2010 16:07, Evaldo evaldoave...@yahoo.com.br escreveu:



 Simples, não acredito que seja por que pode haver algumas querys com muitos

 joins

 e querys sem a clausula where

 Obrigado.


 
 From: Rubem Rocha rubem.ro...@dtmanaus.com.brrubem.rocha%40dtmanaus.com.br
 
 To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Sent: Thu, July 15, 2010 3:29:19 PM
 Subject: RES: RES: [delphi-br] Procurar Nome da tabela dentro da query


 Pode ser que existam parsers mas, como podes constatar que isso é bem
 simples,
 nada impede que você possa construir o seu próprio parser. Boa sorte. Sds.


 De: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br [mailto:
 delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br] Em nome
 de Evaldo
 Enviada em: quinta-feira, 15 de julho de 2010 14:25

 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Assunto: Re: RES: [delphi-br] Procurar Nome da tabela dentro da query


 Obrigado, achei que alguém podesse ter um parser para fazer isto.

 
 From: Rubem Rocha rubem.ro...@dtmanaus.com.brrubem.rocha%40dtmanaus.com.br
 mailto:rubem.rocha%40dtmanaus.com.br rubem.rocha%2540dtmanaus.com.br 
 To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br mailto:
 delphi-br%40yahoogrupos.com.br delphi-br%2540yahoogrupos.com.br
 Sent: Thu, July 15, 2010 11:52:45 AM
 Subject: RES: [delphi-br] Procurar Nome da tabela dentro da query

 Não tem algoritmo ou fórmula mirabolante pra esse caso. Usando a função
 Pos(), peque a posição da palavra ‘FROM’ e a posição da próxima cláusula
 seguinte ao FROM (que pode ser WHERE, GROUP BY, HAVING, ORDER BY ou
 qualquer
 uma outra, dependendo do banco de dados que estejas usando). Recorte a
 string dentro desse faixa de posições e analise para obter o(s) nome(s)
 da(s) tabela(s) desejada(s).

 Sds.

 De: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br mailto:
 delphi-br%40yahoogrupos.com.br delphi-br%2540yahoogrupos.com.br
 [mailto:delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.brmailto:
 delphi-br%40yahoogrupos.com.br delphi-br%2540yahoogrupos.com.br ]
 Em
 nome de Evaldo
 Enviada em: quinta-feira, 15 de julho de 2010 10:41
 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.brmailto:
 delphi-br%40yahoogrupos.com.br delphi-br%2540yahoogrupos.com.br
 Assunto: [delphi-br] Procurar Nome da tabela dentro da query

 Alguém tem algum algoritimo para capturar o nome da tabela a que se refere
 uma
 query?

 por exemplo um objeto TsqlQuery com a instrução:

 ' select nome,telefone from CLIENTE where idcliente = :cliente ';

 o algoritimo iria retornar 'CLIENTE'.

 [As partes desta mensagem que não continham texto foram removidas]

  



[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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [delphi-br] ClientDataSet - Out Of Memory

2010-07-15 Por tôpico Fabricio Colombo
Eu já tive problemas utilizando TClientDataSet em memória parecido com isso
devido a grande quantidade de registros, sem falar no desempenho deplorável.
Agora utilizo um componente da devart chamado VirtualTable que vem junto com
o ODAC da devart,  mais é pago. Se não me engano, o JEDI VCl tem um
componente chamado TJvMemoryTable, nunca usei, mais acredito ser mais
otimizado.

Em 15 de julho de 2010 18:08, Valdemir (yahoo)
valdemi...@yahoo.com.brescreveu:



 Pessoal estou montando uma rotina para gerar o sped, em um movimento
 pequeno ok a rotina roda legal, mas em um movimento grande ao dar insert no
 CDS da erro Out Of Memory, apos processar um grande numero de registros

 Eu tenho um CDS onde vou armazenando os dados, para depois fazer um loop e
 jogar no TXT, para mim foi a saída mais fácil que eu encontrei, primeiro
 leio as tabelas e jogo no CDS, ai no CDS já com os dados no formato do
 governo, faço um loop no cds e gravo para o txt

 A principio estava usando um CDS em memoria, e ai é logico que deu o erro,
 mas ao preencher a propriedade FileName com o nome do arquivo ... ele
 começou a gerar os dados em arquivo binário, até ai ok, mas não encontrei
 nenhuma propriedade que eu informo que ele descarregue da memoria ram a cada
 x registros, então mesmo informado a propriedade nome do arquivo .. ele cria
 um arquivo.. e começa o processo, mas o tamanho fica com 0 até dar out of
 memory, e ai o tamanho do arquivo salta de 0 para um numero em bytes que ele
 conseguiu gerar

 Da a entender que mesmo informando o FileName, ele continua trabalhando
 somente com memoria ram, e só descarrega ela.. quando da o erro, eu imaginei
 que como esta informado o nome do arquivo, ele automaticamente ao carregar a
 RAM iria salvar os dados em disco, procurei no help mas não encontrei nenhum
 método ou propriedade para isso, antigamente no bde existia uma api para
 isso, mas no ClientDataSet eu não encontrei

 Alguém faz idéia do que possa estar ocorrendo ?

 Obrigado
 Valdemir

 [As partes desta mensagem que não continham texto foram removidas]

  



[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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [delphi-br] ClientDataSet - Out Of Memory

2010-07-15 Por tôpico Dirlei Dionísio
Valdemir, se você prefere jogar os dados num ClientDataset para depois
passar para um TXT, não precisa acumular todos os dados no
ClientDataset para só no final gravar no TXT. Faça isso registro a
registro, assim você só manterá em memória um registro por vez.


--
Dirlei Dionísio
http://MaisQueBomCodigo.blogspot.com



Em 15 de julho de 2010 18:19, Fabricio Colombo
fabricio.colombo@gmail.com escreveu:
 Eu já tive problemas utilizando TClientDataSet em memória parecido com isso
 devido a grande quantidade de registros, sem falar no desempenho deplorável.
 Agora utilizo um componente da devart chamado VirtualTable que vem junto com
 o ODAC da devart,  mais é pago. Se não me engano, o JEDI VCl tem um
 componente chamado TJvMemoryTable, nunca usei, mais acredito ser mais
 otimizado.

 Em 15 de julho de 2010 18:08, Valdemir (yahoo)
 valdemi...@yahoo.com.brescreveu:



 Pessoal estou montando uma rotina para gerar o sped, em um movimento
 pequeno ok a rotina roda legal, mas em um movimento grande ao dar insert no
 CDS da erro Out Of Memory, apos processar um grande numero de registros

 Eu tenho um CDS onde vou armazenando os dados, para depois fazer um loop e
 jogar no TXT, para mim foi a saída mais fácil que eu encontrei, primeiro
 leio as tabelas e jogo no CDS, ai no CDS já com os dados no formato do
 governo, faço um loop no cds e gravo para o txt

 A principio estava usando um CDS em memoria, e ai é logico que deu o erro,
 mas ao preencher a propriedade FileName com o nome do arquivo ... ele
 começou a gerar os dados em arquivo binário, até ai ok, mas não encontrei
 nenhuma propriedade que eu informo que ele descarregue da memoria ram a cada
 x registros, então mesmo informado a propriedade nome do arquivo .. ele cria
 um arquivo.. e começa o processo, mas o tamanho fica com 0 até dar out of
 memory, e ai o tamanho do arquivo salta de 0 para um numero em bytes que ele
 conseguiu gerar

 Da a entender que mesmo informando o FileName, ele continua trabalhando
 somente com memoria ram, e só descarrega ela.. quando da o erro, eu imaginei
 que como esta informado o nome do arquivo, ele automaticamente ao carregar a
 RAM iria salvar os dados em disco, procurei no help mas não encontrei nenhum
 método ou propriedade para isso, antigamente no bde existia uma api para
 isso, mas no ClientDataSet eu não encontrei

 Alguém faz idéia do que possa estar ocorrendo ?

 Obrigado
 Valdemir

 [As partes desta mensagem que não continham texto foram removidas]





 [As partes desta mensagem que não continham texto foram removidas]



 

 --
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 






[delphi-br] [NDDV] Tratamento de PDV Off-line e On-line

2010-07-15 Por tôpico Jean Barreiros
Olá, pessoal gsotaria da opinião de vocês sobre o uso do ClientPDV(DataSnap+ 
Delphi2010) .
Qual a melhor maneira na opnião de cada um em relação ao tratamento do uso 
Off-Line e On-Line?
Tenho o seguinte ambiente:
-AppServer
-AppClient

Quando o AppClient não acha conexão com o AppServer, qual a melhor forma de 
guardar esses dados localmente e depois sincronizar para o AppServer?

Uma AppMonitor para verifiar se existe pendencia a ser enviada para o AppServer 
seria a solução? (Usando Threads)
A própria AppClient fazer isso usando Threads?

E é melhor guardo em um Banco de Dados local?
Se sim, Ter um Banco de Dados igual ao do Server, ou somente com as informações 
necessárias para funcionar o AppClient?

O que os amigos acham sobre tudo isso?

Grato, ===
Jean Barreiros
  Programador/Web-Designer
  Delphi|C++|PHP|JavaScript
  FireBird|MySql|SQLServer
  PostGree|Oracle
  msn: delphij...@gmail.com
  e-mail: delphij...@yahoo.com.br
===


  

[As partes desta mensagem que não continham texto foram removidas]