Главная Рефераты по сексологии Рефераты по информатике программированию Рефераты по биологии Рефераты по экономике Рефераты по москвоведению Рефераты по экологии Краткое содержание произведений Рефераты по физкультуре и спорту Топики по английскому языку Рефераты по математике Рефераты по музыке Остальные рефераты Рефераты по авиации и космонавтике Рефераты по административному праву Рефераты по безопасности жизнедеятельности Рефераты по арбитражному процессу Рефераты по архитектуре Рефераты по астрономии Рефераты по банковскому делу Рефераты по биржевому делу Рефераты по ботанике и сельскому хозяйству Рефераты по бухгалтерскому учету и аудиту Рефераты по валютным отношениям Рефераты по ветеринарии Рефераты для военной кафедры Рефераты по географии Рефераты по геодезии Рефераты по геологии Рефераты по геополитике Рефераты по государству и праву Рефераты по гражданскому праву и процессу Рефераты по делопроизводству Рефераты по кредитованию Рефераты по естествознанию Рефераты по истории техники Рефераты по журналистике Рефераты по зоологии Рефераты по инвестициям Рефераты по информатике Исторические личности Рефераты по кибернетике Рефераты по коммуникации и связи |
Курсовая работа: Довідник по ХмельницькомуКурсовая работа: Довідник по ХмельницькомуЗміст Вступ 1. Аналітичний розділ 2. Побудова інформаційно-математично моделі задачі 3. Алгоритм задачі 4. Визначення структури даних 5. Розробка інтерфейсу програми з користувачем 6. Складання код програми 7. Реалізація проекту у візуальному середовищі 8. Аналіз програми 9. Тестування програми 10. Інструкція з експлуатації програми 11. Аналіз отриманих результатів Список літератури Додаток A ВступЗ того часу як люди почали подорожувати на досить далекі відстані їм ставало все більш необхідно знати де вони знаходяться і як знайти дорогу додому. Першими мандрівниками були купці, які в пошуках нових дорогих товарів відкривали невідомі землі. Вони розпочали описувати природу нових країн, життя і побуту місцевих жителів, продукцію що ті виготовляли. За купцями вирушали досліджувати нові країни вчені, які не тільки описували, а й вивчали особливості природи діяльності населення. Потім за цими записами та «замальовками» створювали щось подібне до географічних карт. Так почали з’явилися перші карти. На той час щоб купити таке задоволення потрібно було викласти чимало грошей, бо географічн карти малювались вручну і це займало досить багато часу. У наш час існу чимало різноманітних видів географічних карт та атласів. По них можна знайти всю потрібну інформацію яка цікавить по тому чи іншого питанні. Також створено чимало електронних карт, які допомагають пришвидшити пошук потрібної інформації. За допомогою них можна знайти, вибрати та відсортувати дані. Вони дозволяють легко показати ту частину карти яка потрібна. Лише варто ввести данні і програма виконає всі вказані дії. Рідним містом хмельничан місто Хмельницький. Кожний місцевий житель, який прожив кілька років в міст приблизно знає де що знаходиться, але що робити тим людям які приїхали в місто у своїх справах, тільки перший раз. Їм потрібна карта у якій поданий майже повний план розташування будинків, вулиць, бібліотек та багато іншого для того щоб швидко зорієнтувалися. За допомогою карти можна знайти точну адресу будинку та вулицю де він розташовується, але все виконується “вручну”. Що досить незручно. Найбільшим недоліком усіх карт являється їх неточність та застарілість. Якою новою карта не була вона вважається вже застарілою, тому що на момент виходу вже щось змінилось, бо час не стоїть на місці. 1 Аналітичний розділВ якості теми для курсового проекту було обрано: “Довідник по Хмельницькому”. Аналізуючи вже снуючі електронні карти можна визначити основні і додаткові завдання курсового проекту: До основних завдань можна віднести: - пошук по введенню вулиці; - пошук по вибору вулиці; - пошук по району; - показ частини карти вибраного району; До додаткових завдань, можна віднести: - виведення вулиці на екран у вигляді лінії яка мерехтить; - замальовування у нестандартний колір та ширину; - додаткова нформація про місто; - умовні позначення на карті; В даному курсовому проекті буде представлено довідник міста Хмельницького, в якому можливо виконувати пошук або вибір по конкретній вулиці, та відсортувати вулиці по вибраному районі, а також переглядати вибраний район при виборі конкретно дії. Усе це можливо буде розробити у середовищі – Delphi. Середовище програмування Delphi дозволя швидко і легко створювати програму у якій буде зручний та зрозумілий користувачу інтерфейс, а також легке та доступне управління програмою. Орієнтована мова програмування Delphi має свій набір компонентів які допоможуть у реалізації та оформлені програми. Delphi має свій текстовий редактор та власний набір конкретних команд які відрізняють його від інших мов програмування. В програмі обов’язково буде головне меню. В якому будуть представленні команди для роботи з програмою, за допомогою яких можна виконувати конкретні дії. Також буде довідка, для того щоб користувач міг детальніше розібратися з програмою, яка буде представлена перед ним, або просто звернутись до неї по допомогу, коли виникнуть проблеми, які не можна вирішити самостійно. Вагомим недоліком Delphi являється порівняно низька швидкість роботи, а також нераціональне використання ресурсів. 2 Побудова нформаційно-математичної моделі задачіПобудова нформаційної моделі задачі полягає у визначенні вхідних даних, способів їх зібрання та обробки, а також визначення вихідних даних. Для розв’язання будь-якої задачі необхідно скласти її математичну модель, тобто послідовність дій, які необхідно виконати, щоб отримати розв’язок задачі. Для того щоб можна було знайти потрібну вулицю необхідно спочатку ввести її назву у спеціальне поле для пошуку, після цього натиснути кнопку яка знаходиться під полем введення, тоді вулиця з’явилась на екрані, але до того кнопка пошуку вулиці являється неактивною, тільки при введені першого символу назви вулиц кнопка активізується. При введені наступної вулиці попередня буде знищена. При введені назви вулиці вона порівнюватиметься зі списком вулиць які знаходитиметься в масиві, якщо назва вулиці яка була введена співпадає з назвою вулиці, яка розмішується в масиві, то на екран виводитиметься вулиця замальована в червоний колір, вона буде мерехтіти для того щоб користувач швидше звернув на неї увагу. Якщо назва вулиці не співпаде, то на екран програма виводитиме повідомлення. Саме ж переміщення на вказану вулицю здійснюватиметься за допомогою горизонтальної та вертикальної ліній прокрутки. Щоб знайти вулицю горизонтальну і вертикальну лінії прокрутки присвоюється значення першої точки по вісі координат Х та У. Потім від першої точки знайденої вулиці відніматиметься певне відхилення, для зручного виведення на екран вулиці. Коли ж вулиця знайдена вона замальовується у червоний колір. Пропадає та з’являється за рахунок “вічного циклу”, тобто таймера. В ньому йде проста перевірка. Якщо вибравши певну вулицю лінія загорілась тоді її гасимо і знову засвічуємо. За допомогою цього методу ми зациклюємо показ лінії на екрані. Для того що вивести наступну вулицю на монітор необхідно спочатку очистити попередню. В підтверджені вибору наступно вулиці існує команда яка очищує попередню вулицю. 3 Алгоритм задачіАлгоритм – це чітка послідовність дій, які необхідно виконати для виконання задачі та отримання результату.Блок-схема алгоритму – це графічне зображення його структури в якому кожний етап процесу оброблення даних подається у вигляді певної геометричної фігури.
Рисунок 1 – Блок-схема алгоритм пошуку вулиці.
Рисунок 2 – Блок-схема алгоритм свічення та погашення вулиці.
Рисунок 3 – Блок-схема алгоритм вибору. 4 Визначення структури даних При написанн коду програми необхідно було використовувати безліч змінних різних типів даних: масиви, файлові змінні, записи, а також звичайні змінні. Таблиця 1 глобальні змінні Unit1
Таблиця 2 локальні змінні Unit1
Таблиця 3 записи Unit1
5 Розробка нтерфейсу програми з користувачем Розробка дано програми буде відбуватись у середовищі програмування Delphi 6. Дана оболонка програмування 32-розрядна і використовується для створення користувальницьких програм для Windows. Програма після її створення буде повністю відповідати даній операційній системі. Інтерфейс дано програми складається з загальної форми на якій знаходяться такі компонентів: Image1 Зображення. Потрібне для завантаження малюнка карти Хмельницького. AcroPDF1 – Спилка на програму Acrobat Х.0. Відкриває файли з форматом PDF. Х.0 – це версія програми. Timer1 Лічильник (нескінченний цикл). Використовується для зациклення виводу вулиці на екран. Panel1 Використовується для розміщення на ньому інших компонентів. MainMenu1 Містить головне меню програми. Button1 – Кнопка. Використовується для пошуку вулиці по її назві. Button2 – Кнопка. Потрібний для підтвердження вибору вулиці зі списку. Button3 – Кнопка. Підтвердження вибору вибраного району зі списку. ComboBox1 Список. Належний візуальний компонент використовується для показу вулиці. ComboBox2 Список. Необхідний для підтвердження та вибору району зі списку. ComboBox3 – Список. Використовується для введення вулиці. TreeView1 Дерево. Компонент використовується для відсортованих вулиць по району та пошуку х на карті. RadioButton – Для вибору однієї з наведених ділянок опрацювання даних. PageControl1 Багато сторінкове вікно. Використовується для заощадження місця на робочо вікні. CheckBox1- Флаг. Вибір для завантаження району. Label1- Надпис. Підписує певний елемент для кращого розуміння. ScrollBox1 вікно з прокруткою. Використовується для створення зон відображення з прокруткою. Прокручує на знайдену вулицю. Рисунок 4 Вікно головної програми. Рисунок 5 Вікно допомоги користувачу. Рисунок 6 вікно виведення нформації про автора. Рисунок 7 Умовн позначення. Рисунок 8 Відомості про місто Хмельницький. Головне вікно програми має такий вигляд: Рисунок 9 Вікно готової програми (закладка “Пошук вулиць”). Рисунок 10 Вікно готової програми (закладка “Детальний перегляд”). 6 Складання коду програми Код програми алгоритм дій, написаний на конкретній мові програмування. Цей проект написано з використанням Delphi 6.0, отже мова програмування Object Pascal. В Delphi 6.0 вся програма складається з окремих модулів. Нижче будуть перелічені процедури кожного модуля (повний текст програми наведено в Додатку 1). Unit 1 - Головне вікно програми. procedure FormCreate – виконання певних дій при завантажені. procedure Button1Click – підтвердження та пошук введеної вулиці. procedure N5Click переміщення на поле введення вулиці. procedure N7Click вихід з програми. procedure Timer1Timer – створення мерехтіння вулиці. procedure Button2Click - підтвердження та пошук вибраної вулиці. procedure N3Click показує довідку програми. procedure N10Click – встановлює карту в початковий режим завантаження. procedure N6Click показує закладку “Пошук вулиць”. procedure N16Click - показує закладку "Детальний перегляд" procedure N13Click – переміщає курсор на вибір по вулиці. procedure N4Click показує коротку інформацію про автора. procedure TreeView1Click – тут розміщуються відсортовані вулиці по районах. procedure ComboBox1Change – перевірка на пустий текст в списку. procedure Button3Click – підтвердження та пошук району. procedure N17Click – показує форму з умовними позначеннями. procedure ComboBox2Change – перевірка вибору пустого тексту в списку. procedure ComboBox1KeyPress – можливість натискання клавіші “Enter”. procedure ComboBox2KeyPress – можливість натискання клавіші “Enter”. procedure N15Click - переміщає курсор на вибір по району та відкриває список. procedure ComboBox3Change – перевірка вибору пустого тексту в списку. procedure ComboBox3KeyPress – можливість натискання клавіші “Enter”. procedure RadioButtonClick – недоступність певних елементів на панелі. procedure N9Click сторія міста Хмельницького. Unit 2 - Довідка. procedure Button1Click – закрити вікно довідки. procedure TreeView1Click – завантажує в текстове поле дані про певний розділ. Unit 3 – Інформація про автора. procedure OKButtonClick – закриває вікно. Unit 4 Інформація про автора. procedure Button1Click – закриває вікно умовних позначень. procedure FormCreate – завантажує картинку в Іmage1. Unit 5 – Історія міста. procedure Button1Click – закриває вікно. procedure FormCreate – завантажує дані в Memo1. 7 Реалізація проекту у візуальному середовищі В проект використовується нестандартний компонент, під назвою – AcroPDF. Для його використання необхідно спочатку встановити на комп’ютер Acrobat х.0. Після цього необхідно проінсталювати типову бібліотеку для Acrobat (Project -> Import Type Library). З меню Delphi виберіть "Acrobat Control for ActiveX (version x)". Де x - поточна версія бібліотеки. Також виберіть закладку куди буде поміщений новий компонент. Натиснути кнопку інсталяції. Після нсталяції в Delphi буде створено новий компонент з назвою – AcroPDF. Реалізація проекту у візуальному середовищі складається з таких етапів: 1. Запустити систему візуального об’єктно-орієнтовного програмування Delphi 6. 2. Створюємо 5 форм. Називаємо х: 1-ша – Forma1, 2-га – Forma2, 3-тя – AboutBox, 4-та – Forma4, 5-та Forma5. 3. Коли з’явиться 1-ша форма налаштувати згідно рисунка 4. 4. За допомогою панел нструментів перетягуємо на форму Forma1 у закладку TabSheet1 наступн компоненти: PopupMenu1, Timer1, Button1, Button2, Button3, Label1, ComboBox1, ComboBox2, ComboBox3, RadioButton1, RadioButton2, RadioButton3, ScrollBox1, Рanel1, PageControl1 та TreeView1. На наступну закладку(TabSheet2) вставляємо AcroPDF1. Налаштовуємо ці компоненти для нормальної роботи програми. 5. На форму Forma2 перетягуємо такі компоненти: TreeView1, Memo1 та Button1. 6. На форму AboutBox наносимо наступн компоненти: Image1, три компоненти Label, Рanel1, Button1. 7. На 4-ту форму наносим так компоненти: Image1, ScrollBox1, Рanel1, Button1 і це все розміщуємо так само як на рисунку 7. 8. На 5-ту форму накладаємо так компоненти як: Memo1, Рanel1 іButton1. 9. Розмістити усі компоненти як показано на рисунках 4 – 8. 10. Після подвійного натискання вводимо текст який надруковано у додатку А. 11. Після виконання усіх дій зберігаємо програму у новій папці компілюємо та закриваємо Delрhi. 8 Аналіз програми Аналізуючи програму можна помітити її недоліки та переваги. Головними недоліками програми, являється те, що програма надто велика за своїми розмірами. Вона займає чимало місця на жорсткому диску. Через це програма довго грузиться. Також використовується багато місця в оперативній пам’яті, через що операційна система Windows починає повільно працювати з іншими програмами. Тому щоб скористатись програмою потрібно мати швидкодіючий процесор та достатньо оперативної пам’яті на комп’ютері, а також до 260 мегабайт вільного місця на носію інформації. Ще одним видимим недоліком являється повільний пошук вулиць та введення назви вулиці з великої літери. Це відбувається тому що при кожному новому пошуку вулиця має очиститись та знову по новому завантажити зображення. Використовується для того щоб на екрані монітора не залишались старі вулиці. Також в програмі не передбачено команди, яка мала б відповідати за зміну стандартної назви вулиці, що відноситься до недоліків програми. Одним з недоліків є те що користувачу не надано можливості для зміни оформлення програми під свій погляд. Він лише користуватись стандартним виглядом форми, що не всіх влаштовує. До переваг програми можна віднести те, що всі дії виконуються правильно. В програм розроблений зручний інтерфейс. Усе дуже легко зрозуміти, навіть без використання довідки. Виведення на екран здійснюється у вигляді замальовування вулиці червоною лінією яка з’являється та гасне. Це розроблено для того, щоб користувач швидше звернув увагу на знайдену вулицю. Можливо в програмі не тільки вводити назву вулиці для пошуку, а й вибирати її зі списку, а також можливо відсортувати її по районах, що можна вважати значною перевагою програми. Нею можуть користуватись усі бажаючі, кому потрібно знайти швидко необхідну вулицю на карті. Також програма володіє довідковою інформацією, до яко користувач може звернутись в будь-який необхідний момент. Кожний об’єкт який знаходиться на формі підписаний підказками, це зроблено з тою метою щоб користувач зміг швидше з орієнтуватися у програмі. 9 Тестування програми Тестування програми – це один із способів перевірити програму на її правильну роботу. Воно допомагає виявити помилки та виправити їх. Також тестування допомагає виявити які необхідні мінімальні запити до комп’ютера. Перш за все перевірялось чи не виникає проблем при запуску та закритті програми. Потім маємо перевірити програму безпосередньо на готовому працюючому коді. Для цього введемо будь-яку з відомих нам вулиць і натиснемо пошук. Цей експеримент пройшов успішно, вулицю знайдено. Але вже при наступному виборі на екран монітора застигла минула вулиця. Це можна віднести до збою в програмі. Перевіривши по новому код програми і переправивши деякі команди програма запрацювала нормально, бо при наступному запуску, та перевірці вже було все гаразд. Вулиця чітко виводилась на екран монітора, та зникала при вибор наступної. Також тестувалася програма на вибір вулиці та відсортування вулиць по їх розміщенню в різних районах міста. При виборі вулиці на екран з’явилась шукана вулиця. Дана програма також тестувалась на різних комп’ютерах з різними операційними системами класу Windows. Зокрема програма показала свою швидкодії та коректну роботу на операційній системі Windows XP Professional. Також на даних комп’ютерах було встановлено різне апаратне забезпечення, яке показувало конкретні недоліки та не доопрацювання в програмі. В результаті цього тесту, було перевірено, як програма поводить себе на різних комп’ютерах. Вона довго завантажувалась на старих машина, не коректно працювала. Або відкривалась за декілька секунд, на операційних системах, де швидкодія процесора, та оперативної пам’яті вистачало. Програма тестувалась близько ста разів. За цей час сталось багато змін в код програми. Програма під час тестування показала певний ряд різноманітних помилок як орфографічних та логічних помилок, які були виправлені по ходу опрацювання тестування. Тестування пройшло успішно, тому можна сказати що програма повністю готова до експлуатування. 10 Інструкція з експлуатації програми Для роботи програми комп’ютер повинен відповідати таким умовам: ü Windows 9x/2000/ME/XP ü Pentium III 1000MGz ü 256 Mb Ram ü 64 Mb video card ü CD-ROM ü 260 МВ вільного місця ü Наявність мишки та клавіатури Для того щоб встановити програму, необхідно вставити диск з програмою, потім скопіювати повністю папку на комп’ютер. Та запустити програму. Щоб запустити програму достатньо два рази клацнути на неї, програма знаходиться в папці. Після запуску програми користувачу потрібно спочатку вибрати одну з трьох дій: Ввести назву, вибрати з вказаних або вибрати район. Після того як користувач ввів правильну назву вулиці йому потрібно натиснути кнопку пошуку. За допомогою неї здійснюється пошук вказаної вулиці. Після чого вулицю буде показано на екран. Якщо вулиця буде введена не вірно то користувач буде повідомлений. Щоб скористатися командою перегляду району необхідно спочатку при виборі району поставити галочку для підтвердження цієї дії. Тоді в списку вибрати потрібний район і він буде завантажений. Щоб відмінити цю команду і перейти до простого сортування необхідно зняти галочку. Також за допомогою команди “нормальний розмір” яка розміщується в головному меню можна переглянути карту повністю. Якщо на карт потрібно знайти пені визначні місця наприклад такі як: театр, кінотеатр, музей та навіть просто бензозаправну, спочатку потрібно знати як воно все позначається. Тут і допоможуть умовні позначення які розміщуються в головному меню. Потрібно вибрати: головне меню “Вид” потім підпункт “Умовні позначення”. Тоді з’являться всі позначення які використовуються на карті. 11 Аналіз отриманих результатів Аналіз отриманих результатів проводився під час тестування програми. На кожному етапі введення чи вибору вулиці програми виводить потрібні вулиці на монітор якщо назва співпала та виводить помилку якщо такої назви немає. Виконаний проект повністю відповідає усім поставленим вимогам, тому з упевненістю можна сказати, що поставленої мети досягнуто. В програмі можна вибрати, ввести та відсортувати по районі вулиці. Після введення чи вибору вулиці вона автоматично буде показана на екрані монітора, і ми можемо пересвідчитись в достовірності роботи програми. Рисунок 10. Вікно програми перед початком роботи. Для вибору вулиц натиснемо: Виберемо вулицю зі списку: Рисунок 10 Вибір зі списку вулиці. Рис 11 Знайдена вулиця. Після того як ми виберемо чи введемо вулицю вона з’явиться на екрані при умові що ви натиснете кнопку підтвердження. ВисновокДля розробки даної програми було необхідно продумати та пояснити кожний крок. Для програмування використовувалось орієнтоване середовище програмування Delphi. Програму можна використовувати для масового розповсюдження. Вона буде популярна серед великої кількості людей у різних вікових групах. В програмі створений простий графічний інтерфейс, який забезпечує легкість у користуванні і чітку зрозумілість для звичайних користувачів. Кожній людині якій буде потрібно знайти вулицю в міст Хмельницького може звернутись по допомогу до цієї програми. В ній наведена докладна історична інформація міста Хмельницького. Також в програмі створена довідка яка допоможе краще ознайомитися користувачу з програмою, коли він не зрозуміє як працює та чи інша команда в програмі.Поставлена задача у створенні довідника по місту Хмельницькому, була виконана у повному обсязі та з додатковими завданнями, які були поставлені для кращої реалізації проекту. При перевірці працездатност програми на різних комп’ютерах не виникало ніяких проблем, вулиці завжди виводились в тому місці де було потрібно, програма працювала чітко та без помилок. При розробці даного проекту, було використано велику кількість літератури, з метою покращення своїх знань та навичок. Література використовувалась, також з метою докладнішого вивчення властивостей різних елементів. Значно покращились навики, щодо розробки програм на мов програмування Delphi. До цього проекту була розроблена пояснювальна записка, згідно самостійної розробки аналогічного проекту в середовищі програмування. Дана записка містить одинадцять розділів для зручно розробки проекту. В кожному розділі детально розписані всі дії які буде необхідно виконати для того щоб реалізувати створення даного проекту. Список використаної літератури: 1. В. Фаронов – Система программирования Delphi; 2. Глинський Я.М – Turbo Pascal\Delphi 6 – видання; 3. Кэнту – Delphi для профисионалов; 4. Краснов – Графика в проектах Delphi; 5. Марков Є.П. – Програмированье в Delphi 7; 6. Мозговой М. -Занимательное программирование. 7. Григас Г. – Начала програмируванье. – М.,1987 8. Грогоно П. – Програмируванье на языке паскаль. 9. Спірідонов В.І. – Обчислювальна техніка і програмування. 10. Глинський Я.М. – Основи інформатики та обчислювальної техніки. 11. Абрамов С.А – Начала програмируванья на языке Паскаль. 12. Фаронов В.В. – Delphi 5 учебный курс. 13. Черняхівський В.В – Сучасна технологія візуального програмування. 14. Немнюгин – Turbo Pascal. 15. Климов – Pascal 7.0 16. Юрий Гурский – Трюки и эффекты в Delphi 7. 17. Род Стивенс – Delphi. Готовые алгоритмы. 18. Виктор Пестриков, Артур Маслобоев – Delphi на примерах. 19. Михаил Фленов – Программирование в Delphi глазами хакера. Додаток А unit Unit1; interface uses Windows, Messages,SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, Grids, Menus, ToolWin, ActnMan, ActnCtrls, ActnMenus, CheckLst, OleCtrls, AcroPDFLib_TLB, Buttons; type TForm1 = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; Panel1: TPanel; ScrollBox1: TScrollBox; Image1: TImage; MainMenu1: TMainMenu; N1: TMenuItem; N5: TMenuItem; N8: TMenuItem; N7: TMenuItem; N10: TMenuItem; N14: TMenuItem; N6: TMenuItem; N16: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; Timer1: TTimer; Button1: TButton; ComboBox1: TComboBox; Button2: TButton; ComboBox2: TComboBox; TreeView1: TTreeView; N15: TMenuItem; N17: TMenuItem; Button3: TButton; Label1: TLabel; ComboBox3: TComboBox; AcroPDF1: TAcroPDF; RadioButton1: TRadioButton; RadioButton2: TRadioButton; RadioButton3: TRadioButton; CheckBox1: TCheckBox; Label2: TLabel; Label3: TLabel; N9: TMenuItem; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure N7Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure Button2Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N10Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure N16Click(Sender: TObject); procedure N13Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure TreeView1Click(Sender: TObject); procedure ComboBox1Change(Sender: TObject); procedure Button3Click(Sender: TObject); procedure N17Click(Sender: TObject); procedure ComboBox2Change(Sender: TObject); procedure ComboBox1KeyPress(Sender: TObject; var Key: Char); procedure ComboBox2KeyPress(Sender: TObject; var Key: Char); procedure N15Click(Sender: TObject); procedure ComboBox3Change(Sender: TObject); procedure ComboBox3KeyPress(Sender: TObject; var Key: Char); procedure Panel1Click(Sender: TObject); procedure RadioButton1Click(Sender: TObject); procedure RadioButton2Click(Sender: TObject); procedure RadioButton3Click(Sender: TObject); procedure N9Click(Sender: TObject); procedure CheckBox1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; Type Vul=Record Name:string[35]; X,Y,X1,Y1,X2,Y2,X3,Y3:Integer; X4,Y4,X5,Y5,X6,Y6,X7,Y7:Integer; X8,Y8,X9,Y9,X10,Y10,X11,Y11,X12,Y12,X13,Y13:Integer; end; var Form1: TForm1; A:array[1..313] of vul; F:file of Vul; an, ani: byte; k: integer; implementation uses Unit2, Unit3, Unit4, Unit5; {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var i:integer; begin AcroPDF1.LoadFile ('Дані\Карта\Khmelnitskiy Map.pdf'); ComboBox2.Items.Add('Виставка'); ComboBox2.Items.Add('Гречани'); ComboBox2.Items.Add('Ракове'); ComboBox2.Items.Add('Лезневе'); ComboBox2.Items.Add('Дубове'); ComboBox2.Items.Add('Ружична'); ComboBox2.Items.Add('Катіон'); ComboBox2.Items.Add('Книжківці'); ComboBox2.Items.Add('Центр'); ComboBox2.Items.Add('Озерна'); Button1.Enabled:=false; Button2.Enabled:=false; Button3.Enabled:=false; TreeView1.Enabled:=false; RadioButton1.Checked:=true; AssignFile(F, 'Дані/Вулиці/Координати вулиць.DKH'); Reset(F); for i:=1 to 313 do begin Read(F,A[i]); ComboBox1.Items.Add(A[i].Name); ComboBox3.Items.Add(A[i].Name); end; CloseFile(f); Image1.Picture.LoadFromFile('Дані/Карта/Карта Хмельницького2.bmp'); Image1.AutoSize:=false; end; procedure TForm1.Button1Click(Sender: TObject); var i:integer; znaydeno: boolean; begin PatBlt(Image1.Canvas.Handle, 0, 0, Image1.ClientWidth, Image1.ClientHeight, WHITENESS); znaydeno:=false; for I:=1 to 313 do if ComboBox3.Text=A[i].Name Then begin K:=I; Image1.Align:=alNone; znaydeno:=true; ani:=1; Image1.Picture.LoadFromFile('Дані/Карта/Карта Хмельницького2.bmp'); Image1.AutoSize:=true; Image1.Canvas.Pen.Mode:=Pmxor; Image1.Canvas.Pen.Color :=$af; Image1.Canvas.Pen.Width := 6; ScrollBox1.HorzScrollBar.Position:=a[k].X-160; ScrollBox1.VertScrollBar.Position:=a[k].Y-380; if znaydeno=false then begin ShowMessage('Ведіть правильну назву вулиці!'); ComboBox3.Clear; ComboBox3.SetFocus; ComboBox3.SelectAll; end; end; end; procedure TForm1.N5Click(Sender: TObject); begin RadioButton1.Checked:= true; ComboBox3.SetFocus; end; procedure TForm1.N7Click(Sender: TObject); begin Halt; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Image1.Canvas.Pen.Mode:=Pmxor; if(ani=1)or(an=1) then begin Image1.Canvas.MoveTo(a[k].x,a[k].y); Image1.Canvas.LineTo(a[k].x1,a[k].y1); Image1.Canvas.MoveTo(a[k].X1,a[k].y1); Image1.Canvas.LineTo(a[k].X2,a[k].Y2); Image1.Canvas.MoveTo(a[k].X2,a[k].y2); Image1.Canvas.LineTo(a[k].X3,a[k].Y3); Image1.Canvas.MoveTo(a[k].X3,a[k].y3); Image1.Canvas.LineTo(a[k].X4,a[k].Y4); Image1.Canvas.MoveTo(a[k].X4,a[k].y4); Image1.Canvas.LineTo(a[k].X5,a[k].Y5); Image1.Canvas.MoveTo(a[k].X5,a[k].y5); Image1.Canvas.LineTo(a[k].X6,a[k].Y6); Image1.Canvas.MoveTo(a[k].X6,a[k].y6); Image1.Canvas.LineTo(a[k].X7,a[k].Y7); Image1.Canvas.MoveTo(a[k].X7,a[k].y7); Image1.Canvas.LineTo(a[k].X8,a[k].Y8); Image1.Canvas.MoveTo(a[k].X8,a[k].y8); Image1.Canvas.LineTo(a[k].X9,a[k].Y9); Image1.Canvas.MoveTo(a[k].X9,a[k].y9); Image1.Canvas.LineTo(a[k].X10,a[k].Y10); Image1.Canvas.MoveTo(a[k].X10,a[k].y10); Image1.Canvas.LineTo(a[k].X11,a[k].Y11); Image1.Canvas.MoveTo(a[k].X11,a[k].y11); Image1.Canvas.LineTo(a[k].X12,a[k].Y12); Image1.Canvas.MoveTo(a[k].X12,a[k].y12); Image1.Canvas.LineTo(a[k].X13,a[k].Y13); end; if an=0 then an:=1 else an:=0; end; procedure TForm1.Button2Click(Sender: TObject); var i:integer; begin PatBlt(Image1.Canvas.Handle, 0, 0, Image1.ClientWidth, Image1.ClientHeight, WHITENESS); for I:=1 to 313 do if ComboBox1.Text=A[i].Name Then begin K:=I; Image1.Align:=alNone; ani:=1; Image1.Picture.LoadFromFile('Дані/Карта/Карта Хмельницького2.bmp'); Image1.AutoSize:=true; Image1.Canvas.Pen.Mode:=Pmxor; Image1.Canvas.Pen.Color :=$af; Image1.Canvas.Pen.Width := 6; ScrollBox1.HorzScrollBar.Position:=a[k].X-160; ScrollBox1.VertScrollBar.Position:=a[k].Y-380; end; end; procedure TForm1.N3Click(Sender: TObject); begin Form2.ShowModal; end; procedure TForm1.N10Click(Sender: TObject); begin Image1.AutoSize:=false; Image1.Align:=alClient; end; procedure TForm1.N6Click(Sender: TObject); begin TabSheet1.Show; end; procedure TForm1.N16Click(Sender: TObject); begin TabSheet2.Show; end; procedure TForm1.N13Click(Sender: TObject); begin RadioButton2.Checked:= true; ComboBox1.SetFocus; ComboBox1.DroppedDown := True end; procedure TForm1.N4Click(Sender: TObject); begin AboutBox.ShowModal; end; procedure TForm1.TreeView1Click(Sender: TObject); var i:integer; begin PatBlt(Image1.Canvas.Handle, 0, 0, Image1.ClientWidth, Image1.ClientHeight, WHITENESS); for I:=1 to 313 do if TreeView1.Selected.Text=A[i].Name Then begin K:=I; Image1.Align:=alNone; ani:=1; Image1.Picture.LoadFromFile('Дані/Карта/Карта Хмельницького2.bmp'); Image1.AutoSize:=true; Image1.Canvas.Pen.Mode:=Pmxor; Image1.Canvas.Pen.Color :=$af; Image1.Canvas.Pen.Width := 6; ScrollBox1.HorzScrollBar.Position:=a[k].X-160; ScrollBox1.VertScrollBar.Position:=a[k].Y-380; end; end; procedure TForm1.ComboBox1Change(Sender: TObject); begin if ComboBox1.Text<>'' then Button2.Enabled:=true; end; procedure TForm1.Button3Click(Sender: TObject); begin if ComboBox2.Text<>'' then TreeView1.Enabled:=true; if ComboBox2.Text='Виставка' then begin TreeView1.Items.Clear; TreeView1.Items.Add(nil,a[2].name); TreeView1.Items.Add(nil,a[3].name); TreeView1.Items.Add(nil,a[4].name); TreeView1.Items.Add(nil,a[5].name); TreeView1.Items.Add(nil,a[6].name); TreeView1.Items.Add(nil,a[7].name); TreeView1.Items.Add(nil,a[8].name); TreeView1.Items.Add(nil,a[9].name); TreeView1.Items.Add(nil,a[10].name); TreeView1.Items.Add(nil,a[11].name); TreeView1.Items.Add(nil,a[12].name); TreeView1.Items.Add(nil,a[13].name); TreeView1.Items.Add(nil,a[26].name); TreeView1.Items.Add(nil,a[27].name); End; if ComboBox2.Text='Озерна' then begin TreeView1.Items.Clear; TreeView1.Items.Add(nil,a[14].name); TreeView1.Items.Add(nil,a[15].name); TreeView1.Items.Add(nil,a[16].name); TreeView1.Items.Add(nil,a[17].name); TreeView1.Items.Add(nil,a[18].name); TreeView1.Items.Add(nil,a[19].name); TreeView1.Items.Add(nil,a[20].name); TreeView1.Items.Add(nil,a[21].name); TreeView1.Items.Add(nil,a[22].name); TreeView1.Items.Add(nil,a[23].name); TreeView1.Items.Add(nil,a[24].name); TreeView1.Items.Add(nil,a[25].name); TreeView1.Items.Add(nil,a[28].name); End; if ComboBox2.Text='Лезневе' then begin TreeView1.Items.Clear; TreeView1.Items.Add(nil,a[29].name); TreeView1.Items.Add(nil,a[30].name); TreeView1.Items.Add(nil,a[31].name); TreeView1.Items.Add(nil,a[32].name); TreeView1.Items.Add(nil,a[33].name); TreeView1.Items.Add(nil,a[34].name); TreeView1.Items.Add(nil,a[35].name); TreeView1.Items.Add(nil,a[36].name); TreeView1.Items.Add(nil,a[37].name); TreeView1.Items.Add(nil,a[38].name); TreeView1.Items.Add(nil,a[39].name); TreeView1.Items.Add(nil,a[40].name); TreeView1.Items.Add(nil,a[41].name); TreeView1.Items.Add(nil,a[42].name); TreeView1.Items.Add(nil,a[43].name); TreeView1.Items.Add(nil,a[44].name); TreeView1.Items.Add(nil,a[45].name); TreeView1.Items.Add(nil,a[46].name); TreeView1.Items.Add(nil,a[47].name); TreeView1.Items.Add(nil,a[48].name); TreeView1.Items.Add(nil,a[49].name); TreeView1.Items.Add(nil,a[50].name); TreeView1.Items.Add(nil,a[51].name); TreeView1.Items.Add(nil,a[52].name); TreeView1.Items.Add(nil,a[53].name); TreeView1.Items.Add(nil,a[54].name); TreeView1.Items.Add(nil,a[55].name); TreeView1.Items.Add(nil,a[56].name); TreeView1.Items.Add(nil,a[57].name); TreeView1.Items.Add(nil,a[58].name); TreeView1.Items.Add(nil,a[59].name); TreeView1.Items.Add(nil,a[60].name); TreeView1.Items.Add(nil,a[61].name); TreeView1.Items.Add(nil,a[62].name); TreeView1.Items.Add(nil,a[63].name); TreeView1.Items.Add(nil,a[64].name); TreeView1.Items.Add(nil,a[65].name); TreeView1.Items.Add(nil,a[66].name); End; if ComboBox2.Text='Центр' then begin TreeView1.Items.Clear; TreeView1.Items.Add(nil,a[67].name); TreeView1.Items.Add(nil,a[68].name); TreeView1.Items.Add(nil,a[69].name); TreeView1.Items.Add(nil,a[70].name); TreeView1.Items.Add(nil,a[71].name); TreeView1.Items.Add(nil,a[72].name); TreeView1.Items.Add(nil,a[73].name); TreeView1.Items.Add(nil,a[74].name); TreeView1.Items.Add(nil,a[75].name); TreeView1.Items.Add(nil,a[76].name); TreeView1.Items.Add(nil,a[77].name); TreeView1.Items.Add(nil,a[78].name); TreeView1.Items.Add(nil,a[79].name); TreeView1.Items.Add(nil,a[80].name); TreeView1.Items.Add(nil,a[81].name); TreeView1.Items.Add(nil,a[82].name); TreeView1.Items.Add(nil,a[83].name); TreeView1.Items.Add(nil,a[84].name); TreeView1.Items.Add(nil,a[85].name); TreeView1.Items.Add(nil,a[86].name); TreeView1.Items.Add(nil,a[98].name); TreeView1.Items.Add(nil,a[99].name); TreeView1.Items.Add(nil,a[100].name); TreeView1.Items.Add(nil,a[101].name); TreeView1.Items.Add(nil,a[102].name); End; if ComboBox2.Text='Ракове' then begin TreeView1.Items.Clear; TreeView1.Items.Add(nil,a[87].name); TreeView1.Items.Add(nil,a[88].name); TreeView1.Items.Add(nil,a[89].name); TreeView1.Items.Add(nil,a[90].name); TreeView1.Items.Add(nil,a[91].name); TreeView1.Items.Add(nil,a[92].name); TreeView1.Items.Add(nil,a[93].name); TreeView1.Items.Add(nil,a[94].name); TreeView1.Items.Add(nil,a[95].name); TreeView1.Items.Add(nil,a[96].name); TreeView1.Items.Add(nil,a[97].name); TreeView1.Items.Add(nil,a[112].name); TreeView1.Items.Add(nil,a[113].name); TreeView1.Items.Add(nil,a[114].name); TreeView1.Items.Add(nil,a[115].name); TreeView1.Items.Add(nil,a[116].name); TreeView1.Items.Add(nil,a[116].name); TreeView1.Items.Add(nil,a[117].name); TreeView1.Items.Add(nil,a[118].name); TreeView1.Items.Add(nil,a[119].name); TreeView1.Items.Add(nil,a[313].name); TreeView1.Items.Add(nil,a[120].name); TreeView1.Items.Add(nil,a[121].name); TreeView1.Items.Add(nil,a[122].name); TreeView1.Items.Add(nil,a[123].name); TreeView1.Items.Add(nil,a[124].name); TreeView1.Items.Add(nil,a[125].name); TreeView1.Items.Add(nil,a[126].name); TreeView1.Items.Add(nil,a[127].name); TreeView1.Items.Add(nil,a[128].name); TreeView1.Items.Add(nil,a[129].name); TreeView1.Items.Add(nil,a[130].name); TreeView1.Items.Add(nil,a[131].name); TreeView1.Items.Add(nil,a[132].name); TreeView1.Items.Add(nil,a[133].name); TreeView1.Items.Add(nil,a[134].name); TreeView1.Items.Add(nil,a[135].name); TreeView1.Items.Add(nil,a[136].name); TreeView1.Items.Add(nil,a[137].name); TreeView1.Items.Add(nil,a[138].name); TreeView1.Items.Add(nil,a[154].name); TreeView1.Items.Add(nil,a[155].name); TreeView1.Items.Add(nil,a[156].name); TreeView1.Items.Add(nil,a[157].name); TreeView1.Items.Add(nil,a[158].name); TreeView1.Items.Add(nil,a[159].name); TreeView1.Items.Add(nil,a[160].name); TreeView1.Items.Add(nil,a[161].name); TreeView1.Items.Add(nil,a[162].name); TreeView1.Items.Add(nil,a[163].name); TreeView1.Items.Add(nil,a[164].name); TreeView1.Items.Add(nil,a[213].name); TreeView1.Items.Add(nil,a[214].name); TreeView1.Items.Add(nil,a[215].name); TreeView1.Items.Add(nil,a[216].name); TreeView1.Items.Add(nil,a[217].name); TreeView1.Items.Add(nil,a[218].name); TreeView1.Items.Add(nil,a[219].name); End; if ComboBox2.Text='Ружична' then begin TreeView1.Items.Clear; TreeView1.Items.Add(nil,a[165].name); TreeView1.Items.Add(nil,a[166].name); TreeView1.Items.Add(nil,a[167].name); TreeView1.Items.Add(nil,a[168].name); TreeView1.Items.Add(nil,a[169].name); TreeView1.Items.Add(nil,a[170].name); TreeView1.Items.Add(nil,a[171].name); TreeView1.Items.Add(nil,a[172].name); TreeView1.Items.Add(nil,a[173].name); TreeView1.Items.Add(nil,a[174].name); TreeView1.Items.Add(nil,a[175].name); TreeView1.Items.Add(nil,a[176].name); TreeView1.Items.Add(nil,a[177].name); TreeView1.Items.Add(nil,a[178].name); TreeView1.Items.Add(nil,a[179].name); TreeView1.Items.Add(nil,a[180].name); TreeView1.Items.Add(nil,a[181].name); TreeView1.Items.Add(nil,a[182].name); TreeView1.Items.Add(nil,a[183].name); TreeView1.Items.Add(nil,a[184].name); TreeView1.Items.Add(nil,a[185].name); TreeView1.Items.Add(nil,a[186].name); TreeView1.Items.Add(nil,a[187].name); TreeView1.Items.Add(nil,a[188].name); TreeView1.Items.Add(nil,a[189].name); TreeView1.Items.Add(nil,a[223].name); TreeView1.Items.Add(nil,a[224].name); TreeView1.Items.Add(nil,a[225].name); TreeView1.Items.Add(nil,a[226].name); TreeView1.Items.Add(nil,a[227].name); TreeView1.Items.Add(nil,a[228].name); TreeView1.Items.Add(nil,a[229].name); TreeView1.Items.Add(nil,a[230].name); TreeView1.Items.Add(nil,a[231].name); TreeView1.Items.Add(nil,a[232].name); TreeView1.Items.Add(nil,a[233].name); TreeView1.Items.Add(nil,a[234].name); TreeView1.Items.Add(nil,a[235].name); TreeView1.Items.Add(nil,a[236].name); TreeView1.Items.Add(nil,a[237].name); TreeView1.Items.Add(nil,a[238].name); TreeView1.Items.Add(nil,a[239].name); TreeView1.Items.Add(nil,a[240].name); TreeView1.Items.Add(nil,a[241].name); TreeView1.Items.Add(nil,a[242].name); TreeView1.Items.Add(nil,a[243].name); TreeView1.Items.Add(nil,a[244].name); TreeView1.Items.Add(nil,a[245].name); TreeView1.Items.Add(nil,a[246].name); TreeView1.Items.Add(nil,a[247].name); TreeView1.Items.Add(nil,a[248].name); TreeView1.Items.Add(nil,a[249].name); TreeView1.Items.Add(nil,a[250].name); TreeView1.Items.Add(nil,a[251].name); End; if ComboBox2.Text='Книжківці' then begin TreeView1.Items.Clear; TreeView1.Items.Add(nil,a[136].name); TreeView1.Items.Add(nil,a[139].name); TreeView1.Items.Add(nil,a[140].name); TreeView1.Items.Add(nil,a[141].name); TreeView1.Items.Add(nil,a[142].name); TreeView1.Items.Add(nil,a[143].name); TreeView1.Items.Add(nil,a[144].name); TreeView1.Items.Add(nil,a[145].name); TreeView1.Items.Add(nil,a[146].name); TreeView1.Items.Add(nil,a[147].name); TreeView1.Items.Add(nil,a[148].name); TreeView1.Items.Add(nil,a[149].name); TreeView1.Items.Add(nil,a[150].name); TreeView1.Items.Add(nil,a[151].name); TreeView1.Items.Add(nil,a[152].name); TreeView1.Items.Add(nil,a[153].name); End; if ComboBox2.Text='Дубове' then begin TreeView1.Items.Clear; TreeView1.Items.Add(nil,a[91].name); TreeView1.Items.Add(nil,a[103].name); TreeView1.Items.Add(nil,a[104].name); TreeView1.Items.Add(nil,a[105].name); TreeView1.Items.Add(nil,a[106].name); TreeView1.Items.Add(nil,a[107].name); TreeView1.Items.Add(nil,a[108].name); TreeView1.Items.Add(nil,a[109].name); TreeView1.Items.Add(nil,a[110].name); TreeView1.Items.Add(nil,a[111].name); TreeView1.Items.Add(nil,a[189].name); TreeView1.Items.Add(nil,a[190].name); TreeView1.Items.Add(nil,a[191].name); TreeView1.Items.Add(nil,a[192].name); TreeView1.Items.Add(nil,a[193].name); TreeView1.Items.Add(nil,a[194].name); TreeView1.Items.Add(nil,a[195].name); TreeView1.Items.Add(nil,a[196].name); TreeView1.Items.Add(nil,a[197].name); TreeView1.Items.Add(nil,a[198].name); TreeView1.Items.Add(nil,a[199].name); TreeView1.Items.Add(nil,a[200].name); TreeView1.Items.Add(nil,a[201].name); TreeView1.Items.Add(nil,a[202].name); TreeView1.Items.Add(nil,a[203].name); TreeView1.Items.Add(nil,a[204].name); TreeView1.Items.Add(nil,a[205].name); TreeView1.Items.Add(nil,a[206].name); TreeView1.Items.Add(nil,a[207].name); TreeView1.Items.Add(nil,a[208].name); TreeView1.Items.Add(nil,a[209].name); TreeView1.Items.Add(nil,a[210].name); TreeView1.Items.Add(nil,a[211].name); TreeView1.Items.Add(nil,a[212].name); TreeView1.Items.Add(nil,a[220].name); TreeView1.Items.Add(nil,a[221].name); TreeView1.Items.Add(nil,a[222].name); End; if ComboBox2.Text='Катіон' then begin TreeView1.Items.Clear; TreeView1.Items.Add(nil,a[252].name); TreeView1.Items.Add(nil,a[253].name); TreeView1.Items.Add(nil,a[254].name); TreeView1.Items.Add(nil,a[255].name); TreeView1.Items.Add(nil,a[256].name); TreeView1.Items.Add(nil,a[257].name); TreeView1.Items.Add(nil,a[258].name); TreeView1.Items.Add(nil,a[259].name); TreeView1.Items.Add(nil,a[260].name); TreeView1.Items.Add(nil,a[261].name); TreeView1.Items.Add(nil,a[262].name); TreeView1.Items.Add(nil,a[263].name); TreeView1.Items.Add(nil,a[264].name); TreeView1.Items.Add(nil,a[265].name); TreeView1.Items.Add(nil,a[266].name); TreeView1.Items.Add(nil,a[267].name); TreeView1.Items.Add(nil,a[268].name); TreeView1.Items.Add(nil,a[269].name); TreeView1.Items.Add(nil,a[270].name); TreeView1.Items.Add(nil,a[271].name); TreeView1.Items.Add(nil,a[272].name); TreeView1.Items.Add(nil,a[273].name); TreeView1.Items.Add(nil,a[274].name); End; if ComboBox2.Text='Гречани' then begin TreeView1.Items.Clear; TreeView1.Items.Add(nil,a[275].name); TreeView1.Items.Add(nil,a[276].name); TreeView1.Items.Add(nil,a[277].name); TreeView1.Items.Add(nil,a[278].name); TreeView1.Items.Add(nil,a[279].name); TreeView1.Items.Add(nil,a[280].name); TreeView1.Items.Add(nil,a[281].name); TreeView1.Items.Add(nil,a[282].name); TreeView1.Items.Add(nil,a[283].name); TreeView1.Items.Add(nil,a[284].name); TreeView1.Items.Add(nil,a[285].name); TreeView1.Items.Add(nil,a[286].name); TreeView1.Items.Add(nil,a[287].name); TreeView1.Items.Add(nil,a[288].name); TreeView1.Items.Add(nil,a[289].name); TreeView1.Items.Add(nil,a[290].name); TreeView1.Items.Add(nil,a[291].name); TreeView1.Items.Add(nil,a[292].name); TreeView1.Items.Add(nil,a[293].name); TreeView1.Items.Add(nil,a[294].name); TreeView1.Items.Add(nil,a[295].name); TreeView1.Items.Add(nil,a[296].name); TreeView1.Items.Add(nil,a[297].name); TreeView1.Items.Add(nil,a[298].name); TreeView1.Items.Add(nil,a[299].name); TreeView1.Items.Add(nil,a[300].name); TreeView1.Items.Add(nil,a[301].name); TreeView1.Items.Add(nil,a[302].name); TreeView1.Items.Add(nil,a[303].name); TreeView1.Items.Add(nil,a[304].name); TreeView1.Items.Add(nil,a[305].name); TreeView1.Items.Add(nil,a[306].name); TreeView1.Items.Add(nil,a[307].name); TreeView1.Items.Add(nil,a[308].name); TreeView1.Items.Add(nil,a[309].name); TreeView1.Items.Add(nil,a[310].name); TreeView1.Items.Add(nil,a[311].name); TreeView1.Items.Add(nil,a[312].name); end; end; procedure TForm1.N17Click(Sender: TObject); begin Form4.ShowModal; end; procedure TForm1.ComboBox2Change(Sender: TObject); begin if ComboBox2.Text<>'' then Button3.Enabled:=true; if CheckBox1.Checked=true then begin Image1.AutoSize:=true; Image1.Align:=alNone; Image1.Picture.LoadFromFile('Дані\Райони\'+ComboBox2.Text+'.bmp'); ScrollBox1.HorzScrollBar.Position:=800; ScrollBox1.VertScrollBar.Position:=1200; end; end; procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then Button2.Click; end; procedure TForm1.ComboBox2KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then Button3.Click; end; procedure TForm1.N15Click(Sender: TObject); begin RadioButton3.Checked:= true; ComboBox2.SetFocus; ComboBox2.DroppedDown := True end; procedure TForm1.ComboBox3Change(Sender: TObject); begin if ComboBox3.Text<>'' then Button1.Enabled:=true; end; procedure TForm1.ComboBox3KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then Button1.Click; end; procedure TForm1.Panel1Click(Sender: TObject); begin Image1.Canvas.Pen.Mode:=Pmxor; end; procedure TForm1.RadioButton1Click(Sender: TObject); begin if RadioButton1.Checked = true then begin ComboBox3.Enabled :=true; ComboBox1.Enabled :=false; Button2.Enabled :=false; ComboBox2.Enabled :=false; Button3.Enabled :=false; CheckBox1.Enabled :=false; Label3.Enabled :=false; end; end; procedure TForm1.RadioButton2Click(Sender: TObject); begin if RadioButton2.Checked = true then begin ComboBox1.Enabled :=true; ComboBox3.Enabled :=false; Button1.Enabled :=false; ComboBox2.Enabled :=false; Button3.Enabled :=false; CheckBox1.Enabled :=false; Label3.Enabled :=false; end; end; procedure TForm1.RadioButton3Click(Sender: TObject); begin if RadioButton3.Checked = true then begin ComboBox1.Enabled :=false; ComboBox3.Enabled :=false; Button1.Enabled :=false; Button2.Enabled :=false; ComboBox2.Enabled :=true; CheckBox1.Enabled :=true; Label3.Enabled :=true; end; end; procedure TForm1.N9Click(Sender: TObject); begin Form5.ShowModal; end; procedure TForm1.CheckBox1Click(Sender: TObject); begin if CheckBox1.Checked=true then Button3.Enabled:=false else Button3.Enabled:=true; end; end. unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls; type TForm2 = class(TForm) TreeView1: TTreeView; Memo1: TMemo; Button1: TButton; procedure Button1Click(Sender: TObject); procedure TreeView1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation {$R *.dfm} procedure TForm2.Button1Click(Sender: TObject); begin close; end; procedure TForm2.TreeView1Click(Sender: TObject); begin Memo1.Lines.LoadFromFile('Дані\Справка\'+TreeView1.Selected.Text+'.FSH'); end; end. unit Unit3; interface uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, Buttons, ExtCtrls; type TAboutBox = class(TForm) Panel1: TPanel; ProgramIcon: TImage; ProductName: TLabel; Version: TLabel; Copyright: TLabel; OKButton: TButton; procedure OKButtonClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var AboutBox: TAboutBox; implementation {$R *.dfm} procedure TAboutBox.OKButtonClick(Sender: TObject); begin close; end; end. unit Unit4; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, jpeg; type TForm4 = class(TForm) Panel1: TPanel; Button1: TButton; ScrollBox1: TScrollBox; Image1: TImage; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form4: TForm4; implementation {$R *.dfm} procedure TForm4.Button1Click(Sender: TObject); begin Close; end; procedure TForm4.FormCreate(Sender: TObject); begin Image1.Picture.LoadFromFile('Дані\Умовн позначення\Умовні позначення.jpg'); end; end. unit Unit5; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm5 = class(TForm) Memo1: TMemo; Panel1: TPanel; Button1: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form5: TForm5; implementation {$R *.dfm} procedure TForm5.Button1Click(Sender: TObject); begin close; end; procedure TForm5.FormCreate(Sender: TObject); begin Memo1.Lines.LoadFromFile('Дані\Справка\History.FSH'); end; end. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||