Radiobutton e Procedure

Delphi

31/10/2007

Tem como eu alterar uma procedure apartir de um radiobutton?
Estou tentando mas ainda não consegui...

A procedure é a seguinte

procedure TForm1.filtro3Click(Sender: TObject); var filtra3 : String; begin filtra3 := ´CD_FABRP = ´+QuotedStr(´000´); IBOTable1.Filter := filtra3; IBOTable1.Filtered := true; end;


e o código do radio buetton

procedure TForm1.RadioButton2Click(Sender: TObject); begin DataSource1.Enabled := True; DataSource1.DataSet := IBOTable1; Filtrar1.Enabled := True; filtro1.Caption := ´DS_FABRP = A*´; filtro2.Caption := ´DS_FABRP = S*´; filtro3.Caption := ´CD_FABRP = 000´; filtro4.Caption := ´Voltar a Tabela´; end;


Tentei por um TForm1.filtro3Click.filtra3 := ´DS_FABRP = +QuotedStr(´A*´);

Mas não obtive resultado..
Desde já agradeço, obrigado.


Douglass

Douglass

Curtidas 0

Respostas

Bdexterholland

Bdexterholland

31/10/2007

Bom, como assim mudar uma a partir de um radiobutton?

Você pode mudar a procedure associada a um evento em tempo de execução fazendo um
button1.onclick := Button2Click;


onde button2Click seria uma procedure associada ao onclick de outro botão.

Com relação ao código que você mostrou, o delphi gera alguma mensagem de erro? qual?


GOSTEI 0
George_piaulino

George_piaulino

31/10/2007

Utilize radio group.

Abraços :wink:


GOSTEI 0
Douglass

Douglass

31/10/2007

Tentei fazer assim:
procedure TForm1.RadioButton1Click(Sender: TObject); var filtra1,filtra2,filtra3 : String; begin DataSource1.Enabled := True; DataSource1.DataSet := IBOTable2; Filtrar1.Enabled := True; filtro1Click.filtra1 := ´DS_FABRP = +QuotedStr(´A*´); filtro1.Caption := ´QT_PECA > 10´; filtro2.Caption := ´QT_PECA = 5´; filtro3.Caption := ´CD_PECA = *331´; filtro4.Caption := ´Voltar a Tabela´; end;


E o erro é:

[Error] Unit1.pas(137): Not enough actual parameters [Error] Unit1.pas(137): Missing operator or semicolon [Error] Unit1.pas(138): Operator not applicable to this operand type [Fatal Error] Project1.dpr(5): Could not compile used unit ´Unit1.pas´



GOSTEI 0
Bdexterholland

Bdexterholland

31/10/2007

o que é esse:
filtro1Click.filtra1 := ´DS_FABRP = +QuotedStr(´A*´);

* Ele pertence a um objeto de que tipo?
* o que esse filtra fá fazendo aí? Se é a variável, você pode chama-la direto
* acho que mundando essa linha para
filtra1 := ´DS_FABRP = ´ + QuotedStr(´A*´);

deve para os erros...


GOSTEI 0
Douglass

Douglass

31/10/2007

O radio button apenas especifica a tabela que aparece no grid e também o caption do mainmenu aonde estão as procedures que filtram a tabela que está no grid. Só que ao alterar o caption os filtros continuam os mesmo.. sendo assim não filtram as tabelas de forma correta, utiliazam o filtro que vem como default.. o que eu quero é alterar esse filtro...

Esse é o primeiro botão do mainmenu que esta como filtro:

procedure TForm1.filtro1Click(Sender: TObject); var filtra1 : String; begin filtra1 := ´DS_FABRP = ´+QuotedStr(´S*´); IBOTable1.Filter := filtra1; IBOTable1.Filtered := true; end;


E denovo o radiobutton:

procedure TForm1.RadioButton1Click(Sender: TObject); var filtra1,filtra2,filtra3 : String; begin DataSource1.Enabled := True; DataSource1.DataSet := IBOTable2; Filtrar1.Enabled := True; filtra1 := ´QT_PECA > ´+ QuotedStr(´2´); filtro1.Caption := ´QT_PECA > 2´; filtro2.Caption := ´QT_PECA = 5´; filtro3.Caption := ´CD_PECA = *331´; filtro4.Caption := ´Voltar a Tabela´; end;


Mas desse jeito continua sem funcionar..
:shock:


GOSTEI 0
POSTAR