/i>program Project1;{$APPTYPE CONSOLE}usesSysUtils;varx0,y0:integer;xa,ya,xb,yb,xc,yc,xd,yd:real;OB,OD,D,BD:real;X1,Y1,X2,Y2,Z1,Z2,xO,yO:real;OBP,ODP:integer;beginwriteln('vvedite vershihy chetyrehugolnika');readln(xa,ya,xb,yb,xc,yc,xd,yd);X1:=yC-yA;Y1:=xA-xC;Z1:=xA*yC-xC*yA;X2:=yD-yB;Y2:=xB-xD;Z2:=xB*yD-xD*yB;D:=X1*Y2-Y1*X2;xO:=(Z1*Y2-Y1*Z2)/D;yO:=(X1*Z2-Z1*X2)/D;OB:=sqrt(sqr(xO-xB)+sqr(yO-yB));OD:=sqrt(sqr(xO-xD)+sqr(yO-yD));BD:=sqrt(sqr(xB-xD)+sqr(yB-yD));OBP:=round(OB*(100/BD));ODP:=100-OBP;writeln('Dlina OB: ',OB:4:2);writeln('Dlina OD: ',OD:4:2);writeln('Otnoshenie: ',OBP,'/',ODP);readln;end.2.1.3 Реакція ЕОМ Рисунок 2 - Реакція ЕОМ 2.2 Компоненти форми та їх властивості Створюючи дану програму я використовував різноманітні компоненти, такі як: Edit, Label, Button, GroupBox, CheckBox, PaintBox, ColorBox, ComboBox, Timer, MainMenu та OleContainer. Таблиця 1 - Загальна характеристика компонентів: |
Компонент | Піктограма | Панель компонентів | Опис | | Edit (вікно редагування) | | Standard | Відображення, введення та редагування однорядкових текстів. Є можливість оформлення об'ємного бордюру. Основна властивість -- Text. | | Label (позначка) | | Standard | Відображення тексту, який не з-змінюється користувачем. Ніякого оформлення тексту не передбачено, крім кольору позначки та тексту. Основна властивість -- Caption. | | Button (командная кнопка) | | Standard | Використовується для створення кнопок, якими користувач виконує команди у додатку. | | GroupBox (групове вікно) | | Standard | Є контейнером, що об'єднує групу пов'язаних органів управління, таких, як радіокнопкі RadioButton, контрольні індикатори Checkbox і т.д. | | CheckBox (контрольний індикатор з прапорцем) | | Standard | Дозволяє користувачеві вмикати та вимикати опції програми. | | PaintBox (вікно для малювання) | | System | Використовується для створення на формі деякої області, в якій можна малювати. | | ColorBox (список цветов) | | Additional | Спеціальний варіант ComboBox для вибору одного з системних кольорів. | | ComboBox (редактируемый список) | | Standard | Об'єднує функції ListBox та Edit. Користувач може або ввести текст, або вибрати його із списку. | | Timer (таймер) | | System | Використовується для запуску процедур, функцій та подій у вказані інтервали часу. | | MainMenu (головне меню) | | Standard | Дозволяє конструювати та створювати смугу головного меню форми та випадаючі меню. Компонент не-візуальний. | | OLEContainer (контейнер OLE) | | System | Використовується при створенні області клієнта для об'єкта OLE. | | | 2.2.1 EditКомпонент Edit -- це однорядковий редактор (рядок), призначений для вводу користувачем деяких даних. Вміст рядку є значенням властивості Text.Для даного компоненту маються можливості:- редагування тексту (виділення фрагменту, перетворення виділеного тексту, чуттєвість до регістру);- відгук на зміну в тексті;- керування доступом у тексті (наприклад, доступ «тільки для читання» або символи паролю, що роблять невидимими символи, що вводяться).Деякі властивості компоненту Edit (разом із типами) [1]:- AutoSelect. Тип -- Boolean. Вказує, чи буде виділятися весь текст у момент отримання компонентом фокуса вводу;- BorderStyle. Тип -- TBorderStyle. Визначає стиль обрамлення компоненту: bsNone - немає обрамлення; bsSingle - компонент обрамляється однією лінією;- MaxLength. Тип -- Integer. Визначає максимальну довжину текстового рядка. Якщо має значення 0, то довжина рядку не обмежена;- PasswordChar. Тип -- Char. Якщо символ PasswordChar визначений, то він замінює собою будь-який символ тексу при відображенні у вікні. Використовується для воду паролів;- ReadOnly. Тип -- Boolean. Якщо значення властивості дорівнює True, то текст не може змінюватись;- OEMConvert. Тип -- Boolean. Містить True, якщо необхідно перекодувати текст із кодування MS-DOS до кодування Windows та назад.2.2.2 LabelLabel -- це позначки, що спеціально призначені для відображення тексту. Компонент Label відображає текст, що не редагується, який зберігається у властивості Caption. Текст вирівнюється у межах компоненту одним із трьох способів: по лівому краю, по правому краю а по центру. Спосіб вирівнювання визначається властивістю Alignment. Якщо текст напису занадто великий, то можна організувати його вивід у декілька рядків (з перенесенням слів). Для цього достатньо встановити властивість WordWrap у значення True [8].Ще одна зручна можливість -- автоматичне налаштування розмірів компоненту по ширині ті висоті вікна. Вона контролюється властивістю AutoSize та за замовчуванням ввімкнена.Фон напису можна зробити прозорим, встановив властивість Transparent у значення True. Такий напис можна винеси поверх графічного зображення.За допомогою компоненту Label часто створюються підказки до інших компонентів, зокрема до полів вводу. При цьому властивість Caption містить не тільки текст, але й «гарячу» клавішу, при виборі якої активізується зв'язаний з написом компонент. Цей компонент вказується у властивості FocusControl.2.2.3 ButtonНайпростішою та, мабуть, найбільш частіше використовуваною кнопкою є кнопка Button. Основна властивість кнопки з точки зору зовнішнього вигляду -- властивість Caption (напис). Основна подія -- OnClick, що виникає при натисканні на кнопку. Саме в обробнику цієї події записуються оператори, що повинні виконуватись при натисканні користувача по кнопці.Властивість Cancel, якщо її встановити у true, визначає, що натискання користувачем клавіші Esc буде еквівалентно натисканню на дану кнопку. Властивість Default, якщо її встановити у true, визначає, що натискання користувачем клавіші вводу Enter буде еквівалентно натисканню на дану кнопку, навіть якщо ця кнопка у цей момент не знаходиться у фокусі. Правда, якщо у момент натискання Enter у фокусі знаходиться інша кнопка, то все ж таки спрацює саме ця кнопка [3].Із методів, притаманних кнопці, має сенс відмітити тільки один -- Click. Виконування цього методу еквівалентно натисканню на кнопці, тобто викликає подію кнопки OnClick. Саме цим можна скористатися, щоб продублювати якимось іншими діями користувача натискання на кнопці. Наприклад:if (key='C' or key='c') then Button1.Click;Ця умова значить, що якщо користувач ввів символ «С» або «с», то у результаті буде виконаний обробник натискання кнопки Button1. 2.2.4 GroupBox та CheckBoxGroupBox багато в чому схожий зі звичайною панеллю. Він призначений для групування схожих за змістом компонентів. Текст із властивості Caption виходить не посередині панелі, а зверху, створюючи таким чином заголовок цієї панелі. При переміщенні GroupBox будуть переміщуватися і всі компоненти, що розволожені на ньому [10]. Рисунок 3 - Компонент GroupBox та CheckBox на ньому CheckBox -- це перемикач, що використовується для установки параметрів, що характеризуються двома значеннями: "Так" і "Ні" (True и False). Звичайно перемикач має два стана: увімкнений та вимкнений. Поточний стан визначається значенням властивості Checked. Якщо воно дорівнює значенню True, то перемикач увімкнений, інакше -- вимкнений. Буває, що перемикач має ще й третій стан -- невизначений (grayed). У цьому стані перемикач замальовується сірим кольором. Характерні властивості цього компоненту: - Alignment (визначає, з якої сторони від перемикача знаходиться текст: taRightJustify -- праворуч, taLeftJustify -- зліва); - AllowGrayed (якщо дорівнює True, то перемикач має три стана); - Caption (текст поруч із перемикачем); - Checked (визначає, чи увімкнений перемикач); 2.2.5 PaintBox Компонент PaintBox використовується для малювання не на всій формі, а у обмеженому прямокутнику. Цей компонент розміщається на формі у вигляді прозорого пунктирного квадрату, і в його межах можна малювати. Малювання виконується звертанням до властивості Canvas (графічна канва) цього компоненту: PaintBox1.Canvas. У нього, в свою чергу, є властивість Pixels (PaintBox1.Canvas.Pixels), яке представляє собою матрицю, двомірний масив заданого розміру -- поточений образ канви, де кожен елемент -- окрема точка. У Pixels[] відлік точок (пік селів екрану) починається з 0. Координати x та y відраховуються від верхнього лівого кута, тобто він вважається за точку з координатами (0, 0). Для конкретної точки вказується колір. Функція RGB() формує клір комбінацією інтенсивності червоного, зеленого та синього (інтенсивність задається числом від 0 до 255). Наприклад: чорний -- RGB(0,0,0), червоний -- RGB (255,0,0), синій -- RGB(0,0,255), білий -- RGB (255,255,255) [9]. 2.2.6 ComboBox та ColorBoxКомпоненти ComboBox та ColorBox забезпечують вибір із списку. ComboBox відображає списки рядків, ColorBox -- список кольорів. ComboBox дозволяє також редагувати дані та відображати список як у розгорнутому вигляді, так і у вигляді випадаючого вікна, що звичайно зручніше, так як це заощаджує площу вікна додатку. Основна властивість компоненту, що містить список рядків, -- Items, що має тип TStrings. Заповнити його під час проектування можна, натиснувши на кнопку з багатокрапкою біля цієї властивості у вікні Інспектора Об'єктів. Стиль зображення цього компоненту визначається властивістю Style, що може приймати наступні основні значення [4]: – csDropDown (випадаючий список з рядками однакової висоти та вікном редагування, що дозволяє користувачеві вводити або редагувати); – csSimple (розгорнутий список з рядками однакової висоти та з вікном редагування, що дозволяє користувачеві вводити або виводити текст); – csDropDownList (випадаючий список з рядками однакової висоти, що не містить вікна редагування). Вибір користувача або введений текс можна визначити по значенню властивості Text. Якщо ж треба визначити індекс елементу списку, що вибраний користувачем, то можна скористатися властивістю ItemIndex. Якщо початкове значення не задано, то у момент запуску додатку користувач не побачить у вікні компоненту одне із можливих значень. Властивість MaxLength визначає максимальну кількість символів, які користувач може ввести у вікно редагування. Якщо MaxLength = 0, то кількість символів, що вводиться, не обмежено. Властивість Sorted дозволяє впорядкувати список за абеткою. При Sorted= true нові рядки у список додаються не у кінець, а за абеткою. 2.2.7 TimerКомпонент Timer дозволяє задавати у додатку інтервали часу. Таймер знаходить численне застосування у: синхронізації мультиплікації, закритті деяких вікон, з якими користувач довгий час не працює, увімкнення хранителя екрану, завдання часу на відповідь у навчальних програмах -- все це безліч задач, в яких вимагається задавати інтервали часу, вирішується за допомогою таймеру. Таймер -- це не візуальний компонент, який може розміщуватись у будь-якому місці форми. Він має дві властивості, що дозволяють їм керувати: Interval -- інтервал часу у мілісекундах та Enabled -- доступність. Властивість Interval задає період спрацьовування таймеру. Через заданий інтервал часу таймер спрацьовує, викликаючи подію OnTimer. В обробнику цієї події записуються необхідні операції.
Страницы: 1, 2, 3, 4
|