Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Топ:
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Интересное:
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Button4.Enabled: = True;
Button1.Caption:= ‘ &1: Disable4 ‘;
End
Else
Begin
Button4.Enabled:= False;
Button1.Caption:= ‘ & 1: Enabled ’;
end;
end;
По аналогичному алгоритму для кнопки 5:
Procedure TButtonForm.Button 5.Click (Sender: TObject);
Begin
Button2.Visible: = not Button2.Visible;
If Button2.Visible then
Button 5.Caption: = ‘& 5: Hide 2 ’;
Else
Button 5.Caption: = ‘ & 5: Show 2 ‘;
end;
Последних две кнопки (3 и 6) имеют неограниченный код, т.е. можно уменьшить кнопку 6 до такой степени, что она, в конце концов, исчезнет:
Procedure TButtonForm.Button3Click (Sender: tObject);
Begin
Button6.Height: = Button6.Height + 3;
Button6.Width:= Button6.Width +3;
end;
Procedure TButtonForm.Button6Click (Sender: TObject);
Begin
Button6.Height: = Button6.Height -3;
Button6.Width: = Button6.Width -3;
end;
Пример TYPES
Напишем программу, показывающую размерность и длину в байтах различных типов данных.
· Образуем в меню FILE / NEW APPLICATION новую форму.
· В правой части формы через меню Standart организуем 11 кнопок.
* Дадим каждой из кнопок свое имя через Object Inspector / Name
Short_INT, Word,_Cardinal, Small_INT, Word_Bool, _Char, Long_INT, Boolean, _Integer, Byte_Bool, Long_Bool
В первой части формы через меню Standart организуем 2 столбца из 4-х меток каждый.
Для первого столбца через Object Inspector / Name дадим имена меткам:
TYPE:
SIZE:
MAX:
MIN:
Во втором столбце меток имена Name должны быть пустыми, т.е. свойство CAPTION должно быть пустым.
Щелкнем дважды по каждой кнопке, для организации перехода в редактор.
Для кнопок с именами Short_INT, Small_INT, _INTEGER,_Cardinal, _Word запишем в редакторе следующий текст (для каждой кнопки - свой тип данных).
Например:
Procedure TForm1.Short_Int Click (Sender: T Object);
var Number:ShortInt;
Begin
TypeLabel.Caption: = ‘ Short_ Int ‘;
SizeLabel. Caption: = IntToStr (Sizeof (Number));
MaxLabel. Caption: = IntToStr (High (Number));
MinLabel. Caption: = IntToStr (Low (Number));
end;
Для других кнопок структура процедур не изменяется, за исключением типа данных и две последних строки запишутся следующим образом:
MaxLabel.Caption: = InttoStr (ORD (# 0));
MinLabel.Caption: = InttoStr (ORD (# 0));
Создание списка ListBox
Предварительно необходимо добавить на форму компонент ListBox.
2 способа создания списка:
1. Дважды кликнуть по форме и в процедуре настройки формы procedure FormCreate(Sender: TObject); ввести следующие команды:
procedure TForm1.FormCreate(Sender: TObject);
Begin
ListBox1.Items.Add ('Apples');
ListBox1.Items.Add ('Apes');
ListBox1.Items.Add ('Anchor');
ListBox1.Items.Add ('Antenna');
ListBox1.Items.Add ('Angle');
ListBox1.Items.Add ('Ant');
ListBox1.Items.Add ('Bananas');
ListBox1.Items.Add ('Basket');
ListBox1.Items.Add ('Bandanna');
ListBox1.Items.Add ('Broccoli');
ListBox1.Items.Add ('Brook');
ListBox1.Items.Add ('Cat');
ListBox1.Items.Add ('Catch');
ListBox1.Items.Add ('Cape');
end;
|
2. На форме выделить ListBox и в Object Inspector на вкладке Propierties справа от свойства Items дважды кликнуть. При этом происходит переход в редактор, где каждая строка будет являться одним элементом списка.
Пример работы со списком
1. на форме создать:
· 3 êíîïêè Button
· 1 ListBox
· 1 Edit
· 1 Label
2. Создать для ListBox список (см. выше).
3. Для Edit1 в Object Inspector свойство Text сделать пустым
4. Для Label1 в Object Inspector в свойстве Captiоn сделать надпись”Выбранный элемент списка”.
5. Для Button1 в Object Inspector в свойстве Captiоn сделать надпись на ней ”Выбрать элемент списка”.
6. Для Button2 в Object Inspector в свойстве Captiоn сделать надпись на ней ”Всего элементов списка”.
7. Для Button3 в Object Inspector в свойстве Captiоn сделать надпись на ней ”Выход”.
8. После инициализации списка в ListBox1 можно выбрать один любой его элемент и нажав Button1 вывести егоназвание:
procedure Tform1.Button1Click(Sender: Tobject);
Begin
ShowMessage (ListBox1.Items[ListBox1.ItemIndex]);
end;
Свойство ItemIndex âîçâðàùàåò ïîçèöèþ òåêóùåãî âûáðàííîãî ýëåìåíòà â ñïèñêå, ïðè÷åì íîìåðàöèÿ íà÷èíàåòñÿ ñ 0. Ïîçèöèÿ, êîòîðóþ âîçâðàùàåò ñâîéñòâî ItemIndex, ìîæíî ðàññìàòðèâàòü êàê èíäåêñ â ñâîéñòâå Item для извлечения выбранного элемента списка через ShowMessage.
Ïðèìå÷àíèå: Åñëè â ñïèñêå íå âûáðàòü íè îäèí ýëåìåíò, òî áóäåò îøèáêà, à ñëåäîâàòåëüíî, ñáîé ïðîãðàììû. ×òîáû ýòîãî èçáåæàòü ìîæíî ñäåëàòü òàê:
procedure Tform1.Button1Click(Sender: Tobject);
Begin
Try
ShowMessage (ListBox1.Items[ListBox1.ItemIndex]);
Except
On EstringListError do
MessageDlg(‘No item selected.’, mtInformation, [mbOk], 0);
end;
end;
9. В элементе Edit1 можно ввести название из списка и курсор покажет этот элемент в списке, аналогично свойству Find любого редактора. Для этого служит:
procedure Tform1.Edit1Change(Sender: Tobject);
{ Search through list box and return closest match to keys typed }
Begin
SearchListItem (Edit1, ListBox1);
end;
Ïðîöåäóðà SearchListItem îñóùåñòâëÿåò ïîèñê â ñïèñêå è ôîçâðàùàåò áëèæàéøåå ñîîòâåòñòâèå ñèìîëàì, ââåäåííûì â ýëåìåíò óïðàâëåíèÿ Edit1. Для этого используется специальный модульLMUtil, который поставляется в дополнительной библиотеке и находится у автора.
10. Кнопка Button2 выводит количество элементов в списке:
procedure Tform1.Button2Click(Sender: Tobject);
Var
S: string;
Begin
S:= ‘Total list elements: ‘;
MessageDlg(S + IntToStr(ListBox1.Items.Count), mtInformation,
[mbOk], 0);
end;
11. Кнопка Button3 èñïîëüçóåòñÿ äëÿ âûõîäà èç ïðîãðàììû:
procedure Tform1.Button3Click(Sender: Tobject);
Begin
close;
end;
|
Примечание1: в Object Inspector в свойстве Fonts можно менять шрифты надписей почти для всех элементов, а в свойстве Color менять цвета.
Примечание2:
Функция MessageDlg служит для показа небольшого диалогового окна с сообщением имеет 4 параметра:
1) строка – само сообщение
2) тип окна сообщения
· mtWarning
· mtError
· mtInformation
· mtConfirmation
3) множество значений, указывающее на необходимые кнопки:
· mbYES
· mbNO
· mbOK
· mbCANCEL
· mbHELP
Здесь можно задать не одну, а несколько кнопок.
Для каждого типа автоматически используется свой заголовок и рядом с текстом отображается своя пиктограмма.
4) контекст справки, т.е. число, указывающее какая страница справочной системы должна вызываться, когда пользователь нажмет F1. (0 – HELP не включается).
MessageDlg возвращает (т.е. результатом работы этой функции является) идентификатор кнопки, по которой щелкнул пользователь, чтобы закрыть окно сообщения.
|
|
|
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!