Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв ВУМИП 2012-07-06.doc
Скачиваний:
66
Добавлен:
13.05.2015
Размер:
9.35 Mб
Скачать

8.1.3. Бегущая строка (Delphi)

Создадим программу вывода бегущей строки, которая выводится в заголовке формы (рис. 8.1.3.1).

Рис. 8.1.3.1. Вид формы с бегущей строкой

Разместим компоненты: Timer1(Enabled=False,Interval=100),Edit1(по­ле для ввода текста бегущей строки),ScrollBar1(регулятор скорости вы­вода строки со свой­ствами (п. 2.3.6.1):Min=10,Max=1000,Position=10,LargeChange=20,SmallChange=10) и кнопки управления.

Приведем тексты процедур программы.

procedure TForm1.Button1Click(Sender:TObject);//кнопка Начать/Законч.

Begin

if Button1.Caption= 'Начать' then // кнопка «Начать»

beginButton1.Caption:= 'Закончить'; // смена наименования кнопки

Edit1.Enabled:= False; Form1.Caption:= Edit1.Text + ' ';

Timer1.Enabled:= True; end

else // кнопка «Закончить»

beginButton1.Caption:= 'Начать'; // смена наименования кнопки

Edit1.Enabled:=True; Timer1.Enabled:= False;Form1.Caption:=''; end;

end;

procedure TForm1.Button2Click(Sender: TObject); // кнопка «Выход»

begin Close; end;

procedure TForm1.Timer1Timer(Sender: TObject); // таймер

begin Timer1.Interval:= ScrollBar1.Min+ScrollBar1.Max-ScrollBar1.Position;

Form1.Caption:=Copy(Form1.Caption, 2, (Length(Form1.Caption)-1)) +

Copy (Form1.Caption,1,1);

end;

8.1.4. Рисование на экране (Delphi)

Составить программу для рисования мышкой при нажатой ле­вой кнопке мышки (рис. 8.1.4.1) (автор программы Е. Виноградова).

Рис. 8.1.4.1. Форма для рисования

Стирание линии рисунка произво­дит­ся рисованием линии цветом фона формы при нажатой правой кнопке мыши. Для формы установим свойство WindowState=wsMaximized (форма занимает весь экран). Размес­тим на форме три кнопки и панельPanel1,на которой разместим все осталь­ные объекты. Цвет карандаша или экрана устанавливается щел­ч­ком мыш­ки по текстовому полюEdit1, которое правее текста «Цвет». Зависимые пе­ре­ключателиRadioButton1иRadioButton2(п. 2.3.4.5) устанавливают режим наст­ройки цвета ка­ран­даша или формы соот­ветственно. Настройка цвета уста­нав­ливается интен­сивностью по трем его компонентам: синего (полеEdit2), зеленого (Edit3) и красного (Edit4) цве­тов. Ин­тен­сивность задается чис­лом от 0 до 255. Интенсивность крас­но­го цвета может задаваться гори­зон­тальной полосой прокруткиScrollBar1(п.2.3.6.1) со свой­ствами: Min=0, Max=255, LargeChange=20, Small­Change=4. Интенсивность зе­­леного цвета может задаваться ползункомTrackBar1(п.2.3.6.2.] со свой­ствами: Min=0, Max=255,PageSize=2 (большое смещение), Orientation=trHorizontal (го­ризонтальная ориентация),TickMarks=tmBottomRight(шка­ла под ползунком),Frequency=10 (размер одного деления шкалы). Интенсивность синего цвета задается кнопкой-счет­чикомUpDown1(п. 2.3.6.3) со свойствами: Min=0, Max=255, Increment=4.

Ширина выводимой линии задается значением поля с комбинирован­ным списком ComboBox1 (п. 2.3.3.2) со свойствомItems(значения 1-20). Внизу формы расположим строку статусаStatusBar1(п.2.3.1.3) для вывода коор­динат указателя мышки со свойствомSimplePanel=True.

Для формы установим свойство WindowState=wsMaximized (вывод формы на весь экран), cвойства для остальных объектов очевидны.

Кнопкой NewFormсоздадим новую формуForm2 с полемMemo1 (п.2.3.2.3) (текст инструкции по использованию программы) и с кнопкойВыход. КомандойFile/UseUnitдобавим модульUnit2 к модулюUnit1.

Приведем тексты процедур обработки событий.

procedure TForm1.Button1Click(Sender: TObject); // кнопка «Очистить»

begin form1.color:=clwhite; // очистка экрана

form1.color:=clBtnFace; // установка цвета фона формы

scrollbar1.position:=0; trackbar1.position:=0; updown1.position:=0;

edit2.text:=inttostr(updown1.position); radiobutton2.checked:=false;

end;

procedure TForm1.Button2Click(Sender: TObject); // кнопка «Справка»

begin form2.show; end;

procedure TForm1.Button3Click(Sender: TObject); // кнопка «Выход»

begin close; end;

procedure TForm1.UpDown1Changing(Sender: TObject;