Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пз 3_2сем_ 2012.doc
Скачиваний:
1
Добавлен:
13.11.2019
Размер:
158.72 Кб
Скачать
  1. Основная часть

2.1. Составим приложение, работа которого будет моделировать калькулятор. В проекте используем следующие компоненты: Label, Edit, ComboBox. На форме необходимо расположить три компонента Edit. Над каждым компонентом Edit расположить компонент Label. В окне Object Inspector в свойстве Font сделать установки шрифта в окне настройки, а в свойстве Caption ввести текст: «первый операнд» - для Label1, «второй операнд» - для Label2, «результат» - для Label3. В окне Object Inspector очистить свойство Text компонентов Edit, а для компонента ComboBox в свойство Text ввести «выбор операции». Сами операции задать используя свойство Items. В каждой строке записать одну какую-либо операцию (сложить, умножить и т.д.). Счет строк начинается с нуля. Обработчик событий написать в процедуре, заготовка которой откроется по двойному щелчку на компоненте ComboBox. Для выбора строки использовать оператор Case of:

case ComboBox1.ItemIndex of

0: edit3.Text:=inttostr(strtoint(edit1.Text)+strtoint(edit2.Text));

и т.д.

2.2. Составим приложение, которое будет находить среднее арифметическое чисел, помещенных в ListBox. Количество, помещенных в ListBox чисел можно определить используя свойство Count.

n:=listbox1.Items.Count;

Используя кнопки Button обеспечить возможность добавления чисел в ListBox и удаления чисел.

procedure TForm1.Button2Click(Sender: TObject);

var i:integer;

begin

i:=listbox1.ItemIndex;

listbox1.Items.delete(i);

end;

procedure TForm1.Button3Click(Sender: TObject);

var code:integer;

a:real;

begin

val(edit2.Text,a,code);

if code=0 then listbox1.Items.Add(floattostr(a))

else showmessage('введите число');

edit2.Text:='';

edit2.SetFocus;

end;

2.3. Выполните следующий пример с генерацией и модификацией строк в компоненте ListBox

    1. Создайте новый проект в Delphi.

    2. Сохраните в папке класса файл модуля под именем ListB_pas, а файл проекта под именем ListB dpr.

    3. Поместите компонент ListBox1 со страницы Standard палитры компонентов. Поместите три компонента Button на форму. Определите для первой кнопки заголовок " Очистить ", для второй — " Ввод значений ", для третьей — " Датчик чисел ". Для этого используйте свойство Caption страницы Properties инспектора объекта. Произведите щелчок по кнопкам и запишите методы обработки события OnClick для каждой кнопки:

procedure TForm1.Button1Click(Sender: TObject);

begin ListBox1.Items.Clear; end;

procedure TForm1.Button2Click(Sender: TObject);

var I:Integer;

begin for I:=1 to 10 do

ListBox1.Items.Add('Координата Х'+ IntToStr(I));

end;

procedure TForm1.Button3Click(Sender: TObject);

var J:Integer;

begin

Randomize; J:=0;

while J < 10 do

begin

J:=J + Random(10);

ListBox1.Items.Add('Координата Y' + IntToStr(J));

end;

end;

    1. Щелчок левой кнопкой мыши по компоненту Button с заголовком "Очистить" удаляет содержимое компонента ListBox1. Щелчок по кнопке "Ввод значений" позволяет ввести десять последовательных чисел координаты Х в список. Щелчок по кнопке с заголовком "Датчик чисел" позволяет ввести значения координаты Y. Здесь присутствует цикл while , который использует счетчик, определяющий значения параметров случайным образом. Для этого вызывается процедура Randomize, которая инициирует генератор случайных чисел и функцию Random со значением диапазона равным 10.

    2. Вы можете вводить текстовые строки в компонент на этапе разработки приложения, используя Редактор списка строк. Дважды произведите щелчок по кнопке с тремя точками справа от слова (TStrings), используя страницу Properties инспектора объекта. Откроется диалоговое окно Редактора списка строк для свойств типа TStrings и любых его потомков. Редактор позволяет вам ввести текст в свободной форме, сформатированный в строчки во время разработки, обеспечивая, таким образом, начальное содержимое списка строк. После ввода строк необходимо нажать OK. Строки, которые вы ввели, заполняют окно списка во время разработки и при выполнении приложения. Теперь вы можете запустить свое приложение, чтобы проверить функционирование окна списка с единственным выбором.

По умолчанию, компонент ListBox становится окном списка с единственным выбором. Только один элемент в таком списке может быть выбран в каждый момент времени. Этот выбранный элемент подсвечивается. Вы можете перемещать подсветку посредством клавиш: стрелка вверх и стрелка вниз.

Добавьте на форму кнопку Button4 и компонент Edit1. Программный код, который вы запишите, позволит удалять строки, ненужные для дальнейшей работы. Причем число, введенное в текстовый редактор Edit1, определит номер удаляемой строки (помните, о том, что номер строки на единицу меньше).

Щелчок по кнопке Button5 с заголовком "Добавить строку" даст вам возможность добавить строку в компонент ListBox1, которую вы введете в компонент Edit2.

Поместите на форму компонент Button6 с заголовком " Изменить местоположение строки". Щелчок по этой кнопке позволит вводить номер строк в компонент Edit1 и Edit2, вы сможете менять местами строки внутри компонента ListBox1.

Поместите на форму компонент Button7 с заголовком "Подсчет строк в компоненте". Щелчок по данной кнопке приводит к появлению информации в компоненте Label3 о числе записей в компоненте ListBox1.

Сортировку записей в компоненте ListBox1 по алфавиту вы можете осуществить щелчком по кнопке Button8 с заголовком "Сортировка записей по алфавиту".

Поместите на форму компонент ListBox2, кнопку Button9. Программный код для кнопки позволяет выбирать цвет для этого компонента . Вы можете выбрать в компоненте интересующий вас цвет, а затем щелчком по кнопке осуществить свой выбор.

Программный код для данного примера имеет вид:

procedure TForm1.Button4Click(Sender: TObject);

var K:Integer;

begin

K:=StrToInt(Edit1.Text);

ListBox1.Items.Delete(K);

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

ListBox1.Items.Add(Edit2.Text);

end;

procedure TForm1.Button6Click(Sender: TObject);

var I,J:Integer;

begin

I:=Strtoint(Edit1.Text);

J:=StrToInt(Edit2.Text);

ListBox1.Items.Exchange(I,J);

end;

procedure TForm1.Button7Click(Sender: TObject);

begin

Label3.Caption:='Всего '+ IntToStr(ListBox1.Items.Count) + ' записей';

end;

procedure TForm1.FormCreate(Sender: TObject);

var I:Integer;

begin

ListBox2.Items.Add('Blue');

ListBox2.Items.Add('Yellow');

ListBox2.Items.Add('Red');

end;

procedure TForm1.Button8Click(Sender: TObject);

begin

ListBox1.Sorted:=True;

end;

procedure TForm1.Button9Click(Sender: TObject);

begin

if ListBox2.Selected[0] then ListBox2.Color:=clBlue;

if ListBox2.Selected[1] then ListBox2.Color:=clYellow;

if ListBox2.Selected[2] then ListBox2.Color:=clRed;

end; end.

Результат работы приложения List показан на рисунке 3.