Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
delphi практические по программированию.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
4.46 Mб
Скачать

1. Открыть новый проект.

2. Разместить на форме экземпляры компонентов: список флажков CheckListBox, надпись Label, список ListBox.

3. Выполнить следующие действия:

Таблица 20.

Выделенный объект

Вкладка окна Object Inspector

Имя свойства/ имя события

Действие

Forml

Properties

Caption

Установка имени формы "Головоломка"

BorderStyle

Задайте значение bsSingle

CheckListBoxl

(Вкладка Additional )

Properties

Items

Задаем состав списка. Щелкнуть на кнопке построителя. Откроется окно String List editor (Редактор списка строк). Введите в список заданные числа через Enter. Нажмите кнопку OK.

Height

Подобрать значение так, что все числа поместились в список (без полос прокруток).

Events

OnClickCheck

Описать очистку списка. Проверить, установлен флажок или нет. После обновления списка необходимо подсчитать сумму выбранных чисел. Элементы списка выглядят как числа, но являются текстовыми строками (воспользоваться функцией StrToInt).

Продолжение таблицы 20.

Выделенный объект

Вкладка окна Object Inspector

Имя свойства/ имя события

Действие

ListBox1

(Вкладка Standard)

Properties

Height

Подобрать значение так, что все числа поместились в список (без полос прокруток). Первоначально список пуст. Заполняться он будет при работе программы.

Label1

(Вкладка Standard)

Properties Caption Введите текст: "Сумма: 0" Autosize Задайте значение False Alignment Задайте значение taCenter

4. Сохраните проект, запустите и протестируйте его.

Листинг подпрограммы

procedure TForm1.CheckListBox1ClickCheck (Sender: TObject);

var i, s: Integer;

begin

ListBox1.Clear;

for i: = 0 to CheckListBox1.Items.Count-1 do if CheckListBox1.Checked[i] then ListBox1.Items.Add (CheckListBox1.Items[i]);

s := 0;

for i := 0 to ListBox1.Items.Count -1 do

s := s + StrToInt(ListBox1.Items[i]); Label1.Caption := 'Сумма: ' + IntToStr(s); if s = 50 then

begin

Label1.Caption := 'Сумма:' + IntToStr (s); CheckListBox1.Enabled := False; ListBox1.Enabled := False; end;

end;

№ 19. Головоломка №2

Цель работы - создать компьютерную версию головоломки: из изображенных пяти сброшенных флажков установить все. Но при выборе одного флажка меняется состояние двух следующих.

Рис. 40.

Создать программу, выполняющую следующие действия:

1. После запуска программы в окне изображаются пять сброшенных флажков.

2. Щелкать разрешено только на сброшенных флажках. Щелчок на установленном флажке не действует.

3. При установке какого-то флажка меняется состояние двух следующих флажков. При этом сброшенные флажки устанавливаются, а установленные - сбрасываются.

4. Для выхода из программы необходимо щелкнуть мышью на закрывающей кнопке в строке заголовка.

Описание плана разработки программы