Читайте также:
|
|
! | Означає, що недостаючі символи предворяються пробілу. |
> | Всі наступні за ним символи повинні вводиться у верхньому регістрі, поки не скінчиться маска або не зустрінеться символ «<» |
< | Всі наступні за ним символи повинні вводиться в нижньому регістрі, поки не скінчиться маска або не зустрінеться символ «>» |
<> | Аналіз регістра не відбувається |
\ | Наступний за ним символ є буквеним, а не спеціальним, характерним для маски |
L | У даній позиції повинна бути буква |
l | У даній позиції може бути тільки буква або нічого |
A | У даній позиції повинна бути буква або цифра |
a | У даній позиції може бути буква, або цифра або нічого |
C | У даній позиції повинен бути будь-який символ |
c | У даній позиції може бути будь-який символ або нічого |
У даній позиції повинна бути цифра | |
У даній позиції може бути цифра або нічого | |
# | У даній позиції може бути цифра, знак «+», знак «-» або нічого |
: | Використовується для поділу годин, хвилин і секунд |
/ | Використовується для поділу місяців, днів і років у датах |
_ | Означає автоматичну вставку в текст пробілу. |
Вводити маску можна безпосередньо у властивість EditMask. Але зручніше користуватися спеціальним редактором масок, що викликається при натисканні кнопки з крапками в рядку властивості EditMask в Інспекторі Об'єктів.
У редакторі масок вікно Sample Masks містить найменування стандартних масок і приклади введення з їхньою поміччю. У вікно Input Mask треба ввести маску. Якщо ви вибираєте одну зі стандартних масок, то вікно Input Mask автоматично заповнюється і ви можете, якщо хочете, відредагувати цю маску.
Вікно Character for Blanks визначає символ, що використовується для позначення позицій, в яких ще не здійснене введення (третій розділ маски). Індикатор Save Literal Characters визначає другий розділ маски: установлений, якщо другий розділ дорівнює 1, і не встановлений, якщо другий розділ дорівнює 0.
Кнопка Masks дозволяє вибрати і завантажити якийсь інший файл стандартних масок. На жаль, серед файлів стандартних масок, що поставляються з Delphi, відсутня маска, що відповідає російським стандартам. Але ви легко можете самі зробити собі такий файл стандартних масок. Він робиться в звичайному текстовому редакторі і повинен зберігатися як «тільки текст» з розширенням. dem. Щоб редактор масок Delphi бачив цей файл, його треба зберегти в каталозі Delphi BIN. Кожний рядок файла складається з трьох частин, що розділяються символом вертикальної риси. Перша частина складається з пояснювального тексту, що з'являється в лівій панелі вікна Sample Masks редактора масок. Друга частина - приклад, що з'являється в правій панелі вікна Sample Masks редактора масок. А третя частина - сама маска.
Наприклад,! \(999\) 000-00-00;0;_
У цій масці символ «9» означає, що у відповідній позиції може бути тільки цифра. Символ «0» означає, що в даній позиції повинна бути цифра. Символ підкреслення наприкінці маски буде заповнювати порожні позиції. Таким чином, користувачу для введення у вікні буде відображений шаблон:
(__)__-__-__
4. Багаторядкове вікно редагування Memo і Richedit
Компоненти Memo і RichEdit є вікнами реагування багаторядкового тексту. Вони так само, як і вікна, володіють багатьма функціями, властивими більшості редакторів. У них передбачені типові комбінації «гарячих» клавіш: Ctrl-C - копіювання виділеного тексту в буфер обміну Clipboard (команда Copy), Ctrl-X - вирізання виділеного тексту в буфер Clipboard (команда Cut), Ctrl-V - вставка тексту з буфера Clipboard у позицію курсору (команда Paste), Ctrl-Z - скасування останньої команди редагування.
У компоненті Memo формат (шрифт, його атрибути, вирівнювання) однаковий для усього тексту і визначається властивістю Font. Якщо ви збережете у файлі текст, введений або відредагований користувачем, то буде створений текстовий файл, що містить тільки символи і не містить елементи форматування. При наступному читанні цього файла в Memo формат буде визначатися поточним станом властивості Font компонента Memo, а не тим, у якому форматі раніше вводився текст.
Компонент RichEdit працює з текстом у збагаченому форматі RTF. При бажанні знову змінити атрибути фрагмента тексту ви можете задати властивість SelAttributes. Ця властивість типу TTextAttributes, що у свою чергу має підвластивості: Color (колір), Name (ім'я шрифту). Size (розмір). Style (стиль) і ряд інших.
У компоненті є також властивість DefAttributes, що містить атрибути по умовчанню. Ці атрибути діють до того моменту, коли змінюються атрибути у властивості SelAttributes. Але значення атрибутів у DefAttributes зберігаються й у будь-який момент ці значення можуть бути методом Assign привласнені атрибутам властивості SelAttributes, щоб повернутися до старого стилю.
Властивість DefAttributes доступно тільки під час виконання. Тому його атрибути при необхідності можна задавати, наприклад, в оброблювачі події OnCreate.
За вирівнювання, відступи і т.д. у межах поточного абзаца відповідає властивість Paragraph типу TParaAttributes.
Значення підвластивостей властивості Paragraph можна задавати тільки в процесі виконання додатка. Значення підвластивостей властивості Paragraph відносяться до поточного абзацу.
Властивості TabCount і Tab мають сенс при введенні тексту тільки при значенні властивості компонента WantTabs = true. Ця властивість дозволяє користувачу вводити в текст символ табуляції. Якщо WantTabs = false, то натиснена користувачем клавіша табуляції просто переключить фокус на черговий компонент і символ емуляції в текст не введеться.
Властивості Alignment і Wordwrap мають той же зміст, що, наприклад, у мітках, і визначають вирівнювання тексту і допустимість переносу довгих рядків. Установка властивості ReadOnly у true задає текст тільки для читання. Властивість Max-ength визначає максимальну довжину тексту, що вводиться. Якщо MaxLength = 0, то довжина тексту не обмежена. Властивості WantReturns і WantTab визначають допустимість введення користувачем у текст символів переведення рядка і табуляції.
Властивість ScrollBars визначає наявність смуг прокручування тексту у вікні. По умовчанню ScrollBars = ssNone, що означає їхню відсутність. Користувач може в цьому випадку переміщатися по тексту тільки за допомогою курсору. Можна задати властивості ScrollBars значення ssHorizontal, ssVertical або ssBoth, що буде відповідно означати наявність горизонтальної, вертикальної або обох смуг прокручування.
Основна властивість вікон Memo і RichEdit - Lines, що містить текст вікна у вигляді списку рядків і має тип TStrings. Початкове значення тексту можна встановити в процесі проектування, натиснувши кнопку з крапкою біля властивості Lines у вікні Інспектора Об'єктів. Перед вами відчиниться вікно редагування списків рядків. Ви можете редагувати або вводити текст безпосередньо в цьому вікні, або натиснути кнопку CodeEditor і працювати в звичайному вікні Редактора Коду. У цьому випадку, завершивши роботу з текстом, виберіть із контекстного меню, що спливає при щиголі правою кнопкою миші, команду Close Page і відповісти ствердно на питання, чи хочете ви зберегти текст у відповідній властивості вікна редагування.
Під час виконання додатка ви можете заносити текст у вікно редагування за допомогою методів властивості Lines типу TStrings.
Весь текст, поданий одним рядком типу String, усередині якого використовуються роздільники типу символів повернення каретки і перекладу рядка, утримується у властивості Text.
Доступ до окремого рядка тексту ви можете одержати за допомогою властивості Strings[Index: Integer]. Індекси, як і скрізь у Delphi, починаються з 0. Так що Memo1. Lines. Strings[0] - це текст першого рядка. Врахуйте, що якщо вікно редагування змінюється в розмірах при роботі з додатком і властивість WordWrap = true, то індекси рядків будуть змінюватися при переносах рядків, так що в цих випадках індекс мало про що говорить.
Властивість тільки для читання Count указує число рядків у тексті.
Для очищення тексту у вікні треба виконати процедуру Clear. Цей метод відноситься до самого вікна, а не до його властивості Lines.
Для занесення нового рядка в кінець тексту вікна редагування можна скористатися методами Add або Append властивості Lines. Для завантаження текстузфайла застосовується метод LoadFromFiIe. Збереження тексту у фалі здійснюється методом SaveToFile.
Властивість SelStart компонентів Memo і RichEdit указує позицію курсору в тексті або початок виділеного користувачем тексту. Властивість CaretPos указує на запис, поле Х якої містить індекс символу в рядку, перед якими розташований курсор, а поле Y - індекс рядка, у якому знаходиться курсор (вбудована довідка Delphi підтверджує інше - що властивість CaretPos містить координати курсору в пікселях, але, на щастя, це не так). Таким чином, з огляду на те, що індекси починаються з 0, значення Memo1.CaretPos.Y+1 і Memol.CaretPos.X+1 визначають відповідно номер рядка і символу в ній, перед якими розташований курсор.
5. Компоненти вибору зі списків - ListBox, CheckListBox,
ValueListEditor, ComboBox, ComboBoxEx
Компоненти ListBox і CheckListBox відображають списки рядків і дозволяють користувачу вибрати в них потрібний рядок. Основна властивість обох компонентів, що містить список рядків, - Items, має розглянутий раніше тип TStrings. Заповнити його під час проектування можна, натиснувши кнопку з крапками біля цієї властивості у вікні Інспектора Об'єктів. Під час виконання можна працювати з цією властивістю, користуючись властивостями і методами класу Tstrings - Clear, Add і іншими. Цей же клас дозволяє поставити у відповідність кожному рядку деякий об'єкт. Тоді вибір користувачем рядка в списку можна програмно співвідносити з цим об'єктом.
У компоненті ListBox є властивість MultiSelect, яка дозволяє користувачу вибір в списку. Якщо MultiSelect = false (значення по умовчанню), то користувач може вибрати тільки один елемент списку. У цьому випадку можна взнати індекс обраного рядка з властивості Itemlndex, доступного тільки під час виконання. Якщо жодний рядок не обраний, то Itemlndex = -1.
Початкове значення Itemlndex неможливо задати під час проектування. По умовчанню Itemlndex = -1. Це означає, що жодний елемент списку не обраний. Якщо ви хочете задати цій властивості яке інше значення, тобто установити вибір по умовчанню, що буде показаний у момент початку роботи додатка, то зробити це можна, наприклад, в оброблювачі події OnCreate форми, ввівши в нього оператор виду ListBox1.Itemndex:=0;
Якщо припускається множинний вибір (MultiSelect = true), то значення ItemIndex відповідає тому елементу списку, що знаходиться у фокусі. При множинному виборі перевірити, чи обраний даний елемент, можна перевірившивластивість Selected[Index: Integer ]типу Boolean
На спосіб множинного вибору при MultiSelect = true впливає ще властивість ExtendedSelect. Якщо ExtendedSelect = true, то користувач може виділити інтервал елементів, виділивши один із них, потім натиснувши клавішу Shift і перевівши курсор до іншого елементу. Виділити не прилягаючі друг до друга елементи користувач може, якщо буде утримувати під час вибору натиснутою клавішу Ctrl. Якщо ж ExtendedSelect = false, то клавіші Shift і Ctrl при виборі не працюють.
Властивість Columns визначає число стовпчиків, у яких буде відображатися список, якщо він не поміщається цілком у вікні компонента ListBox.
Властивість Sorted дозволяє впорядкувати список за алфавітом. При Sorted = true нові рядки в список добавляються не в кінець, а за алфавітом.
Властивість AutoComplete, якщо встановити її в true, дозволяє користувачу швидко знаходити рядок списку, натискаючи клавішу, що відповідає її першому символу.
Властивість Style, встановлена в IbStandard (значення по умовчанню), відповідає списку рядків. Інші значення Style дозволяють відображати в списку не тільки текст, але і зображення, а в Delphi 6 впроваджена можливість створювати віртуальні списки.
Значення IbOwnerDrawFixed і IbOwnerDrawVariable використовуються для занесення в список зображень. При цьому IbOwnerDrawFixed означає, що висота всіх елементів списку однакова, а значення IbOwnerDrawVariable означає, що, висота елементів може бути різною. Значення IbVirtual і IbVirtualOwnerDraw відповідають віртуальним спискам відповідно з рядками текстів і зображень, означає, що висота всіх елементів списку однакова, а значення властивості Style, встановлена в IbStandard (значення по умовчанню), відповідає списку рядків. Інші значення Style дозволяють відображати в списку не тільки текст, але і зображення.
При значенні Style, рівному IbOwnerDrawFixed або IbOwnerDrawVariable, умомент, коли повинен малюватися якийсь рядок списку, наступає подія OnDrawItem.
Параметр Control є покажчиком на список, у якому відбувається подія. Параметр Index вказує індекс елемента, який повинен бути перемальованим. Параметр Rect типу TRect вказує область канви списку, що відповідає елементу списку який малюється. Параметр TOwnerDrawState є множиною, елементами якої можуть бути значення odSelected - рядок виділений, odFocused рядок, що знаходиться у фокусі і ряд інших.
У оброблювачі події OnDrawItem треба методами роботи на канві намалювати зображення елемента.
При значенні Style рівному IbOwnerDrawFixed перед промальовуванням наступає тільки подія OnDrawItem. При Style = IbOwnerDrawVariable перед цією подією наступає інша - OnMeasureItem, в якій треба зазначити висоту елемента.
Є ще один компонент, дуже схожий на ListBox - це список з індикаторами CheckListBox. Виглядає він так само, як ListBox, але біля кожного рядка є індикатор, котрий користувач може переключати. Індикатори можна переключати програмно, якщо список використовується для виведення даних і необхідно в ньому відзначити якусь характеристику кожного об'єкта, наприклад, наявність товару даного найменування на складі.
Властивості, що характеризують компонент CheckListBox як список, аналогічні ListBox, за винятком властивостей, що визначають множинний вибір. Ці властивості компоненту CheckListBox не потрібні, оскільки в ньому множинний вибір можна здійснювати установкою індикаторів.
У Delphi 6 у CheckListBox з'явилися нові властивості, що дозволяють розбити список на декілька розділів за допомогою заголовків. Властивість Header являє собою індексований масив булевих значень, що визначають, чи є відповідний рядок заголовком (значення true), або це звичайний рядок з індикатором (значення false). Властивість Header - тільки часу виконання і повинна заповнюватися програмно (по умовчанню всі значення рівні false).
Заголовки відображаються в рядках із кольором фону, обумовленим властивістю HeaderBackgroundColor, і кольором напису, що задається властивістю HeaderColor.
Розглянемо тепер компонент ValueListEditor. Це вікно редагування списку рядків виду «ім'я = значення». Вікно має дві колонки з заголовками «Key» для імен і «Value» для значень. Заголовки можна змінити під час проектування або програмно, використовуючи властивість TitleCaptions типу TStrings. Перший рядок цієї властивості відповідає першій колонці (іменам), друга - другій колонці.
Властивість Strings типу TStrings містить список усіх рядків. Під час проектування він може бути заповнений редактором рядків, що викликається з Інспектора Об'єктів. Під час виконання користувач може заповнювати його, якщо в компоненті дозволене редагування (див. далі). Можна також програмно привласнити властивості Strings утримання деякого іншого списку типу TStrings. Всі рядки списку, що присвоюється, повинні мати вид «ім'я = значення». Тоді вміст списку відобразиться в колонках компонента. Методи класу TStrings дозволяють маніпулювати списком, добавляти рядки, видаляти і т.п.
Властивість Keys є індексованим списком імен. Індекси починаються з 1. Властивість Values[const Key: string]: string дозволяє задати або прочитати значення з рядка з ім'ям Key. Якщо властивість використовується для завдання значення, а імені Key у списку немає, то в список добавляється новий рядок із зазначеним ім'ям і значенням. Якщо властивість використовується для читання, а імені Key у списку немає, то повертається порожній рядок.
Доступ до імен і значень дають також властивості Strings. Names і Strings. Values (як у звичайних списках типу TStrings). Ще один засіб доступу до елементів рядків дає властивість Cells[ACol, ARow: Integer]. У цій властивості ACol = 0 відповідає колонці імен, a ACol =1 - колонці значень. ARow = 0 відповідає рядку заголовків, а ARow > 0 - рядкам списку.
Властивість тільки для читання RowCount показує число рядків, включаючи рядок заголовка.
Властивість KeyOptions дозволяє визначити операції, доступні користувачу при редагуванні колонки імен. Ця властивість є множиною, порожньою або тією, що містить елементи keyEdit, keyAdd, keyDelete, keyUnique. Елемент keyEdit дозволяє користувачу редагувати імена в першій колонці. Елемент keyAdd дозволяє користувачу добавляти в список нові рядки, використовуючи клавішу Insert або переміщуючи курсор клавішею зі стрілкою нижче позиції останнього рядка. Елемент keyAdd можна включати тільки разом із keyEdit. Елемент keyDelete дозволяє користувачу видаляти виділений рядок клавішею Delete. Елемент keyUnique не дозволяє користувачу додати новий рядок з ім'ям, уже наявним у списку. Така спроба призводить до генерації виключення.
Властивість тільки часу виконання ItemProps дозволяє управляти засобом редагування користувачем значення кожного з елементів списку. Елемент задається або його ім'ям, або індексом рядка (починаються з 0). Масив ItemProps містить об'єкти класу TItemProp, що описують доступ до відповідного елемента. Властивості цього класу задають засоби редагування значень:
EditMask | Масковане введення |
EditStyle | Стиль редагування: esSimple Звичайне вікно редагування esEllipsisКнопка з крапками, при натисканні на яку виникає подія OnEditButtonClick. У оброблювачі цієї події можна передбачити виклик якогось вікна спеціалізованого редактора властивості esPickList список, що випадає, рядки якого задаються властивістю PickList або в оброблювачі події OnGetPickList (можна сполучити ці дві можливості, задаючи список у PickList і модифікуючи його в оброблювачі OnGetPickList) |
KeyDesc | Ім'я, що з'являється в рядку даного елемента списку в колонці «Key» |
MaxLength | Максимальне число символів, що вводиться |
PickList | Список типу TStrings, що з'являється в списку, що випадає, при значенні EditStyle = esPickList |
ReadОnly | Тільки для читання, редагування заборонене. Наприклад, сполучення ReadOnly = true і стилю EditStyle, рівного esPickList або esEllipsis, не дасть користувачу задати значення інакше, як обравши його зі списку або ввівши за допомогою редактора властивості |
Властивість DisplayOptions є множиною, яка може містити елементи doColumnTitles - рядок заголовка фіксований (не прокручується), doKeyColFixed - ширина колонки імен незмінна, doAutoColResize - при зміні ширини компонента ширина колонок автоматично змінюється.
Властивість Options містить множину опцій, що управляють відображенням ліній таблиці, можливість для користувача змінювати розміри колонок і т.п.
Стиль зображення компонента ComboBox визначається його властивістю Style, що може приймати такі основні значення:
CsDropDown | Список, що випадає, із рядками однакової висоти і з вікном редагування, що дозволяє користувачу вводити або редагувати текст |
CsSimple | Розгорнутий список із рядками однакової висоти і з вікном редагування, що дозволяє користувачу вводити або редагувати текст. |
CsDropDownList | Список, що випадає, із рядками однакової висоти, що не містить вікна редагування |
CsOwnerDrawFixed | Список, що випадає, із рядками однакової висоти, у яких можуть відображатися зображення і текст |
CsOwnerDrawVariable | Список, що випадає, із рядками різної висоти, у яких можуть відображатися зображення і текст |
При стилях csOwnerDrawFixed і csOwnerDrawVariable зображення малюються на канві в оброблювачі події OnDrawItem. При стилі csOwnerDrawVariable перед малюванням виникає подія OnMeasureItem, в оброблювачі якого треба задати висоту елемента.
Вибір користувача або введений ним текст можна визначити за значенням властивості Text. Якщо ж треба визначити індекс обраного користувачем елемента списку, то можна скористатися властивістю ItemIndex. Все сказане вище про ItemIndex і про завдання його значення по умовчанню справедливо і для компонента ComboBox. Причому для ComboBox завдання початкового значення Itemlndex ще актуальніше, ніж для ListBox. Якщо початкове значення не задане, то в момент запуску додатка користувач не побачить у вікні компонента одне з можливих значень списку і, ймовірніше за все, не дуже зрозуміє, що з цим вікном треба робити.
Якщо у вікні здійснювалося редагування даних, то Itemlndex = -1. За цією ознакою можна визначити, що редагування проводилося.
Властивість MaxLength визначає максимальне число символів, що користувач може ввести у вікно редагування. Якщо MaxLength = 0, то число символів, які вводяться, не обмежено.
Властивість DropDownCount указує число рядків, що з'являються в списку, що випадає, без виникнення смуги прокручування.
Як і в компоненті ListBox, властивість Sorted дозволяє впорядкувати список за алфавітом. При Sorted = true нові рядки в список добавляються не в кінець, а за алфавітом.
Компонент ComboBoxEx багато в чому подібний ComboBox. Розходження, насамперед, полягає в тому, що в ComboBoxEx легше, ніж у ComboBox, вводити зображення в елементи списку. З іншого боку, деякі можливості ComboBox, наприклад, можливість сортування, ComboBoxEx не підтримуються. Неможливо також у цьому списку замовлене малювання на канві.
Зображення, які відображаються в елементах, повинні міститися в компоненті ImageList. Посилання на цей компонент задаються у властивості Images. Введення елементів списку під час проектування здійснюється редактором колекцій, що викликається щиголем на кнопці з крапками у вікні Інспектора Об'єктів біля властивості ItemsEx. Перед вами відчиниться вікно. Кнопка Add New (ліва) дозволяє ввести новий елемент. Якщо ви ввели елемент і виділили його, то у вікні Інспектора Об'єктів побачите його властивості. Основні з них: Caption - текстовий рядок, Imagelndex - індекс відповідної піктограми в списку ImageList, Indent - відступ від лівого поля елемента списку.
Властивість Style визначає стиль елемента і може бути рівною csExDropDown, csExSimple або csExDropDownList. Зміст цих значень подібний розглянутому вище для компонента ComboBox.
6. Таблиця рядків - компонент StringGrid
Компонент StringGrid являє собою таблицю, що містить рядки. Дані таблиці можуть бути тільки для читання або такими, що редагуються. Таблиця може мати смуги прокручування, причому задане число перших рядків і стовпчиків може бути фіксованим і не прокручуватися. Таким чином, можна задати заголовки стовпчиків і рядків, які постійно присутні у вікні компонента. Кожній комірці таблиці може бути поставлений у відповідність деякий об'єкт.
Компонент StringGrid призначений у першу чергу для відображення таблиць текстової інформації.
Основні властивості компонента, які визначають відображуваний текст:
Cells[ACol, ARow: Integer]: string | Рядок, що міститься в комірці з індексами стовпчика і рядки ACol і ARow |
Cols[Index: Integer]: TStrings | Список рядків, що містяться в стовпчику з індексом Index |
Rows[Index: Integer]: TStrings | Список рядків, що містяться в рядку з індексом Index |
Objects [ACol, ARow: Integer]: TObject; | Об'єкт, пов'язаний із рядком, що міститься в комірці з індексами стовпчика і рядки ACol і ARow |
Всі ці властивості доступні під час виконання. Задавати тексти можна програмно або по окремих комірках, або відразу по стовпчиках і рядках за допомогою методів класу TStrings.
Властивості ColCount і RowCount визначають відповідно число стовпчиків і рядків, властивості FixedCols і FixedRows - число фіксованих, що не прокручуються стовпчиків і рядків. Колір фону фіксованих комірок визначається властивістю FixedColor. Властивості LeftCol і TopRow визначають відповідно індекси першого видимого на екрані в даний момент прокручуваємого стовпчика і першого видимого прокручуваємого рядка.
Властивість ScrollBars визначає наявність у таблиці смуг прокручування. Причому смуги прокручування з'являються і зникають автоматично в залежності від того, поміщається таблиця у відповідний розмір чи ні.
Властивість Options є множиною, що визначає багато властивостей таблиці: наявність розділювальних вертикальних і горизонтальних ліній у фіксованих (goFixedVertLine і goFixedHorzLine) і не фіксованих (goVertLine і goHorzLine) комірках, можливість для користувача змінювати за допомогою миші розміри стовпчиків і рядків (goColSizing і goRowSizing), переміщати стовпчики і рядки (goColMoving і goRowMoving) і багато чого іншого. Важливим елементом у властивості Options є goEditing - можливість редагувати вміст таблиці.
В основному компонент StringGrid використовується для вибору користувачем якихось значень, відображених в комірках. Властивості Col і Row показують індекси стовпчика та рядка виділеної комірки. Можливо також виділення користувачем множини комірок, рядків і стовпчиків.
Серед множини подій компонента StringGrid слід зазначити подію OnSelectCell, що виникає в момент вибору користувачем комірки. У оброблювач цієї події передаються цілі параметри ACol і ARow - стовпчик і рядок виділеної комірки, і булев параметр CanSlect - допустимість вибору. Параметр CanSelect можна використовувати для заборони виділення комірки, задавши його значення false. А параметри ACol і ARow можуть використовуватися для якоїсь реакції програми на виділення користувача. Наприклад, оператор
Label1. Caption:='Bибрана комірка ' +IntToStr(ARow)+': '+IntToStr(ACol);
видає в мітку Label1 номер вибраної комірки. А оператор
Label1. Caption:=StringGrid1. Cells[ACol, ARow];
виведе в ту ж мітку текст виділеної комірки. Звичайно, у реальному додатку задача полягає не в тому, щоб вивести подібні тексти при виборі користувачем тієї або іншої комірки, а в тому, щоб зробити щось більш корисне.
Контрольні запитання
1. Які Ви знаєте компоненти для введення та відображення текстової інформації?
2. Які компоненти можна використовувати для відображення написів на формах?
3. Які спільні властивості притаманні компонентам, призначеним для введення та відображення текстової інформації?
4. Які функції притаманні вікнам редагування?
5. З якою метою використовуються шаблони маски?
6. Які компоненти використовуються для редагування багаторядкового тексту?
7. Які компоненти забезпечують вибір зі списку?
8. Призначення компонента StringGrid.
Рівновага у гомогенних системах
1. Збільшення тиску зрушує рівновагу в бік утворення продуктів реакції:
4) 2SO2 + O2 = 2SO3
2. Зменшення температури зрушує рівновагу в бік утворення вихідних речовин реакції:
1) CH4 + H2O(г) = CO + 3H2 - Q
3. Тиск не є фактором зміщення рівноваги реакції:
3) Вг ßà Dг + Mг
4. В стані хімічної рівноваги при P=const:
2) DН > 0
5. Вираз Kc (RT)Dn відповідає:
1) KP 2) KN 3) DG0T 4) DH0T
6. Вираз DH0T /(RT2) відповідає:
1) d lnKP/dT
7. Температуру використовують для зрушення рівноваги реакцій:
4) тепловий ефект яких незначний
8. Рівняння ізохори у диференційному виді:
1) dlnKc/dT = -Qv/RT2 2) dlnKp/dT = -Qp/RT2 3) DU = TdA/dT - A
4) DG0 = - RTlnKp
9. Рівняння ізотерми:
1) Ap = RT (lnKp - lnDP)
10. Тиск можна використовувати як фактор зміщення рівноваги реакції:
3) Вг ßà Dг + Mг
11. Зменьшення тиску зрушує рівновагу в бік утворення продуктів реакції:
3) CH4 + H2O(г) = CO + 3H2
12. Збільшення температури зрушує рівновагу в бік утворення продуктів реакції:
1) CH4 + H2O(г) = CO + 3H2 - Q
13. В стані хімічної рівноваги при Р=const:
3) DG = 0
14. Вираз KN ´ PDn дорівнює:
1) KP
15. Вираз RT´lnKP дорівнює:
3) DG0T
16. Кр = Кс для реакції:
1) Н2 + Сl2 = 2HCl
17. Рівняння ізобари у диференційному виді:
2) dlnKp/dT = -Qp/RT2
18. Рівняння Гібса-Гельмгольца:
3) DU = TdA/dT- A
19. Загальна умова рівноваги у системі:
1) (dG) max >0 при р,T=const 2) (dG)mіт=0 при р,T=const
3) (dG)mаx<0 при р,T=const 4) (dG)mах<0 при р,V=const
20. Загальна умова рівноваги у системі:
1) (dF) max >0 при V,T=const 2) (dF)mіт=0 при V,T=const
3) (dF)mаx<0 при V,T=const 4) (dF)mах<0 при р,V=const
22. Співвідношення між Кр і Кс для реакціїї А2+В2↔2АВ:
1) Кр=Кс 2) Кр=КсRT 3) Кр=
4) Кр=Кс/(RT)2
24. Співвідношення між Кр і КN для реакціїї А+В↔АВ:
1) Кр=КN 2) Кр=КN´P 3) Кр=КN/P
4) Кр=КN/P2
Дата добавления: 2014-12-20; просмотров: 134 | Поможем написать вашу работу | Нарушение авторских прав |