Re: [delphi-br] Saber Posição X e Y da linha selecionada no DBGrid
On 2/19/07, Renato Lorandi [EMAIL PROTECTED] wrote: use o evento onMouseUp dentro desse evento vc tem como pegar as coordenadas do mouse.. valeu. É uma opção. Mas não resolve meu problema porque se o usuário usar as setas do teclado para trocar qual o registro atual não vai chamar a procedure. Valeu. -- Leodinei Bielak http://leodinei.blogspot.com/ In theory, there is no difference between theory and practice. In practice, however..
RESOLVIDO [delphi-br] Shiftar em Delphi
-- Cabeçalho original --- De: delphi-br@yahoogrupos.com.br Para: delphi-br@yahoogrupos.com.br Cópia: Data: Mon, 19 Feb 2007 15:15:46 -0200 Assunto: RES: [delphi-br] Shiftar em Delphi Seria isso ? x shl 2 y shr 3 [ ] s Gerhard Roger Nack [EMAIL PROTECTED] De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de humbertogrupos Enviada em: segunda-feira, 19 de fevereiro de 2007 14:20 Para: delphi-br Assunto: [delphi-br] Shiftar em Delphi Olá colegas, estou precisando shiftar valores ( Transformação ShiftRow ) no Delphi. Seria o equivalente ao ou do C++. ALguém poderia me ajudar? Obrigado. [As partes desta mensagem que não continham texto foram removidas]
RE: [delphi-br] Criar Matriz 4 col e 2 lin.
Ora, simples! var t: array [1..4, 1..4] of tipo_de_dado; Maiores esclarecimentos, sugiro consultar o excelente help do Delphi. Isso é Object Pascal básico! Sds. From: humbertogrupos [EMAIL PROTECTED] Reply-To: delphi-br@yahoogrupos.com.br To: delphi-br delphi-br@yahoogrupos.com.br Subject: [delphi-br] Criar Matriz 4 col e 2 lin. Date: Tue, 20 Feb 2007 08:19:05 -0300 Bem, estou transpassando um algorítmo em C para Delphi. Me deparei com o seguinte array: t[4][4] Como fazer isso no Delphi? Vlw. _ MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br
RE: [delphi-br] Criar Matriz 4 col e 2 lin.
Obrigado Sr. sabe-tudo, mas não funcionou. Vou esclarecer mais o caso: Tenho uma procedure que recebe como parâmetro esse array Seria algo assim: procedure TForm1.Teste (t : array[0..3, 0..3] of LongInt; linha : Integer); Porém não funciona, diz q era esperado um of, mas encontra [ Em C está assim: void Teste(long t[4][4], int linha) Alguém? -- Cabeçalho original --- De: delphi-br@yahoogrupos.com.br Para: delphi-br@yahoogrupos.com.br Cópia: Data: Tue, 20 Feb 2007 11:44:48 + Assunto: RE: [delphi-br] Criar Matriz 4 col e 2 lin. Ora, simples! var t: array [1..4, 1..4] of tipo_de_dado; Maiores esclarecimentos, sugiro consultar o excelente help do Delphi. Isso é Object Pascal básico! Sds. From: humbertogrupos [EMAIL PROTECTED] Reply-To: delphi-br@yahoogrupos.com.br To: delphi-br delphi-br@yahoogrupos.com.br Subject: [delphi-br] Criar Matriz 4 col e 2 lin. Date: Tue, 20 Feb 2007 08:19:05 -0300 Bem, estou transpassando um algorítmo em C para Delphi. Me deparei com o seguinte array: t[4][4] Como fazer isso no Delphi? Vlw. _ MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br
RE: [delphi-br] Criar Matriz 4 col e 2 lin.
Ora, vc não forneceu mais detalhes sobre problema! Como poderia se imaginar que vc queria uma declaração de vetor desse jeito em uma declaração de parâmetros? Isso em Object Pascal não existe. Pra resolver isso, vc terá que fazer uma declaração de tipo de vetor de acordo com o que sua função precisa, assim: type TVetor = array [0..3, 0..3] of LongInt; Depois, alterar a interface/protótipo de sua função pra usar esse tipo de vetor, assim: procedure TForm1.Teste(t: TVetor; linha: Integer); Isso daí resolve! E da próxima vez, forneça mais detalhes sobre o seu problema, pq na mensagem inicial vc apenas mencionou uma declaração de vetor, e pelo que vc postou eu imaginei apenas uma declaração de variável array. Sds. From: humbertogrupos [EMAIL PROTECTED] Reply-To: delphi-br@yahoogrupos.com.br To: delphi-br delphi-br@yahoogrupos.com.br Subject: RE: [delphi-br] Criar Matriz 4 col e 2 lin. Date: Tue, 20 Feb 2007 09:54:26 -0300 Obrigado Sr. sabe-tudo, mas não funcionou. Vou esclarecer mais o caso: Tenho uma procedure que recebe como parâmetro esse array Seria algo assim: procedure TForm1.Teste (t : array[0..3, 0..3] of LongInt; linha : Integer); Porém não funciona, diz q era esperado um of, mas encontra [ Em C está assim: void Teste(long t[4][4], int linha) Alguém? -- Cabeçalho original --- De: delphi-br@yahoogrupos.com.br Para: delphi-br@yahoogrupos.com.br Cópia: Data: Tue, 20 Feb 2007 11:44:48 + Assunto: RE: [delphi-br] Criar Matriz 4 col e 2 lin. Ora, simples! var t: array [1..4, 1..4] of tipo_de_dado; Maiores esclarecimentos, sugiro consultar o excelente help do Delphi. Isso é Object Pascal básico! Sds. From: humbertogrupos [EMAIL PROTECTED] Reply-To: delphi-br@yahoogrupos.com.br To: delphi-br delphi-br@yahoogrupos.com.br Subject: [delphi-br] Criar Matriz 4 col e 2 lin. Date: Tue, 20 Feb 2007 08:19:05 -0300 Bem, estou transpassando um algorítmo em C para Delphi. Me deparei com o seguinte array: t[4][4] Como fazer isso no Delphi? Vlw. _ MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br _ MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br
Re: [delphi-br] Criar Matriz 4 col e 2 lin.
Huberto, Tente assim: procedure TForm1.Teste (t : array of [0..3, 0..3] of LongInt; linha : Integer); [ ]´s Moacir humbertogrupos escreveu: Obrigado Sr. sabe-tudo, mas não funcionou. Vou esclarecer mais o caso: Tenho uma procedure que recebe como parâmetro esse array Seria algo assim: procedure TForm1.Teste (t : array[0..3, 0..3] of LongInt; linha : Integer); Porém não funciona, diz q era esperado um of, mas encontra [ Em C está assim: void Teste(long t[4][4], int linha) Alguém? -- Cabeçalho original --- De: delphi-br@yahoogrupos.com.br Para: delphi-br@yahoogrupos.com.br Cópia: Data: Tue, 20 Feb 2007 11:44:48 + Assunto: RE: [delphi-br] Criar Matriz 4 col e 2 lin. Ora, simples! var t: array [1..4, 1..4] of tipo_de_dado; Maiores esclarecimentos, sugiro consultar o excelente help do Delphi. Isso é Object Pascal básico! Sds. From: humbertogrupos [EMAIL PROTECTED] Reply-To: delphi-br@yahoogrupos.com.br To: delphi-br delphi-br@yahoogrupos.com.br Subject: [delphi-br] Criar Matriz 4 col e 2 lin. Date: Tue, 20 Feb 2007 08:19:05 -0300 Bem, estou transpassando um algorítmo em C para Delphi. Me deparei com o seguinte array: t[4][4] Como fazer isso no Delphi? Vlw. _ MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br
[delphi-br] Sons em Delphi
Galera, Gostaria de incluir um som quando clicar em um Botão (BitBtn), que componente vcs conhecem que posso usar para executar mp3 ou wav ou wma. Abraços [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Criar Matriz 4 col e 2 lin.
var a: array[0..4,0..4] of integer; begin a[0][1]:=12; end; Falow Em 20/02/07, Rubem Nascimento da Rocha [EMAIL PROTECTED] escreveu: Ora, simples! var t: array [1..4, 1..4] of tipo_de_dado; Maiores esclarecimentos, sugiro consultar o excelente help do Delphi. Isso é Object Pascal básico! Sds. From: humbertogrupos [EMAIL PROTECTED]humbertogrupos%40terra.com.br Reply-To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br To: delphi-br delphi-br@yahoogrupos.com.brdelphi-br%40yahoogrupos.com.br Subject: [delphi-br] Criar Matriz 4 col e 2 lin. Date: Tue, 20 Feb 2007 08:19:05 -0300 Bem, estou transpassando um algorítmo em C para Delphi. Me deparei com o seguinte array: t[4][4] Como fazer isso no Delphi? Vlw. __ MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br -- Lidei com coisas que eu jamais entenderei Ah! Se eu pudesse estar em paz me livrar do pesadelo de vê-lo nesse estado, e não poder ajudá-lo, não mais triste é não poder mudar, porque estais tão revoltado irmão? [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Criar Matriz 4 col e 2 lin.
Mestre Moacir, já postei uma solução pra esse problema. O compilador Object Pascal não reconhece esse tipo de sintaxe. Veja a outra resposta que postei para o problema. Sds. From: Moacir - Prisma [EMAIL PROTECTED] Reply-To: delphi-br@yahoogrupos.com.br To: delphi-br@yahoogrupos.com.br Subject: Re: [delphi-br] Criar Matriz 4 col e 2 lin. Date: Tue, 20 Feb 2007 11:01:40 -0200 Huberto, Tente assim: procedure TForm1.Teste (t : array of [0..3, 0..3] of LongInt; linha : Integer); [ ]´s Moacir humbertogrupos escreveu: Obrigado Sr. sabe-tudo, mas não funcionou. Vou esclarecer mais o caso: Tenho uma procedure que recebe como parâmetro esse array Seria algo assim: procedure TForm1.Teste (t : array[0..3, 0..3] of LongInt; linha : Integer); Porém não funciona, diz q era esperado um of, mas encontra [ Em C está assim: void Teste(long t[4][4], int linha) Alguém? -- Cabeçalho original --- De: delphi-br@yahoogrupos.com.br Para: delphi-br@yahoogrupos.com.br Cópia: Data: Tue, 20 Feb 2007 11:44:48 + Assunto: RE: [delphi-br] Criar Matriz 4 col e 2 lin. Ora, simples! var t: array [1..4, 1..4] of tipo_de_dado; Maiores esclarecimentos, sugiro consultar o excelente help do Delphi. Isso é Object Pascal básico! Sds. From: humbertogrupos [EMAIL PROTECTED] Reply-To: delphi-br@yahoogrupos.com.br To: delphi-br delphi-br@yahoogrupos.com.br Subject: [delphi-br] Criar Matriz 4 col e 2 lin. Date: Tue, 20 Feb 2007 08:19:05 -0300 Bem, estou transpassando um algorítmo em C para Delphi. Me deparei com o seguinte array: t[4][4] Como fazer isso no Delphi? Vlw. _ MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br _ MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br
Re: [delphi-br] Criar Matriz 4 col e 2 lin.
Humberto, Na verdade vc precisa declarar um tipo para isto: Veja como: Na declaração de Types do teu form coloque: Types //-- Inclua esta linha MeuArray = array [0..3,0..3] of integer; TForm1 = class(TForm)... Na declaração da função: public { Public declarations } function teste(t: MeuArray):integer; end; . function TForm1.teste(t: MeuArray):integer; begin end; [ ]´s Moacir humbertogrupos escreveu: Obrigado Sr. sabe-tudo, mas não funcionou. Vou esclarecer mais o caso: Tenho uma procedure que recebe como parâmetro esse array Seria algo assim: procedure TForm1.Teste (t : array[0..3, 0..3] of LongInt; linha : Integer); Porém não funciona, diz q era esperado um of, mas encontra [ Em C está assim: void Teste(long t[4][4], int linha) Alguém? -- Cabeçalho original --- De: delphi-br@yahoogrupos.com.br Para: delphi-br@yahoogrupos.com.br Cópia: Data: Tue, 20 Feb 2007 11:44:48 + Assunto: RE: [delphi-br] Criar Matriz 4 col e 2 lin. Ora, simples! var t: array [1..4, 1..4] of tipo_de_dado; Maiores esclarecimentos, sugiro consultar o excelente help do Delphi. Isso é Object Pascal básico! Sds. From: humbertogrupos [EMAIL PROTECTED] Reply-To: delphi-br@yahoogrupos.com.br To: delphi-br delphi-br@yahoogrupos.com.br Subject: [delphi-br] Criar Matriz 4 col e 2 lin. Date: Tue, 20 Feb 2007 08:19:05 -0300 Bem, estou transpassando um algorítmo em C para Delphi. Me deparei com o seguinte array: t[4][4] Como fazer isso no Delphi? Vlw. _ MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br
RES: [delphi-br] Sons em Delphi
Desde que o computador tenha os codecs para reproduzir mp3 ou wma instalados, vc pode usar o proprio TMediaPlayer, eh só seguir qualquer tutorial que ensine como reproduzir wav, que ele vai funcionar com o mp3 também. Nas propiedades do MediaPlayer, mostra apenas wav, mid e avi, mas ele reproduz quase q qualquer coisa, contanto que os codecs estejam no pc... se for coisa pouca, é melhor converter para wav mesmo, se for grande e tiver que reproduzir em mp3, certifique-se que o computador-destino vai ter o necessário para isso! Bom Código Ricardo Berti _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Wagner Binoto Enviada em: terça-feira, 20 de fevereiro de 2007 09:46 Para: delphi-br@yahoogrupos.com.br Assunto: [delphi-br] Sons em Delphi Galera, Gostaria de incluir um som quando clicar em um Botão (BitBtn), que componente vcs conhecem que posso usar para executar mp3 ou wav ou wma. Abraços [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] DirectX OpenGL
Vá em www.glscene.org -- Marcos Douglas Mensagem Original From: Gerhard Roger Nack [EMAIL PROTECTED] To: delphi-br@yahoogrupos.com.br Sent: Seg, Fevereiro 19, 2007 11:41 am Subject: [delphi-br] DirectX OpenGL Alguém conhece uma boa biblioteca VCL para se trabalhar com DirectX no Delphi ? Estou testando a xorDX8 com DirectX9 mas tem coisas que não estou conseguindo fazer com ela. Como por exemplo clicar com o mouse em alguma região do ambiente DIRECTX e identificar exatamente a posição do mouse e qual o objeto que foi selecionado. E aproveitando, se alguém conhecer algum componente para OpenGL seria interessante para fazer uns testes. Gerhard Roger Nack [EMAIL PROTECTED] [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Links do Yahoo! Grupos
RES: [delphi-br] Criar Matriz 4 col e 2 lin.
Em Delphi (object pascal) você não pode passar a declaração do array como parâmetro. É necessário criar primeiro um tipo para este array e ai sim dizer que a variável é desse tipo. Ex: Type TMeuArray = array[0..3, 0..3] of Longint; Procedure TForm1.Teste(t: TMeuArray; Linha: Integer); Begin End; Procedure TForm1.Chamar; Var T: TMeuArray; Begin Teste(t, 2); End; De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de humbertogrupos Enviada em: terça-feira, 20 de fevereiro de 2007 10:54 Para: delphi-br Assunto: RE: [delphi-br] Criar Matriz 4 col e 2 lin. Obrigado Sr. sabe-tudo, mas não funcionou. Vou esclarecer mais o caso: Tenho uma procedure que recebe como parâmetro esse array Seria algo assim: procedure TForm1.Teste (t : array[0..3, 0..3] of LongInt; linha : Integer); Porém não funciona, diz q era esperado um of, mas encontra [ Em C está assim: void Teste(long t[4][4], int linha) Alguém? -- Cabeçalho original --- De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br Cópia: Data: Tue, 20 Feb 2007 11:44:48 + Assunto: RE: [delphi-br] Criar Matriz 4 col e 2 lin. Ora, simples! var t: array [1..4, 1..4] of tipo_de_dado; Maiores esclarecimentos, sugiro consultar o excelente help do Delphi. Isso é Object Pascal básico! Sds. From: humbertogrupos [EMAIL PROTECTED] mailto:humbertogrupos%40terra.com.br Reply-To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br To: delphi-br delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br Subject: [delphi-br] Criar Matriz 4 col e 2 lin. Date: Tue, 20 Feb 2007 08:19:05 -0300 Bem, estou transpassando um algorítmo em C para Delphi. Me deparei com o seguinte array: t[4][4] Como fazer isso no Delphi? Vlw. __ MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Ajuda com SQL parte 2
Vai ai uma dica para o uso do between nas consultas sql: tome cuidado com o tipo de dado declarado no seu banco de dados. O de costume é criar campo para armazenamento deste tipo de dado com DateTime... desta forma, se o usuario selecionar um intervalo para pesquisa semelhante ao q se segue: 01/01/2000 a 01/01/2010 a consultra não trará os dados de 01/01/2010... para tal, deve-se acrescentar 1 na data final... ;o) Espero ñ ter aprendido errado e ter acrescentado algo para vcs...rs.. Tamara Clemente Analista Desenvolvedor Em 19/02/07, Andrei Luís[EMAIL PROTECTED] escreveu: Os parâmetros você declara na propriedade Params do seu ADOQuery, e pra alimentá-los você faz assim: ADOQuery1.ParamByName('Data1').asDate := StrToDate(MaskEdit1.Text); ADOQuery1.ParamByName('Data2').asDate := StrToDate(MaskEdit2.Text); [] Andrei Em 19/02/07, Elizeu jaime Martins Chiogna[EMAIL PROTECTED] escreveu: Conforme dica do Guilherme já consegui contar os registros iguais com ADOQuery no BD access, blz. Mas agora se inverteu nao consigo filtrar entre datas falta declarar Data1 e Data2 não estou conseguindo com MasKEdit1. Bom até agora se eu inserir a data no código dá certo assim: ADOQuery1.SQL.Add('WHERE DataDevolucao BETWEEN #01/01/2007# and #18/02/2007#'); mas não é isso... eu quero tipo+ou- assim: ADOQuery1.SQL.Add('WHERE (DataDevolucao Between '+QuotedStr (MaskEdit1.Text)+' And '+QuotedStr(MaskEdit2.Text)+')'); mas não dá certo então ADOQuery1.SQL.Add('WHERE DataDevolucao Between :Data1 and Data2);// assim tem que declarar Data1 e Data2 usando parametro e linkar com os MaskEdit alguem pode me ajudar
Re: [delphi-br] Ajuda com SQL parte 2
Oi *Tamara, *não sei a qual banco de dados vc se referiu, mas no mySQL o Between tras o intervalo completo, sem precisar colocar +1 na data final. Em 20/02/07, Tamara Clemente [EMAIL PROTECTED] escreveu: Vai ai uma dica para o uso do between nas consultas sql: tome cuidado com o tipo de dado declarado no seu banco de dados. O de costume é criar campo para armazenamento deste tipo de dado com DateTime... desta forma, se o usuario selecionar um intervalo para pesquisa semelhante ao q se segue: 01/01/2000 a 01/01/2010 a consultra não trará os dados de 01/01/2010... para tal, deve-se acrescentar 1 na data final... ;o) Espero ñ ter aprendido errado e ter acrescentado algo para vcs...rs.. Tamara Clemente Analista Desenvolvedor Em 19/02/07, Andrei Luís[EMAIL PROTECTED]compuvale.software%40gmail.com escreveu: Os parâmetros você declara na propriedade Params do seu ADOQuery, e pra alimentá-los você faz assim: ADOQuery1.ParamByName('Data1').asDate := StrToDate(MaskEdit1.Text); ADOQuery1.ParamByName('Data2').asDate := StrToDate(MaskEdit2.Text); [] Andrei Em 19/02/07, Elizeu jaime Martins Chiogna[EMAIL PROTECTED]novoelizeu%40yahoo.com.br escreveu: Conforme dica do Guilherme já consegui contar os registros iguais com ADOQuery no BD access, blz. Mas agora se inverteu nao consigo filtrar entre datas falta declarar Data1 e Data2 não estou conseguindo com MasKEdit1. Bom até agora se eu inserir a data no código dá certo assim: ADOQuery1.SQL.Add('WHERE DataDevolucao BETWEEN #01/01/2007# and #18/02/2007#'); mas não é isso... eu quero tipo+ou- assim: ADOQuery1.SQL.Add('WHERE (DataDevolucao Between '+QuotedStr (MaskEdit1.Text)+' And '+QuotedStr(MaskEdit2.Text)+')'); mas não dá certo então ADOQuery1.SQL.Add('WHERE DataDevolucao Between :Data1 and Data2);// assim tem que declarar Data1 e Data2 usando parametro e linkar com os MaskEdit alguem pode me ajudar -- Eduardo Silva dos Santos DRD Sistemas. (27) 3218-4201 MSN: [EMAIL PROTECTED] Site: http://www.drdsistemas.com/ [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Re: Enter funcionando como Tab
Sem crise. Embora uma simples funçãozinha em um unit global funcione, se souber desenvolver componentes vc pode embutir isso em um componente não visual e usá-lo em todos os seus projetos. Foi o que fiz. Desenvolvi um paleta de componentes pra minha empresa e coloquei essas bobeirinhas pra agilizar o processo de desenvolvimento. Fica bem interessante pq não preciso depender de componentes de terceiro. flw. Mensagem original De: blcksun954 [EMAIL PROTECTED] Para: delphi-br@yahoogrupos.com.br Assunto: [delphi-br] Re: Enter funcionando como Tab Data: 19-02-2007 19:48 Funcionou perfeitamente e era exatamente o que eu queria. Obrigado pela ajuda e desculpe não ter respondido antes. --- Em delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br, Adriano Santos (Yahoo) [EMAIL PROTECTED] escreveu Bom, o modo mais simples que consegui foi desviar o evento onMessage do objeto TApplication para uma função e nela codificar o que preciso vejam: procedure TrocaTabPorEnter(var Msg: TMsg; var Handled: Boolean); begin if not ((Screen.ActiveControl is TCustomMemo) or (Screen.ActiveControl is TCustomGrid) or (Screen.ActiveControl is TButton) or (Screen.ActiveControl is TBitBtn) or (Screen.ActiveForm.ClassName = 'TMessageForm')) then if (Msg.message = WM_KEYDOWN) then case Msg.wParam of VK_RETURN, VK_DOWN: Screen.ActiveForm.Perform(WM_NextDlgCtl, 0, 0); VK_UP: Screen.ActiveForm.Perform(WM_NextDlgCtl, 1, 0); end; end; Não engloba todos os componentes, mas basta adicionar isso uma vez no form principal ou no primeiro form que é criado pelo sistema e pronto. O sistema inteiro já sabe que o enter funciona como tab. Vai precisar estudar as classes e incluir conforme sua necessidade. Uma dica: TCustomCLASSE_DO_COMPONENTE Muitos componentes tem uma classe superior com o Custom na frente, ou seja, todo componente herdado do TMemo é herdado do TCustomMemo, isso significa que já englobam todos os tipos de memo da sua aplicação. E assim ocorrem com outros componentes. É só dar um F1 em algum componente e ver sua hierarquia de classes e pegar a mais alta possível. Pra desviar o evento basta fazer assim: Application.onMessage := TrocaTabPorEnter; Note que a assinatura da procure deve ser igual a do evento onMessage do TApplication; {Minha function} procedure TrocaTabPorEnter(var Msg: TMsg; var Handled: Boolean); {Função do delphi em FORMS} TMessageEvent = procedure (var Msg: TMsg; var Handled: Boolean) of object; -- *Adriano Santos* Desenvolvedor Delphi desde 1998. Professor e programador PHP. Bacharel em Comunicação Social pela Universidade Cruzeiro do Sul, SP. Colunista e Comissão Editorial da revista ClubeDelphi. albertoferreirafilho respondeu: Creio que não precise componentes para isso. No seu form você altera a propriedade KeyPreview para true, no evento OnKeyPress coloque o seguinte: if key = Char( VK_RETURN ) then begin PostMessage( Form.Handle, WM_NEXTDLGCTL, 0, 0 ); Key:= Chr( 0 ); end; Pronto, todos os seus campos vão pular para o próximo. Se quiser ser mais purista, faça que todos os teus forms descendam deste único em que vc vai colocar a função, daí não precisa colocar isso em cada formulário criado. --- Em delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br, Jefferson - Fórum t_object@ escreveu Instala com componentes da suíte Jedi, que lá você terá o componente: TJvEnterAsTab, ele ajuda demais nesses casos. Boa sorte! Jefferson - Original Message - From: barblo25 To: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br Sent: Friday, February 09, 2007 2:00 PM Subject: [delphi-br] Re: Enter funcionando como Tab Meu Brother ver se esse funciona pra vc. Pois eu utilizo essa rotina no evento onKeyDown do form. E depois vc utiliza herança, estais entendo?. Qualquer coisa eh so dizer. Ele so não ativa quando eh em DBGRID. var bDirecao: Integer; begin bDirecao := -1; if not (ActiveControl is TDBGrid) then begin case Key of VK_UP: bDirecao := 1; VK_DOWN,VK_RETURN: bDirecao := 0; end; if (bDirecao -1) then perform(WM_NEXTDLGCTL, bDirecao, 0) ; end; end; --- Em delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br, blcksun954 carlosrpnegrao@ escreveu Tem algum modo simples de fazer com que todos os componnetes de edição (TEdit, TComboBox, etc...) de um projeto passem a tratar a tecla Enter como tratam a Tab sem ter de escrever uma função pra cada componente? Estou usando Delphi 5.
Re: [delphi-br] Ajuda com SQL parte 2
Sem entrar no mérito do uso do between, mas apenas com relação ao que voce disse refernete a acrescentar um a data, voce pode resolver isto de forma mais elegante e segura tomando a seguinte precaução: antes de enviar a dataou o parâmentro contendo a data, fazer o seguinte: ... dataminima := DateOf(Campo DateTime);(DateOf é uma função contida na Unit DateUtils do Delphi) o problema da comparação de datas quando os campos são Datetime e que eles contem tambem a hora e se voce quizer fazer a comparação, voce teria que indicar a data e a hora ( acho que o defult da hora é 00:00:00). Mas se voce usar DateOf(DataDesejada) vai funcionar perfeitamente sem a necessidade de aumentar 1. Edison - Original Message - From: Tamara Clemente [EMAIL PROTECTED] To: delphi-br@yahoogrupos.com.br Sent: Tuesday, February 20, 2007 5:41 PM Subject: Re: [delphi-br] Ajuda com SQL parte 2 Vai ai uma dica para o uso do between nas consultas sql: tome cuidado com o tipo de dado declarado no seu banco de dados. O de costume é criar campo para armazenamento deste tipo de dado com DateTime... desta forma, se o usuario selecionar um intervalo para pesquisa semelhante ao q se segue: 01/01/2000 a 01/01/2010 a consultra não trará os dados de 01/01/2010... para tal, deve-se acrescentar 1 na data final... ;o) Espero ñ ter aprendido errado e ter acrescentado algo para vcs...rs.. Tamara Clemente Analista Desenvolvedor Em 19/02/07, Andrei Luís[EMAIL PROTECTED] escreveu: Os parâmetros você declara na propriedade Params do seu ADOQuery, e pra alimentá-los você faz assim: ADOQuery1.ParamByName('Data1').asDate := StrToDate(MaskEdit1.Text); ADOQuery1.ParamByName('Data2').asDate := StrToDate(MaskEdit2.Text); [] Andrei Em 19/02/07, Elizeu jaime Martins Chiogna[EMAIL PROTECTED] escreveu: Conforme dica do Guilherme já consegui contar os registros iguais com ADOQuery no BD access, blz. Mas agora se inverteu nao consigo filtrar entre datas falta declarar Data1 e Data2 não estou conseguindo com MasKEdit1. Bom até agora se eu inserir a data no código dá certo assim: ADOQuery1.SQL.Add('WHERE DataDevolucao BETWEEN #01/01/2007# and #18/02/2007#'); mas não é isso... eu quero tipo+ou- assim: ADOQuery1.SQL.Add('WHERE (DataDevolucao Between '+QuotedStr (MaskEdit1.Text)+' And '+QuotedStr(MaskEdit2.Text)+')'); mas não dá certo então ADOQuery1.SQL.Add('WHERE DataDevolucao Between :Data1 and Data2);// assim tem que declarar Data1 e Data2 usando parametro e linkar com os MaskEdit alguem pode me ajudar -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Links do Yahoo! Grupos
Re: [delphi-br] Ajuda com SQL parte 2
Bom saber do DateOf..rs.. Quanto ao banco de dados, seria na utilização de MS SQL, Firebird e Oracle... pelo menos foi trabalhando com estes bancos q me ensinaram...rs... Tamara Clemente Analista Desenvolvedora Em 20/02/07, Edison DRP[EMAIL PROTECTED] escreveu: Sem entrar no mérito do uso do between, mas apenas com relação ao que voce disse refernete a acrescentar um a data, voce pode resolver isto de forma mais elegante e segura tomando a seguinte precaução: antes de enviar a dataou o parâmentro contendo a data, fazer o seguinte: ... dataminima := DateOf(Campo DateTime);(DateOf é uma função contida na Unit DateUtils do Delphi) o problema da comparação de datas quando os campos são Datetime e que eles contem tambem a hora e se voce quizer fazer a comparação, voce teria que indicar a data e a hora ( acho que o defult da hora é 00:00:00). Mas se voce usar DateOf(DataDesejada) vai funcionar perfeitamente sem a necessidade de aumentar 1. Edison - Original Message - From: Tamara Clemente [EMAIL PROTECTED] To: delphi-br@yahoogrupos.com.br Sent: Tuesday, February 20, 2007 5:41 PM Subject: Re: [delphi-br] Ajuda com SQL parte 2 Vai ai uma dica para o uso do between nas consultas sql: tome cuidado com o tipo de dado declarado no seu banco de dados. O de costume é criar campo para armazenamento deste tipo de dado com DateTime... desta forma, se o usuario selecionar um intervalo para pesquisa semelhante ao q se segue: 01/01/2000 a 01/01/2010 a consultra não trará os dados de 01/01/2010... para tal, deve-se acrescentar 1 na data final... ;o) Espero ñ ter aprendido errado e ter acrescentado algo para vcs...rs.. Tamara Clemente Analista Desenvolvedor Em 19/02/07, Andrei Luís[EMAIL PROTECTED] escreveu: Os parâmetros você declara na propriedade Params do seu ADOQuery, e pra alimentá-los você faz assim: ADOQuery1.ParamByName('Data1').asDate := StrToDate(MaskEdit1.Text); ADOQuery1.ParamByName('Data2').asDate := StrToDate(MaskEdit2.Text); [] Andrei Em 19/02/07, Elizeu jaime Martins Chiogna[EMAIL PROTECTED] escreveu: Conforme dica do Guilherme já consegui contar os registros iguais com ADOQuery no BD access, blz. Mas agora se inverteu nao consigo filtrar entre datas falta declarar Data1 e Data2 não estou conseguindo com MasKEdit1. Bom até agora se eu inserir a data no código dá certo assim: ADOQuery1.SQL.Add('WHERE DataDevolucao BETWEEN #01/01/2007# and #18/02/2007#'); mas não é isso... eu quero tipo+ou- assim: ADOQuery1.SQL.Add('WHERE (DataDevolucao Between '+QuotedStr (MaskEdit1.Text)+' And '+QuotedStr(MaskEdit2.Text)+')'); mas não dá certo então ADOQuery1.SQL.Add('WHERE DataDevolucao Between :Data1 and Data2);// assim tem que declarar Data1 e Data2 usando parametro e linkar com os MaskEdit alguem pode me ajudar -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Links do Yahoo! Grupos