xt=IntToStr (((TShape *) (CompList- gt; Items [((TShape *) (Sender)) - gt; Tag])) - gt; Left ); - gt; Text=IntToStr (((TShape *) Sender) - gt; Left);
}
Обидві рядки виконують одне і теж, але по-різному. Обидві рядка
записують у свій ТEdit ліву позицію панелі, по якій клацнув користувач.
У першому рядку, щоб отримати ліву позицію панелі використовує CompList, а друга працює з панеллю безпосередньо. Розглянемо спочатку другий рядок. У ній основним є вираз TShape (Sender *) - gt; Left - передається нам процедурою обробником OsnovaMouseDown. У ньому записаний покажчик на об'єкт, який згенерував подія OnMouseDown. У нашому випадку це буде вказівник на компонент, за яким клацнув користувач. Так як є впевненість, що це необхідний компонент, то так і показуємо TShape (Sender). Цим наводимо Sender до TShape і тепер можна використовувати всі властивості і методи компонента. Якщо відомо точне ім'я компонента, то цього можна не писати. Але це неможливо, бо всі створювані в Run time компоненти (а їх можна створити будь-яку кількість) використовують один обробник натискання мишкою, і не відомо, за яким саме компоненту був проведений клацання. Отримавши значення лівої позиції, переводимо ціле значення лівої позиції в рядок за допомогою IntToStr.
первои рядок дуже схожа на другу, тільки всередині TShape () використовується не Sender, а CompList- gt; Items [((TShape *) (Sender)) - gt; Tag], тобто значення з конейнера. Щоб отримати перше значення з контейнера, потрібно написати CompList- gt; Items [0], для другого CompList- gt; Items [1], для третього CompList- gt; Items [2] і т.д. Але за якою саме панелі проведений клацання? Щоб це дізнатися, необхідно записати TShape (Sender) - gt; Tag, тобто отримуємо властивість Tag (в якому зберігається індекс компонента) компонента згенерувати подія.
Для збереження даних про готових віконних або дверних конструкцій, програма використовує базу даних. У ній, зберігаються відомості про назву та необхідні розміри конструкції (див. Таблиця 1).
Таблиця 1
Опис бази даних «Конструкція»
ІдентіфікаторОпісаніеIDКлючевое полеNameRamaНазваніе конструкцііDateДата заполненіяRamProfДліна рамного профіляStvorProfДліна профілю створкіStekloПлощадь стеклопакетаShtapikДліна штапікаImpostProfДліна імпостного профіляPictureЧертеж конструкції
. 2 Опис логічної структури інформаційного модуля «Оперативний облік»
Підсистема «Оперативний облік» складається з наступних інформаційних об'єктів:
) константи: ВалютаРегламентірованногоУчетаОрганізацій, ОснНДС, ОснФірма, ОснСклад;
) довідники: Вікна, Валюти, Фірми, Склади, Контрагенти, Номенклатура, Співробітники;
) документи: ЗаказПокупателя, ВипускПродукціі, РеалізаціяТовара, ПріходнаяНаклакдная, РасходнаяНаклакдная, Переміщення, Списання;
) журнал документів: ЖурналТМЦ;
) перерахування: ЕдІзмеренія, ПДВ, ВідиКонтрагентов, ВідиНоменклатури;
) звіти: ВипускаемаяПродукція, ОДоходах, МатеріальнаяВедомость, РеестрНевиполненнихЗаказов.
) регістри накопичення: ОстаткіМатеріалов (Вимірювання: Матеріал, Склад. Ресурси: Кількість), СтоімостьМатеріалов (Вимірювання: Матеріал. Ресурси: Вартість), Продажі (Вимірювання: Номенклатура, Майстер, Клієнт. Ресурси: Кількість, Виручка, Вартість).
довідника - засіб для введення однорідних елементів даних.
Довідник «Номенклатура» реалізований трирівневим, тобто для товарів можна завести групи і підгрупи товарів (див. Таблиця 2). Реквізит «НомерПоКаталогу» зберігає значення номенклатурного номера товару. Кожен товар має дві ціни: ЦенаПріх (закупівельна ціна) і ЦенаРасх (ціна продажу). При описі товару вказується валюта обліку - ВалютаУчет. Крім того, товар характеризується одиницею виміру. ЕдІзмер - це одиниця, в якій ведеться облік наявності товару. Також в довіднику зберігаються значення цін на товари з урахуванням ПДВ.
Таблиця 2
Номенклатура
ІдентіфікаторТіп значенияОписаниеКодЧислоКодНаименованиеСтрокаНаименование товараНомерПоКаталогуСтрокаКод по каталогуЦенаПріхЧіслоЦена закупкіЦенаРасхЧіслоЦена рознічнаяВалютаУчетСправочнік.ВалютиВалюта учетаЕдІзмерПеречісленіе.ЕдініциІзмереніяЕдініца ізмереніяСтавкаНДСПеречісленіе.НДССтавка ПДВ
Описи валют зберігаються в Довіднику «Валюти» (див. Таблиця 3). Кожна валюта підтримує свій поточний курс. «ТекущійКурс» - це періодичний параметр, тобто при зміні курсу валюти система запам'ятовує новий курс на поточну дату. Фірма мож...