Чтение онлайн

на главную - закладки

Жанры

Советы по Delphi. Версия 1.4.3 от 1.1.2001

Озеров Валентин

Шрифт:

Пример:

TForm1 = class(TForm)

 procedure FormCreate(Sender: TObject);

private

FMyButton: TButton;

protected

 procedure Button1Click(Sender: TObject);

 {Кодируем это вручную,для соответствия}

 {структуреTNotifyEvent}

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

FMyButton := TButton.Create;

 {Здесь
устанавливаем позицию, заголовок и все остальное}

 FMyButton.OnClick := MyButtonClick;

end;

procedure TForm1.MyButtonClick(Sender: TObject);

begin

ShowMessage('Эй! Ты нажал на мою кнопку!');

end;

События для компонентов, созданных во время работы программы II

Delphi 1

Вот простейший код для нового проекта с одной кнопкой и меню. (Надеюсь, в этом ничего сложного нет ... :)

procedure TForm1.Button1Click(Sender: TObject);

var

 NewItem: TMenuItem;

begin

 NewItem := TMenuItem.Create(Form1);

 NewItem.Caption := 'Динамический элемент ...';

 NewItem.OnClick := xyz;MainMenu1.Items.Insert(0, NewItem); ←Примечание: рекомендую бегло ознакомиться с Delphi-примером для команды Insert…

end;

{Любая старая 'xyz'-процедура (в настоящее время может быть определена одна, например, Form1.DblClick)}

procedure TForm1.xyz(Sender: TObject);

begin

 showmessage('Запусти эту процедуру !!');

end;

Примечание: Если вы пользуетесь неопределенной процедурой, вам понадобиться объявить ее. Лично я все это сделал в «верхнем правом углу» объявления типа формы, примерно так:

private

{ Private declarations }

public

{ Public declarations }

procedure xyz(Sender: TObject); ←К
этой процедуре могут иметь доступ не только события Form1 …

Установите свойство обработчика события (например, OnClick, OnDblClick, OnMouseDown и пр.) на процедуру, которую вы создали для обработки этого события. Вам нужно убедиться в том, что параметры в точности соответствуют параметрам ожидаемого заданного обработчика события.

Например:

MySpeedButton.OnClick := MyClickEventHandler;

где…

procedure MyClickEventHandler(Sender: TObject);

begin

end;

Массивы

Динамические массивы V

SottNick пишет:

Если хочется, чтобы в многомерном массиве был разный размер у разных измерений например: VarArray: array[1..2, 1..?] of TType , где ? зависит от "строки" массива (1..2)

То дозволяется сделать так:

1. Объявление

Var VarArray: array of array of array…………

2. Установка длин

SetLength(VarArray, Razmernost1); // У первого измерения

SetLength(VarArray[1], Razmernost2); // У второго измерения первой «строки»

SetLength(VarArray[2], Razmernost3); // У второго измерения второй «строки»

SetLength(VarArray[n], Razmernost4); // У второго измерения n-ной «строки»

SetLength(VarArray[1][1], Razmernost5); // У третьего измерения первой «строки» первого «столбца»

SetLength(VarArray[1][2], Razmernost6); // У третьего измерения первой «строки» второго «столбца»

SetLength(VarArray[n][m], Razmernost7); // У третьего измерения n-ной «строки» m-ного «столбца»

т.д.

Все можно изменять в процессе естественно.

3. Получение длин

Razmernost1:=Length(VarArray); // У первого измерения (количество строк)

Razmernost2:=Length(VarArray[1]); // У второго измерения первой «строки» (количество столбцов)

Razmernost3:=Length(VarArray[2]); // У второго измерения второй «строки» (количество столбцов)

Razmernost4:=Length(VarArray[n]); // У второго измерения n-ной «строки» (количество столбцов)

Razmernost5:=Length(VarArray[1][1]); // У третьего измерения первой «строки» первого «столбца»

Razmernost6:=Length(VarArray[1][2]); // У третьего измерения первой «строки» второго «столбца»

Razmernost7:=Length(VarArray[n][m]); // У третьего измерения n-ной «строки» m-ного «столбца»

Поделиться:
Популярные книги

Сердце Дракона. Том 20. Часть 1

Клеванский Кирилл Сергеевич
20. Сердце дракона
Фантастика:
фэнтези
боевая фантастика
городское фэнтези
5.00
рейтинг книги
Сердце Дракона. Том 20. Часть 1

Холодный ветер перемен

Иванов Дмитрий
7. Девяностые
Фантастика:
попаданцы
альтернативная история
6.80
рейтинг книги
Холодный ветер перемен

Последнее желание

Сапковский Анджей
1. Ведьмак
Фантастика:
фэнтези
9.43
рейтинг книги
Последнее желание

Отмороженный 7.0

Гарцевич Евгений Александрович
7. Отмороженный
Фантастика:
рпг
аниме
5.00
рейтинг книги
Отмороженный 7.0

Наследник

Кулаков Алексей Иванович
1. Рюрикова кровь
Фантастика:
научная фантастика
попаданцы
альтернативная история
8.69
рейтинг книги
Наследник

Магия чистых душ 2

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.56
рейтинг книги
Магия чистых душ 2

Наследие Маозари 5

Панежин Евгений
5. Наследие Маозари
Фантастика:
фэнтези
юмористическое фэнтези
5.00
рейтинг книги
Наследие Маозари 5

Локки 4 Потомок бога

Решетов Евгений Валерьевич
4. Локки
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Локки 4 Потомок бога

Граф

Ланцов Михаил Алексеевич
6. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Граф

Миф об идеальном мужчине

Устинова Татьяна Витальевна
Детективы:
прочие детективы
9.23
рейтинг книги
Миф об идеальном мужчине

Мастер Разума V

Кронос Александр
5. Мастер Разума
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Мастер Разума V

Здравствуй, 1984-й

Иванов Дмитрий
1. Девяностые
Фантастика:
альтернативная история
6.42
рейтинг книги
Здравствуй, 1984-й

Безумный Макс. Поручик Империи

Ланцов Михаил Алексеевич
1. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
7.64
рейтинг книги
Безумный Макс. Поручик Империи

Барон не играет по правилам

Ренгач Евгений
1. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон не играет по правилам