Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему ПОПО

Содержание

Компоненты – это тоже объекты, только более совершенные. Они обладают такими методами и свойствами, благодаря которым становится возможной работа в визуальном режиме. Существует несколько библиотек компонентов.
ПОПОКомпонентная модель.Работа с «готовыми» компонентами в режиме Run – timeСоздание компонентовПриемы созданияАлгоритм работы Компоненты – это тоже объекты, только более совершенные. Они обладают такими методами Два режима создания компонентов :Design-time – в режиме проектирования формы;Run-time – в режиме выполнения приложения. Режим Design-time Режим Run-time Когда удобнее использовать режим Run-time:когда нужно создать большое количество однотипных компонентов;когда нужно Модули в разделе UsesStdCtrls, Buttons, DateUtils, ExtCtrls;Контролеры за объектами 1. Пример: создадим текстовое поле с произвольным текстомРежим проектирования формыРежим запуска приложения procedure TForm1.Button1Click(Sender: TObject);var   ed: TEdit;begin   //Создали визуальный компонент У создаваемого компонента обязательно должен быть «хозяин» - объект, который отвечает за 2. Пример: создадим компоненты диалоговых оконprocedure TForm1.Button2Click(Sender: TObject);Var 3. Пример: создадим кнопку на панели, на которую создадим процедуру procedure TForm1.Button1Click(Sender: TObject); Var New : TButton;begin New:= TButton.Create(Panel1); New.Top:=5; New.Left:=5; New.Name:='Button'; New.OnClick:=onClickButton; //процедура New.Parent:=Panel1;end; //ввести код процедурыprocedure TForm1.onClickButton(Sender: TObject); begin 4. Пример private procedure click(Sender: TObject);…procedure TForm1.Click(Sender: TObject); begin Randomize; ShowMessage('Вы нажали на 5. Пример Можно создать и новую форму, а на ней в свою очередь - кнопку private    procedure Click(Sender: TObject);var Form1: TForm1; procedure TForm1.Button1Click(Sender: TObject);Var     bb:TBitBtn; //КОМПОНЕНТ ТИПА TBitBtnbegin//создаем форму, 6. Пример: Пусть необходимо отсортировать данные, хранящиеся в Memo. Сам Memo не procedure TForm1.Button1Click(Sender: TObject);var y: Tstringlist;begin y:=Tstringlist.Create;   //нет родителя y.addstrings(memo1.Lines); //в Или вот еще пример 7: пусть необходимо залить форму некоторым узором. Здесь, Uses 	 	 …, JPEG;procedure TForm1.FormDblClick(Sender: TObject);var uz: TJPEGImage; x,y1:integer;  y:Topendialog;begin Пример 8 : var  Image:TImage; procedure TForm1.FormCreate(Sender: TObject);beginimage:=TImage.Create(Form1);image.parent:=Form1;Image.Height:=Form1.ClientHeight;Image.Width:=Form1.ClientWidth;Image.Stretch:=True;image.picture.loadfromfile('001.jpg');end;procedure TForm1.FormPaint(Sender: TObject);beginImage.Height:=Form1.Height;Image.Width:=Form1.Width;end;end. Пример 9 : Создадим массив из 10 меток, по вводу текста в Var   Form1: TForm1;  mas:array[1..10] of TEdit;  //массив procedure procedure TForm1.Button1Click(Sender: TObject);Var   i:integer;beginfor i:= 1 to 10 do begin Все компоненты формы хранятся в ее свойстве Components в виде массива (Components[ Пример 10 Компоненты созданы в режиме проектирования формы.В коде программы проверяется, что procedure TForm1.Button1Click(Sender: TObject);var i:integer;beginRandomize;		 memo1.Clear; for i:=0 to componentcount-1 do Пример 11 Если компонент текстовое поле, то его очистить,  если компонент procedure TForm1.Button1Click(Sender: TObject);var i:integer;begin for i:=0 to componentcount - 1  do New.Name:=New.ClassName+'1';Объекту с именем New присвоить классическое имя объекта с  цифрой 1(если
Слайды презентации

Слайд 2 Компоненты – это тоже объекты, только более совершенные.

Компоненты – это тоже объекты, только более совершенные. Они обладают такими

Они обладают такими методами и свойствами, благодаря которым становится

возможной работа в визуальном режиме. Существует несколько библиотек компонентов.

Слайд 3 Два режима создания компонентов :
Design-time – в режиме

Два режима создания компонентов :Design-time – в режиме проектирования формы;Run-time – в режиме выполнения приложения.

