Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lazarus
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
dimokis
0 / 0 / 0
Регистрация: 23.01.2013
Сообщений: 5
1

Как прописать одну процедуру OnClick для множества кнопок

17.02.2013, 17:22. Просмотров 1661. Ответов 3
Метки нет (Все метки)

Вообще-то вопрос по среде Lazarus под Винду, но поскольку в соотв. разделе нет подраздела для нубов позволил себе написать сюда.
Нужно сделать так, чтоб при нажатии на одну из множества кнопок вызывалась одна и та же процедура, а в эту процедуру передавался кэпшн нажатой кнопки.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, IBConnection, sqldb, FileUtil, Forms, Controls, Graphics,
  Dialogs, StdCtrls, Buttons, ComCtrls, ExtCtrls, comobj;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
        BitBtn1: TBitBtn;
       ...
        Button9: TButton;
        Edit1: TEdit;
        IBConnection1: TIBConnection;
        Label1: TLabel;
        Label2: TLabel;
        Label3: TLabel;
        Label4: TLabel;
        Label5: TLabel;
    pk1: TPageControl;
    pinenter: TTabSheet;
    Shape1: TShape;
    SQ: TSQLQuery;
    SQLTransaction1: TSQLTransaction;
    main: TTabSheet;
    Timer1: TTimer;
    procedure BitBtn1Click(Sender: TObject);
   ...
    procedure Button9Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    function GetAuth(pinentered:integer):string;
      private
    { private declarations }
      procedure TblClick(Sender: TObject);
  public
    { public declarations }
 
  end;
 
var
 
  ordertable: string;
 
implementation
 
{$R *.lfm}
 
{ TForm1 }
 
procedure TForm1.TblClick(Sender: TObject);
begin
  ordertable:= TBitbtn(sender).Caption;
end;
 
 
 
procedure TForm1.FormCreate(Sender: TObject);
var i: integer;
begin
//pk1.ShowTabs:=false;
main.Visible:=true;
for i:= 3 to 50 do
   begin
     with tbitbtn(findcomponent('bitbtn'+inttostr(i))) do
         begin
              OnClick:= TblClick;
         end;
   end;
 
end;
При компиляции lazarus жалуется
unit1.pas(162,33) Error: Wrong number of parameters specified for call to "TblClick"
и добавляет
unit1.pas(133,18) Hint: Found declaration: TForm1.TblClick(TObject);

Не могу сообразить, каких параметров ему не хватает
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2013, 17:22
Ответы с готовыми решениями:

Как сделать для кнопок в MainMenu одну и ту же команду?
Как сделать для кнопок в MainMenu одну и туже команду?

Как устанавливать onClick для множества кнопок?
Ребят, абсолютный чайник в этом, не пинайте. Как поставить обработчик для множества кнопок, ведь...

Калькулятор: как прописать логику для всех кнопок
Как создать простой калькулятор (не инженерный), наподобие того, что есть у всех в стандартных...

Разные событие OnClick для кнопок
Создаю программно кнопки через контекстное меню,и диалог.Потом когда кнопка создана,делаю ей...

Как прописать код, что бы код для социальных кнопок?
Всем привет! Редактирую файл footer.php шаблона для WP. Не могу понять как сделать, что бы при...

3
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
27199 / 18189 / 7203
Регистрация: 22.10.2011
Сообщений: 32,054
Записей в блоге: 6
17.02.2013, 18:25 2
Pascal
1
 OnClick:= @TblClick;
P.S. Перенесено по назначению
1
dimokis
0 / 0 / 0
Регистрация: 23.01.2013
Сообщений: 5
17.02.2013, 18:42  [ТС] 3
Спасибо, кто бы мог подумать...
Работает!
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
27199 / 18189 / 7203
Регистрация: 22.10.2011
Сообщений: 32,054
Записей в блоге: 6
17.02.2013, 19:31 4
Цитата Сообщение от dimokis Посмотреть сообщение
кто бы мог подумать...
Ну да, кто бы мог подумать, что надо читать доки...

Особое внимание следует обратить на пункт №1
0
17.02.2013, 19:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2013, 19:31

Написать для трех кнопок общий обработчик OnClick для вывода, скрытия/отображения и изменения цвета текста
На форме Form_Lb расположена пустая метка Lb_txt с текстом и три кнопки класса TButton с...

Калькулятор: как прописать процедуры кнопок
Всем доброго времени суток. Помогите пожалуйста написать калькулятор на VBA. Прилагаю скрин к...

Как можно прописать вторую пару кнопок?
Значит так есть фотогалерея, и переход между фотками (фотки берутся из базы) Вот к нижнему...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru