GARANTIR DESCONTO

Fórum DBGrid #197612

28/11/2003

0

Qual é evento no DBGrid para quando se muda de registro, independente de ser através do click do mouse ou pela barra lateral?


Gandalf

Gandalf

Responder

Posts

28/11/2003

Marcelo.c

Experimente utilizar o evento AfterScrool do DataSet exibido no DBGrid.


Responder

Gostei + 0

28/11/2003

Gandalf

cara o problema e que eu tenho que fazer isso na form por causa de um loop e eu to usando data module
se tiver outro jeito me fala senão um ponho um dataset na form

muito obrigado!!!


Responder

Gostei + 0

28/11/2003

Marcelo.c

Você pode declarar o Form onde está o DBGrid no uses do DataModule e criar o código no evento AfterScrool.

Você pode, por exemplo, utilizar este código:

FormGrid.DBgrid1.Visible:=False;

Assim você está indicando que deseja alterar o DBGrid1 do Formulário FormGrid.


Responder

Gostei + 0

28/11/2003

Gandalf

o problema e que eu preciso modificar o valor de uma string que esta na form


Responder

Gostei + 0

28/11/2003

Marcelo.c

o problema e que eu preciso modificar o valor de uma string que esta na form
Se for uma variável, você pode declará-la como global.


Responder

Gostei + 0

28/11/2003

Gandalf

como eu fao iss^?


Responder

Gostei + 0

28/11/2003

Marcelo.c

Você declara a variável logo acima da chamada [b:b13f3a79bc]implementation[/b:b13f3a79bc], juntamente com a declaração do Form:

var
     F_Menu: TF_Menu; variavel: String;

implementation

uses ...

($R *.DFM)


Então, com o formulário declarado no uses, você pode utilizar esta variável em qualquer outro Form.


Responder

Gostei + 0

28/11/2003

Gandalf

cara, a varialvel ja esta neste local porque varias procedures trabalham com ela. no data module eu coloquei assim e deu erro:

FormProducaoPecaConsulta.loop := ´a´;

esta errado esse codigo?


Responder

Gostei + 0

28/11/2003

Marcelo.c

FormProducaoPecaConsulta.loop := ´a´;
Só por esta linha não dá para dizer o que pode estar errado.

Coloque aqui o código da procedure loop e também a mensagem de erro emitida.


Responder

Gostei + 0

28/11/2003

Gandalf

vamos la:

essa loop é uma varial tipo string.
tenho um componente Time que verifica a cada meio segundo se na tabela PECA foi mudado de registro. se foi ele chama uma outra tabela de nome OPX(onde x é o codigo da peça). para saber se o registro foi mudado, eu coloquei no evento BeforeAction do DBNavigator da tabela peça uma procedure que grava como ´a´ a variavel loop. o componente time verifica se loop é igual a ´a´. se for executa uma rotina que muda a prorriedade tablename do ibtableOPx para o novo codigo da peça em que se esta o registro. depois grava com ´b´ a variavel loop. Isso para que nao fique executando essa rotina a cada meio segundo, o que inviabilizaria a navegação pela tabela OPx, ja que ficaria trocando de tabela a cada meio segundo.

Para facilitar a procura das peças coloquei um componente DBGrid na form, por isso preciso saber como faço para o programa perceber que foi mudado de registro pela dbgrid e gravar a varialvel como ´a´.


Responder

Gostei + 0

28/11/2003

Rafael Heise

Você está usando uma DBGrid certo?
se você está usando DBGrid, com certeza você teve de associar a ela um DataSource. Se você associou um DataSource então associou um TQuery ou TTable ou algum TDataSet. Pois bem... no TDataSource, existe uma propriedade OnDataChange, que é a cada mudança de registro do TDataSet, ou seja, da sua tabela. Use lá ao invés do AfterScroll e talz, porque o AfterScroll comigo não funcionou muito bem... sei lá porque...
Se você usar esse evento, cada vez que você mudar de registros, ele vai disparar esse evento, e ai você pode mudar sua variável para ´a´.
Beleza?
é isso ae...

Pessoal, temos que conhecer os componentes que trabalhamos... dessa forma, acharemos mais rápido a solução de nossos problemas!!!!!
Valeu!!! =)


Responder

Gostei + 0

28/11/2003

Marcelo.c

Gandalf,

