deio 0 Denunciar post Postado Maio 28, 2007 olá, sou iniciante no delphi, e em um projetinho meu preciso de um contador bem simples, q toda vez q seja executado a procedure ele incremente 1 ao resultado anterior, o problema é q eu naum sei fazer esse contador... alguém poderia me ajudar ? Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Maio 28, 2007 Basta criar uma variavel, pode ser do tipo Integer, e sempre que entrar na procedure você incrementa a variavel usando o comando Inc(), ficando: Inc(nome_da_variavel); Como vai ser uma procedure que vai ser chamada várias vezes, declara o campo no private do form, e utiliza este, exemplo: unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;type TForm1 = class(TForm) BitBtn1: TBitBtn; BitBtn2: TBitBtn; procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); private { Private declarations } totalMsg: integer; procedure MinhaProcedure; public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}{ TForm1 }procedure TForm1.MinhaProcedure;beginShowMessage('Teste');Inc(totalMsg);end;procedure TForm1.BitBtn1Click(Sender: TObject);beginMinhaProcedure();end;procedure TForm1.BitBtn2Click(Sender: TObject);beginShowMessage('Chamado: ' + IntToStr(totalMsg));end;end. No caso coloquei dois botões, no primeiro faz a chamada da procedure, e dentro da procedure exibi uma mensagem e incremente a variavel, no outro botão, somente é exibido o n° de chamadas que a procedure teve... Compartilhar este post Link para o post Compartilhar em outros sites
vagner.net 0 Denunciar post Postado Maio 28, 2007 Bem simples, cria uma varável GLOBAL e incrementa ela na PROCEDURE executada! Compartilhar este post Link para o post Compartilhar em outros sites
deio 0 Denunciar post Postado Maio 28, 2007 Bem simples, cria uma varável GLOBAL e incrementa ela na PROCEDURE executada!sendo a variavel global, ela naum vai ter um numero fixo? sendo assim quando você executar a procedure o resultado será sempre o mesmo...@marcio.theisentendi como funciona o código, testei e funcionou vlw ae XD Compartilhar este post Link para o post Compartilhar em outros sites
vagner.net 0 Denunciar post Postado Maio 28, 2007 Não, variável GLOBAL é simplesmente uma variável que pode ser acessada de qq FUNCTION ou PROCEDURE.Isso que você disse é uma constante e não uma variável... Compartilhar este post Link para o post Compartilhar em outros sites
deio 0 Denunciar post Postado Maio 28, 2007 entendi, onde eu declaro a variavel global? ela é válida para todos os forms/units do projeto ou só na unit/form q ele foi declarado? Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Maio 28, 2007 Variavel global você deve de declarar no public do formulário, é valido para ser usado em qualquer local, desde que o formulário em questão esteja construído, poderia criar no form principal do seu projeto, assim é mais garantido que o form com a variavel sempre esteja criado... Compartilhar este post Link para o post Compartilhar em outros sites