проектирования формы;
Run-time – в режиме выполнения приложения.


Слайд 4 Режим
Design-time

Режим Design-time

Слайд 5 Режим Run-time

Режим Run-time

Слайд 6 Когда удобнее использовать режим Run-time:
когда нужно создать большое

Когда удобнее использовать режим Run-time:когда нужно создать большое количество однотипных компонентов;когда

количество однотипных компонентов;
когда нужно обработать группы компонентов, меняя их

свойства «одним махом»;
когда хотелось бы протестировать новый компонент.

Слайд 7 Модули в разделе Uses
StdCtrls, Buttons, DateUtils, ExtCtrls;

Контролеры за

Модули в разделе UsesStdCtrls, Buttons, DateUtils, ExtCtrls;Контролеры за объектами

объектами


Слайд 8 1. Пример: создадим текстовое поле с произвольным текстом
Режим

1. Пример: создадим текстовое поле с произвольным текстомРежим проектирования формыРежим запуска приложения

проектирования формы
Режим запуска приложения


Слайд 9 procedure TForm1.Button1Click(Sender: TObject);
var ed: TEdit;
begin

procedure TForm1.Button1Click(Sender: TObject);var  ed: TEdit;begin  //Создали визуальный компонент ed:=TEdit.Create(Form1);	//Определяем

//Создали визуальный компонент
ed:=TEdit.Create(Form1); //Определяем «хозяина»

//- Form1
ed.Parent:=self; //Определяем визуального // родителя
ed.Top:=30; //свойства компонента
ed.Left:=20;
ed.Width:=100;
ed.Font.Color:=Rgb(Random(255),Random(255),Random(255));
ed.Text:='Привет!!!';
Randomize;
end;

Слайд 10 У создаваемого компонента обязательно должен быть «хозяин» -

У создаваемого компонента обязательно должен быть «хозяин» - объект, который отвечает

объект, который отвечает за его корректное удаление и освобождение

памяти. А у создаваемого визуального компонента должен быть еще и визуальный родитель – объект, который как раз и отвечает за его отображение.

Все компоненты делятся на визуальные и невизуальные:
Визуальные – видимые компоненты на форме (метка, кнопка, …)
Невизуальные – невидимые компоненты (часы, диалоговые окна, …)


Слайд 11 2. Пример: создадим компоненты диалоговых окон
procedure TForm1.Button2Click(Sender: TObject);
Var

2. Пример: создадим компоненты диалоговых оконprocedure TForm1.Button2Click(Sender: TObject);Var


Y: TFontDialog;

// переменная типа TFontDialog
Cvet: TColorDialog; //тип TColorDialog
begin
y:=TFontdialog.Create(self);
y.Execute;

Cvet:=TColorDialog.Create(Form1);
Cvet.Execute;
Form1.Color:=Cvet.Color;
End;
end.

Слайд 12 3. Пример: создадим кнопку на панели, на которую

3. Пример: создадим кнопку на панели, на которую создадим процедуру

создадим процедуру


Слайд 13 procedure TForm1.Button1Click(Sender: TObject);
Var New : TButton;
begin
New:=

procedure TForm1.Button1Click(Sender: TObject); Var New : TButton;begin New:= TButton.Create(Panel1); New.Top:=5; New.Left:=5; New.Name:='Button'; New.OnClick:=onClickButton; //процедура New.Parent:=Panel1;end;

TButton.Create(Panel1);
New.Top:=5;
New.Left:=5;
New.Name:='Button';
New.OnClick:=onClickButton; //процедура
New.Parent:=Panel1;
end;


Слайд 14 //ввести код процедуры
procedure

//ввести код процедурыprocedure TForm1.onClickButton(Sender: TObject); begin ShowMessage('Привет!!!'); end;В

TForm1.onClickButton(Sender: TObject);
begin
ShowMessage('Привет!!!');
end;
В разделе класса формы

декларации собственных процедур пропишите процедуру:
private
procedure onClickButton(Sender: TObject);







Ctrl + Shift + C

Слайд 15 4. Пример

4. Пример

Слайд 16 private
procedure click(Sender: TObject);

procedure TForm1.Click(Sender: TObject);
begin