Você não indicou qual a mensagem de erro aparece, mas...

Experimente utilizar apenas:

loop:= ´a´;

Como é uma variável Global, não é necessário indicar o Form de origem.


[quote:0b4453aad6=´zerneo não mediu suas palavras mas ´]Pessoal, temos que conhecer os componentes que trabalhamos... dessa forma, acharemos mais rápido a solução de nossos problemas!!!!![/quote:0b4453aad6]

O evento AfterScrool funciona perfeitamente comigo, o fato de você não ter conseguido utilizá-lo não quer dizer que não funcione.

Talvez o comentário acima também se aplique a você.

Acredito que as pessoas que freqüêntam este fórum o fazem em busca de conhecimento, não sendo, portanto, obrigados a saber tudo. Na minha opinião, comentários deste tipo servem apenas para criar uma aura de desconforto e deixar o autor mal visto entre os membros.


Responder

Gostei + 0

28/11/2003

Gandalf

pois é
não sei o quanto esse cara sabe de delphi
eu não tenho dinheiro para fazer um curso de delphi
esse ano eu tava servindo o exercito, iso quer dizer que ninguem contrata um cara que ta fazendo exercito

minha mae é aposentada publica e meu pai e desempregado, não posso ficar parado dando dispesa para eles

ai aparece uma boa alma e diz: vc quer fazer um softer que controle o meu estoque e controle minhas ordens de serviço.

o que eu deveria fazer, não aceitar efalar para ele passar daqui uns dois anos, quem sabe la eu ja saberia alguma coisa de programação. mas eu aceitei, mesmo sem saber nada de delphi

por isso venho aqui para fazer perguntas cretinas

um abraço para os atenciosos com moloides como eu, aos demais obrigado.


Responder

Gostei + 0

28/11/2003

Marcelo.c

Não esquenta, Gandalf. Há muitas pessoas no fórum dispostas a ajudar. A melhor coisa que você faz é ignorar e continuar perguntando, afinal ninguém nasceu sabendo. :wink:

Aliás, você não disse se resolveu o problema. Conseguiu ?


Responder

Gostei + 0

29/11/2003

Rafael Heise

Bom, em primeiro lugar não quis fazer esse comentário para ofender ninguém.
Realmente, não nasci sabendo nada, e nunca fiz um curso de delphi. Aprendi tudo sozinho! Trabalhei 1 ano e meio com delphi no início da minha ´carreira profissional´ sem internet. Tive que aprender tudo na marra lendo o help do delphi e os helps que eu tinha na máquina (os que vem com as instalações de componentes e com a instalação do delphi) e nem sabia tanto de ingles. Ainda não sei muito, mas aprendi bastante lendo os helps. Eu não me queimo quando falam algo assim a meu respeito, mas me queimo quando eu vejo que eu consegui aprender me batendo um monte e não desejo isso pra ninguém e pra CONHECIMENTO DE TODOS, eu tento ao máximo ajudar a todos aqui do fórum. (Vejam no fórum a quantidade de mensagens que eu coloquei e a quantidade que eu respondi se duvidam disso!!!). Quando falei que devemos conhecer os componentes, não ACHAM VERDADE??? Você marcelo., se você não conhece os componentes que você trabalha, como faria os seus programas? Eu disse isso para estimular que todos aqueles que programam, que conheçam a sua ferramenta de trabalho, pois assim vai ficar muito mais muito mais fácil fazer, ou você não concordo comigo?? Pense bem e me responda. Não estou chamando ninguém de burro. Nunca fiz isso. Mas quero apenas que as pessoas vejam e repassem isso para todos, pois não é por mim que falo isso, e sim para todos que programam. Quer satisfação maior pra você mesmo do que ter que fazer uma coisa e conseguir fazer sem depender de ninguém. Ou você não se sente bem quando tem um desafio ou um pr
Se ofendi com alguma coisa, me desculpe. E eu realmente não conheço todos os componentes, mas sempre que tenho tempo, leio o help para ver as propriedades que tem, faço programinhas teste simplesmente para ver a funcionalidade de cada evento e cada propriedade. E gostaria apenas de mostrar e estimular isso a todos, pois vejo por mim, que é uma coisa boa!

abraços a todos, e mais uma vez, desculpe por qualquer ofensa.

ps: não sei tudo de delphi!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar