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

2.1 Списки ListBox, ComboBox

 

В Delphi часто приходится иметь дело с различными списками, например, списками строк текстового редактора Memo.  Стандартный компонент Listbox  (вкладка Standard палитры компонентов) предназначен непосредственно для отображения списка строк на экране. 

Основные свойства компонента ListBox:

- ItemIndex: integer;  определяет индекс выделенного элемента в списке. Нумерация элементов начинается с нуля. Если выделенного элемента нет, это свойство принимает значение, равное  -1.  Свойство доступно только на этапе выполнения программы;

- Item: Tstrings; задает элементы списка;

- MultiSelect:Boolean; определяет, разрешается ли одновременно выделять несколько элементов списка: если имеет значение  True, то такое выделение возможно, в противном случае выделить можно только один элемент;

- Selected[Index:integer]:Boolean; если i-тый элемент выделен, то Selected[i] равняется True, , в противном случае -  False. Свойство доступно только на этапе выполнения программы.

- Sorted:Boolean; указывает, должны ли строки в списке автоматически сортироваться в алфавитном порядке.

- Clear; удаляет все элементы списка.

СomboBox –комбинированная строка ввода. Страница Палитры Компонентов – Standard.

Комбинированная строка ввода СomboBox объединяет в себе возможности строки ввода Edit  и списка List Box. По внешнему виду напоминает Edit, но дополнительно имеет в правой части кнопку со стрелкой, направленной вниз.

Если щелкнуть по этой кнопке, появится выпадающий список. Основное отличие от  ListBox – возможность вводить в список новые элементы, отображать активный элемент.

В компоненте СomboBox отсутствует свойство MultiSelect, поэтому не допускается множественный выбор.

Основные свойства Сombo Box:

- ItemIndex: integer;  определяет индекс выделенного элемента в списке. Нумерация элементов начинается с нуля. Если выделенного элемента нет, это свойство принимает значение, равное  -1.  Свойство доступно только на этапе выполнения программы;

Item: Tstrings; задает элементы списка;

- DropDownCount: integer; отображает максимальное число элементов, отображаемое в раскрывающемся списке.

- DroppedDown:Boolean; указывает, отображается ли раскрывающийся список в данный момент. Свойство доступно только на этапе выполнения программы.

- Sorted:Boolean; указывает, должны ли строки в списке автоматически сортироваться в алфавитном порядке.

- Text: String; содержит текс выбранной или введенной пользователем строки.

- Clear; удаляет все элементы списка.

 

2.2 Задание к лабораторной работе

 

2.2.1 Создать программу, которая при выборе из списка с помощью мыши названия цвета и нажатии на кнопку на экране отображает  название цвета на русском языке и код цвета в формате RGB. Программа заканчивает свою работу при  нажатии кнопки «Close».  

План разработки программы:

1)       разместить на форме экземпляры компонентов в соответствии с рисунком 2.1;

2)       сохранить новый проект – File – Save All. Создать новую папку, дать  название «Справочник», открыть папку;

 

 

Рисунок  2.1

 

3)       Сохранить код программы и проект под именами, например, Unit1.pas и Project1.dpr.

4)       Установить следующие свойства для компонентов:

 

Выделенный

объект

 

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

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

Действие

BitBtnl

Properties

Caption

Установка     имени     кнопки: «Выход»

 

 

 

 

Kind

bk Close

Label 1

Properties

Caption

Ввод   надписи   «Справочник записи цвета в формате RGB»

Label2

Properties

Caption

Ввод надписи «Цвет Формат RGB»

Label3

Properties

Caption

Удаление   названия   и   кода цвета

 

5)       Запустить программу, затем закрыть окно проекта, щелкнув на кнопке «Выход».

6)       Выделить объект ListBox1, найти свойство Items, щелкнуть на кнопке с тремя точками, расположенной справа от него. В появившемся окне встроенного редактора (см. рисунок 2.2) ввести названия цветов, каждый на новой строке.

 

 

 

 

 

 

Рисунок  2.2 

7)       Сохранить набранный текст под именем color.txt  Для этого нажать правую кнопку мыши и выбрать режим Save. Для выхода из встроенного редактора щелкнуть на кнопке ОК.

8)       Чтобы при установке курсора мыши в поле List Box1 появлялась подсказка о том, что надо сделать, необходимо воспользоваться  свойствами Hint (текст сообщения) - «выделить строку и щелкнуть на кнопке», Showhint (показывать ли сообщение) объекта ListBox1.

9)       Активизировать двойным щелчком кнопку «Перевести» и в заготовку обработчика события  OnClick поместить следующий код:

сase   listBox1.ItemIndex of

0: Label3.Caption:= 'черный  ОООООО';

1: Label3.Caption:=' белый  FFFFFF' ;

2: Label3.Caption:=' красный  FFOOOO' ;

3: Label3.Caption:=' зеленый  OOFFOO' ;

4: Label3.Caption:= 'бирюзовый OOFFFF';

5: Label3.Caption:=' синий OOOOFF';

6: Label3.Caption:=' фиолетовый  FFOOFF';

7: Label3.Caption:= ' желтый  FFFFOO';

8: Label3.Caption:= 'коричневый  996633';

9 : Label3.Caption:= ' оранжевый  FF8000';

10: Label3.Caption:= ' липовый  8000FF';

11: Label3.Caption:=' серый  АОАОАО';

end;

10)  Сохранить проект окончательно, запустить и протестировать его.

 

2.2.2  В  целочисленном массиве найти максимальный и минимальный элементы и поменять их местами. Использовать компонент СomboBox –комбинированная строка ввода. Элементы массива вводятся в компонент СomboBox1. При нажатии на кнопку Ввод данные вводятся в память. Элементы новой матрицы, в которой  максимальный и минимальный элементы  поменялись местами, выводятся в компонент СomboBox2.

 

 

Рисунок  2.3

 

План разработки программы:

1)       для нового проекта создать новую папку, например, Combobox;

2)       открыть новый проект;

3)       со страницы Standard поместить на Form1 компоненты, согласно рисунку 2.3: button1, button2, ComboBox1, ComboBox2.

4)       свойство DropDownCount для ComboBox1, ComboBox2 равно 10.

5)       в разделе interface описывается массив и используемые переменные:              a:array[1..10] of integer; i, min, max, imax, imin:integer;

6)       для того чтобы ввести начальные значения, с которыми программа начнет свою работу, в момент создания формы, используется событие OnCreate  для формы. Для создания заготовки этого события необходимо выполнить двойной щелчок по форме и поместить там следующие строки:  

           i:=0;

           comboBox1.Clear;

           combobox2.Clear;

           combobox1.TabOrder:=0; 

7)     для кнопки Ввод написать обработчик события:

begin

combobox1.items.add(combobox1.Text);

i:=i+1;

a[i]:=strtoint(combobox1.Text);

combobox1.SetFocus;

end;

8)     для кнопки Решение написать обработчик события:

procedure Tform1.Button2Click(Sender: Tobject);

var k:integer;

begin

  max:=a[1];

  maxi:=1;

  min:=a[1];

  mini:=1;

  for k:=2 to 10 do

     begin

       if max<a[k] then

          begin

            max:=a[k];

            maxi:=i;

          end;

       if min>a[k] then

          begin

            min:=a[k];

            mini:=i;

          end;

      end;

       a[maxi]:=min;

       a[mini]:=max;

 

       for k:=1 to 10 do

       combobox2.Items.Add(inttostr(a[k]));

       combobox2.DroppedDown:=true;

end;

9)     сохранить проект окончательно и запустить его.