private procedure click(Sender: TObject);…procedure TForm1.Click(Sender: TObject); begin Randomize; ShowMessage('Вы нажали

Randomize;
ShowMessage('Вы нажали на кнопку');
Form1.Color:=Random(9955565);
end;
procedure TForm1.Button1Click(Sender: TObject);

Var New: TButton;
begin
New:=TButton.Create(Form1);
New.parent:=Form1;
New.Top:=25; New.Left:=30; New.Caption:='Нажми меня';
New.Height:=30; New.Width:=150; New.Font.Size:=16;
TButton(New).OnClick:=Click; // ССЫЛКА НА СОБЫТИЕ
end;
End.

Слайд 17 5. Пример Можно создать и новую форму, а

5. Пример Можно создать и новую форму, а на ней в свою очередь - кнопку

на ней в свою очередь - кнопку


Слайд 18 private
procedure Click(Sender: TObject);
var

private  procedure Click(Sender: TObject);var Form1: TForm1;  Form_2: Tform;

Form1: TForm1;
Form_2: Tform; // КОМПОНЕНТ ТИПА

ФОРМЫ
but:Tbutton; //КОМПОНЕНТ ТИПА КНОПКИ
procedure TForm1.Click(Sender: TObject);
begin
Caption:= DateToStr(Date)+' ' +TimeToStr(Time)
End;

Слайд 19 procedure TForm1.Button1Click(Sender: TObject);
Var bb:TBitBtn;

procedure TForm1.Button1Click(Sender: TObject);Var   bb:TBitBtn; //КОМПОНЕНТ ТИПА TBitBtnbegin//создаем форму, а

//КОМПОНЕНТ ТИПА TBitBtn
begin
//создаем форму, а на ней кнопку
form_2:=Tform.Create(self);

but:=Tbutton.create(form_2);
but.Parent:=form_2;
but.Top:=100; but.Left:=100; but.Caption:='Hello';
form_2.Show;
Form_2.Caption:='САЛЮТ '; Form_2.Top:=300; Form_2.Left:=300;
but.OnClick:=click;
//создаем на второй форме TBitBtn
bb:=TBitBtn.create(Form_2);
bb.Parent:=Form_2; bb.Top:=10; bb.Kind:=bkClose;
end;
end.

Слайд 20 6. Пример: Пусть необходимо отсортировать данные, хранящиеся в

6. Пример: Пусть необходимо отсортировать данные, хранящиеся в Memo. Сам Memo

Memo. Сам Memo не обладает свойством, которое бы позволяло

выполнять сортировку строк. Но при этом Memo работает с информацией строкового типа, а в Delphi имеется абстрактный объект TstringList, не просто работающий с такой информацией, но и содержащий необходимый нам метод сортировки.

Слайд 21 procedure TForm1.Button1Click(Sender: TObject);
var y: Tstringlist;
begin
y:=Tstringlist.Create;

procedure TForm1.Button1Click(Sender: TObject);var y: Tstringlist;begin y:=Tstringlist.Create;  //нет родителя y.addstrings(memo1.Lines); //в

//нет родителя
y.addstrings(memo1.Lines); //в объект Y присваиваем построчно текст

из Memo
y.Sort; //сортируем
memo2.Clear;
memo2.Lines.addstrings(y);
end;
end.

Слайд 22 Или вот еще пример 7: пусть необходимо залить

Или вот еще пример 7: пусть необходимо залить форму некоторым узором.

форму некоторым узором. Здесь, прежде всего нужно решить: какого

типа картинка будет использована для повторения – bmp или jpg.
Если вы хотите использовать картинку типа bmp, тогда нужно начать с объявления переменной типом Tbitmap, а если вы будете использовать картинку типа jpg, то в этом случае нужно будет объявить переменную типом TJPEGImage. Ну, а дальше, что-то вроде этого:

Слайд 24 Uses …, JPEG;
procedure TForm1.FormDblClick(Sender: TObject);
var uz:

Uses 	 	 …, JPEG;procedure TForm1.FormDblClick(Sender: TObject);var uz: TJPEGImage; x,y1:integer; y:Topendialog;begin

TJPEGImage; x,y1:integer; y:Topendialog;
begin
y:=Topendialog.Create(self);

y.Execute;
uz:=TJpegImage.Create;
uz.LoadFromFile(y.filename);
x:=0; y1:=0; //при изменении ее размеров.
repeat
repeat
form1.canvas.draw(x,y1,uz);
x:=x+uz.Width;
until (x>form1.ClientWidth);
x:=0;
y1:=y1+uz.Height;
until (y1>form1.ClientHeight);
end; end.

Слайд 25 Пример 8 :

Пример 8 :

Слайд 26 var Image:TImage;
procedure TForm1.FormCreate(Sender: TObject);
begin
image:=TImage.Create(Form1);
image.parent:=Form1;
Image.Height:=Form1.ClientHeight;
Image.Width:=Form1.ClientWidth;
Image.Stretch:=True;
image.picture.loadfromfile('001.jpg');
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
Image.Height:=Form1.Height;
Image.Width:=Form1.Width;
end;
end.

var Image:TImage; procedure TForm1.FormCreate(Sender: TObject);beginimage:=TImage.Create(Form1);image.parent:=Form1;Image.Height:=Form1.ClientHeight;Image.Width:=Form1.ClientWidth;Image.Stretch:=True;image.picture.loadfromfile('001.jpg');end;procedure TForm1.FormPaint(Sender: TObject);beginImage.Height:=Form1.Height;Image.Width:=Form1.Width;end;end.

Слайд 27 Пример 9 : Создадим массив из 10 меток,

Пример 9 : Создадим массив из 10 меток, по вводу текста

по вводу текста в которые текст переходит в заголовок

формы

Слайд 28 Var Form1: TForm1;
mas:array[1..10] of

Var  Form1: TForm1; mas:array[1..10] of TEdit; //массив procedure TForm1.FormCreate(Sender: TObject);begin Form1.caption:='';end;procedure TForm1.OnEditChange(Sender: TObject);Begin Form1.caption:=TEdit(sender).text;end;

TEdit; //массив
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.caption:='';
end;

procedure TForm1.OnEditChange(Sender:

TObject);
Begin
Form1.caption:=TEdit(sender).text;
end;

Слайд 29 procedure TForm1.Button1Click(Sender: TObject);
Var i:integer;
begin
for i:= 1

procedure TForm1.Button1Click(Sender: TObject);Var  i:integer;beginfor i:= 1 to 10 do begin

to 10 do begin
Mas[i]:=TEdit.Create(Button1);
Mas[i].parent:=form1;
Mas[i].Top:=-10+i*25; //расположение со

сдвигом вниз
Mas[i].Left:=10;
Mas[i].Text:='пробный текст';
TEdit(Mas[i]).OnChange:=OnEditChange; //присваиваем //процедуру для обработчика события или
//Mas[i].OnChange:=OnEditChange;
end;
end;
End.

Слайд 31 Все компоненты формы хранятся в ее свойстве Components

Все компоненты формы хранятся в ее свойстве Components в виде массива

в виде массива (Components[ i ] по умолчанию массив

организуется самостоятельно).

Количество этих компонентов хранится в свойстве ComponentCount (нумеруются с 0).

Слайд 32 Пример 10
Компоненты созданы в режиме проектирования формы.
В

Пример 10 Компоненты созданы в режиме проектирования формы.В коде программы проверяется,

коде программы проверяется, что если компонент относится к типу

флажок и если флажок выбран, то в объект MEMO добавляется заголовок флажка и случайная денежная единица.

Слайд 33 procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
Randomize; memo1.Clear;
for i:=0 to

procedure TForm1.Button1Click(Sender: TObject);var i:integer;beginRandomize;		 memo1.Clear; for i:=0 to componentcount-1 do

componentcount-1 do begin
IF

(components[i] is TCheckBox) and
(TCheckBox(components[i]).Checked) then memo1.Lines.Add(TCheckBox(components[i]).Caption+
' '+IntToStr(Random(100))+' кг.');
end;
end;
end.

Слайд 34 Пример 11
Если компонент текстовое поле, то его

Пример 11 Если компонент текстовое поле, то его очистить, если компонент

очистить, если компонент метка, то в нем написать «У

меня получилось», если компонент кнопка, то в заголовке кнопки написать «Ура!!». (в этом случае все компоненты сделаны в режиме Design-time)

Слайд 35 procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
for i:=0 to componentcount

procedure TForm1.Button1Click(Sender: TObject);var i:integer;begin for i:=0 to componentcount - 1 do

- 1 do begin
if

(components[i] is TEdit) then
Tedit(components[i]).Text:='';
if (components[i] is TButton) then
TButton(components[i]).Caption:='Ура!!!';
if (components[i] is TLabel) then
TLabel(components[i]).Caption:='У меня …!';
end;
end;
end.
Проверка идет в цикле по всем компонентам на форме

Слайд 36 New.Name:=New.ClassName+'1';
Объекту с именем New присвоить классическое имя объекта

New.Name:=New.ClassName+'1';Объекту с именем New присвоить классическое имя объекта с цифрой 1(если

с цифрой 1
(если объект New метка то имя его

будет Label1 )

  • Имя файла: popo.pptx
  • Количество просмотров: 92
  • Количество скачиваний: 0
- Предыдущая История о глобусах
Следующая - Оформление газет