на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Опис мови Delphi
b>2.3 Опис компоненту TDBChart

Для представлення даних з деякого набору даних у вигляді графіків різних видів призначений компонент Tdbchart. За його допомогою можна одночасно показувати графіки для декількох полів даних. Графіки будуються на основі всіх наявних в наборі даних значень полів.

Налаштування параметрів компоненту здійснюється спеціальним редактором, який можна відкрити подвійним клацанням на перенесеному на форму компоненті.

Основою будь-якого графіка в компоненті Tdbchart є так звана серія, властивості якої представлені класом Tchartseries. Для того, щоб побудувати графік значень деякого поля набору даних, необхідно виконати наступні дії, більшість з яких виконується в спеціалізованому редакторі компоненту:

1. Створити нову серію і визначити її тип.

2. Задати для серії набір даних.

3. Пов'язати з осями координат потрібні поля набору даних і, залежно від типу серії, задати додаткові параметри.

4. Відкрити набір даних.

Редактор має дві головні сторінки - Chart і Series. Сторінка Chart містить багатосторінковий блокнот і призначена для настройки параметрів самого графіка. Сторінка Series також містить багатосторінковий блокнот і використовується для настройки серій значень даних.

Для створення нової серії необхідно в редакторові перейти на головну сторінку Chart, а на ній відкрити сторінку Series. На цій сторінці потрібно клацнути на кнопці Add, а потім в діалозі, що з'явився, вибрати тип серії. Після цього в списку на сторінці Series з'являється рядок нової серії. Тут можна перевизначити тип, колір і видимість серії, клацнувши на відповідній зоні рядка. Решта всіх сторінок блокнота на головній сторінці Chart призначена для настройки параметрів графіка. Можна перейти на головну сторінку Series і на ній із списку назв серій вибрати необхідну. Після цього на сторінці Data Source із списку вибирається рядок Dataset. Далі в списку Dataset, що з'явився, вибирається потрібний набір даних.

Рис. 2.3.1. Спеціалізований редактор компоненту Tdbchart.

Рис. 2.3.2. Приклад використання компонента Tdbchart

Рис. 2.3.3. Можливі види графіків

Список X дозволяє вибрати поле набору даних, значення якого послідовно відкладатимуться по осі абсцис. Список Y дозволяє вибрати поле набору даних, значення якого будуть відкладені по осі ординат. Відповідність між значеннями полів по двох осях визначається приналежністю до одного запису набору даних. Вибір поля в списку Labels прив'язує його значення у вигляді міток до осі абсцис.

Тепер залишилося тільки відкрити набір даних і компонент Tdbchart побудує графік. Аналогічним чином на цей же компонент можна помістити і інші графіки. Кожна серія відповідатиме одній кривій на графіку.

Властивості компонента TDBChart:

1. Allowpanning - визначає можливість користувача прокручувати спостережувану частину графіка під час виконання, натискаючи праву кнопку миші:

· pmnone - прокрутка заборонена;

· pmhorizontal - дозволена прокрутка тільки в горизонтальному напрямі;

· pmvertical - тільки у вертикальному pmboth - в обох напрвленіях.

2. Allowzoom - дозволяє користувачеві змінювати під час виконання масштаб зображення, вирізуючи фрагменти діаграми або графіка курсором миші.

3. Title - визначає заголовок діаграми.

4. Foot - визначає підпис під діаграмою. За замовчанням - відсутній. Текст підпису визначається підвластивістю Text.

5. Frame - визначає рамку навколо діаграми.

6. Legend - легенда діаграми (список позначень).

7. Marginleft, Marginright, Margintop, Marginbuttom - значення лівого, правого, верхнього і нижнього полів.

8. Buttomaxis, Leftaxis, Rightaxis - ці властивості визначають характеристики відповідно нижньої, лівої і правої осей. Завдання цих властивостей має сенс для графіків і деяких інших типів діаграм.

9. Leftwall, Buttomwall, Backwall - ці властивості визначають характеристики відповідно лівої, нижньої і задньої граней області тривимірного відображення графіка.

10. Serieslist - список серій даних, що відображаються в компоненті

11. View3d - дозволяє або забороняє тривимірне відображення діаграми.

12. View3doptions - характеристики тривимірного відображення.

13. Chart3dpersent - масштаб тривимірності (товщина діаграми, ширина стрічок графіка).

Редактор діаграм викликається:

· кнопкою з три крапкою поряд з назвою властивості в інспекторові об'єктів;

· подвійним клацанням на компоненті Chart при проектуванні форми;

· вибором команди Edit Chart в контекстному меню компоненту Chart при проектуванні форми.

Для задання значень, що відображаються, треба використовувати методи серій Series:

· clear - очищає серію від занесених раніше даних;

· add - дозволяє додати в діаграму нову точку:

Add(Const Avalue:double; Const Alabel:string; Acolor:tcolor)

Параметр Avalue відповідає значенню, що додається, параметр alabel - назва, яка буде відображатися на діаграмі і в легенді, параметр Acolor - колір. Параметр alabel необов'язковий, його можна задавати порожнім.

· addxy - дозволяє додати нову крапку в графік функції:

· ADDXY(Const Axvalue, Ayvalue: Double; Const Alabel: String; Acolor: Tcolor). Параметри Axvalue іayvalue відповідають аргументу і функції, параметри Alabel і Acolor - ті ж, що і в методі Add.

2.4 Робота з файлами в Delphi

Середовище Delphi дає вам можливість вибрати один з чотирьох варіантів роботи з файлами:

1. використання традиційного набору функцій роботи з файлами, успадкованого від Turbo Pascal;

2. використання функцій введення/виводу з Windows API;

3. використання потоків (rstream і його нащадки);

4. використання файлів, що відображаються.

Часто сучасний програмний код Delphi для читання даних з файлу дуже схожий на той, що використовується в Turbo Pascal. Програмісти Borland зберегли незмінним старий набір файлових функцій, що працюють через файлові змінні.

При організації операцій файлового введення/виведення у додатку велике значення має, якого роду інформація міститься у файлі. Частіше за все це - рядки, але зустрічаються двійкові дані або структурована інформація, наприклад масиви або записи.

Природно, що відомості про тип даних, що зберігаються у файлі важливо задати спочатку. Для цього використовуються спеціальні файлові змінні, що визначають тип файлу. Вони поділяються на ті, що не типізуються і типізуються. Перед початком роботи з будь-яким файлом необхідно описати файлову змінну, що відповідає типу даних цього файлу. Надалі ця змінна використовується при зверненні до файлу.

У Delphi є можливість створювати файли, що не типізуються. Для їх позначення використовується ключове слово file: var Untypedfile: file;

Такі файлові змінні використовуються для організації швидкого і ефективного введення/виводу незалежно від типу даних. При цьому мається на увазі, що дані читаються або записуються у вигляді двійкового масиву. Для цього застосовуються спеціальні процедури блокового читання і запису.

Типізовані файли, забезпечують введення/виведення з урахуванням конкретного типу даних. Для їх оголошення використовується ключове слово file of, до якого додається конкретний тип даних. Наприклад, для роботи з файлом, що містить набір байтів, файлова змінна оголошується так: var Bytefile: file of byte;

При цьому можна використовувати будь-які типи фіксованого розміру, за винятком вказівників. Дозволяється застосовувати структурні типи, якщо їх складові частини задовольняють названому вище обмеженню. Наприклад, можна створити файлову змінну для запису:

type Country = record

Name: String;

Capital: String;

Population: Longlnt;

Square: Longlnt;

end;

var Countryfile: file of Country;

Для роботи з текстовими файлами використовується спеціальна файлова змінна Textfile або Text: var F: Textfile;

Тепер розглянемо дві найпоширеніші операції, що виконуються при роботі з файлами. Це читання і запис. Для їх здійснення застосовуються спеціальні функції файлового введення/виводу.

Отже, для виконання операції читання або запису необхідно провести наступні дії:

1. Оголосити файлову змінну необхідного типу.

2. За допомогою функції Assignfile пов'язати цю змінну з необхідним файлом.

3. Відкрити файл за допомогою функцій Append, Reset, Rewrite.

4. Виконати операції читання або запису. При цьому, залежно від складності завдання і структури даних, може використовуватися цілий ряд допоміжних функцій.

5. Закрити файл за допомогою функції Closefile.

Як приклад розглянемо невеликий фрагмент коду.

...

var F: Textfile;

S: string;

begin

if Opendlg.Execute

then Assignfiie(F, Opendlg.FileName)

else Exit; Reset(F);

while Not EOF(F) do

begin

Readln(F, S);

Memo.Lines.Add(S);

end;

Closefile(F);

end;

...

Якщо в діалозі відкриття файлу Opendlg був вибраний файл, то його ім'я зв'язується з файловою змінною F за допомогою процедури Assignfile. Як ім'я файлу рекомендується завжди передавати повне ім'я файлу (включаючи його маршрут). Якраз у такому вигляді повертають результат вибору файлу діалоги роботи з файлами. Потім за допомогою процедури Reset цей файл відкривається для читання і запису.

У циклі виконується читання з файлу текстових рядків і запис їх в компонент Tmemo. Процедура Readin здійснює читання поточного рядка файлу і переходить на наступний рядок. Цикл виконується, поки функція EOF не повідомить про досягнення кінця файлу. Після завершення читання файл закривається. Такий же код можна використовувати і для запису даних у файл. Необхідно тільки замінити процедуру читання на процедуру запису.

Відкриття файлу може здійснюватися трьома процедурами - залежно від типу його подальшого використання.

1. Процедура procedure Reset(var F: File [; Recsize: Word ]); відкриває існуючий файл для читання і запису, поточна позиція встановлюється на першому рядку файлу.

2. Процедура procedure Append(var F: Text); відкриває файл для запису інформації після його останнього рядка, поточна позиція встановлюється на кінець файлу.

3. Процедура procedure Rewrite(var F: File [; Recsize: Word ]); створює новий файл і відкриває його, поточна позиція встановлюється в початок файлу. Якщо файл з таким ім'ям вже існує, то він перезаписується.

Змінна Recsize використовується тільки при роботі з файлами, що не типізуються, і визначає розмір одного запису для операції передачі даних. Якщо цей параметр опущений, то за замовчуванням Recsize рівне 128 байт.

Читання даних з файлів, що типізуються і текстових, виконують процедури Read і Readin. Процедура Read має різне оголошення для текстових і інших файлів, що типізуються:

· procedure Read([var F: Text;] VI [, V2...,Vn]) - для текстових файлів;

· procedure Read(F, VI [, V2...,Vn]) - для інших типізованих файлів.

При одному виклику процедури можна читати дані в довільне число змінних. Звичайно, що тип змінних повинен співпадати з типом файлу. При читанні в чергову змінну читається рівно стільки байтів з файлу, скільки займає тип даних. У наступну змінну читається стільки ж байтів, розташованих услід. Після виконання процедури поточна позиція встановлюється на першому непрочитаному байті. Аналогічно працюють декілька процедур Read для однієї змінної, виконаних підряд.

Процедура procedure Readln([ var F: Text; ] VI [, V2...,Vn ]); прочитує один рядок текстового файлу і встановлює поточну позицію на наступному рядку.

Процедури для запису у файл write і writein описані аналогічно: procedure Write([var F: Text; ] PI [, P2..., Pn]); procedure Writein([ var F: Text; ] PI [, P2...,Pn ]). Параметри P1, P2..., Pn можуть бути одним з цілих або речових типів, одним із строкових типів або логічним типом. Але у них є можливість додаткового форматування при виводі. Кожен параметр запису може мати форму: Рn [: Minwidth [: Decplaces ] ], де Рn - змінна, що виводиться, або вираз; Minwidth - мінімальна ширина поля в символах, яка повинна бути більше 0; Decplaces - містить кількість десяткових символів після коми при відображенні дійсних чисел з фіксованою крапкою.

Для текстових файлів у функціях Read і write файлова змінна F може бути відсутня. У цьому випадку читання і запис здійснюються в стандартні файли введення/виводу. Коли програма компілюється як консольне застосування, Delphi автоматично пов'язує вхідний і вихідний файли з вікном консолі.

Для контролю за поточною позицією у файлі застосовуються дві основні функції.

1. Функція EOF(F) повертає значення True, якщо досягнутий кінець файлу.

2. Функція EOLN(F) аналогічно сигналізує про досягнення кінця рядка. Природно, як параметр у функції необхідно передавати файлову змінну.

Процедура procedure Seek(var F; N: Longint); забезпечує зсув поточної позиції на N елементів. Розмір одного елементу в байтах залежить від типу даних файлу.

Розглянемо тепер режим блокового введення/виводу даних між файлом і областю адресного простору (буфером). Цей режим відрізняється значною швидкістю передачі даних, причому швидкість пропорційна розміру одного передаваного блоку - чим більше блок, тим більше швидкість.

Для реалізації цього режиму необхідно використовувати файлові змінні, що тільки не типізуються. Розмір блоку визначається в процедурі відкриття файлу (Reset, Rewrite). Безпосередньо для виконання операцій використовуються процедури Blockread і Blockwrite. Процедура procedure Blockread(var F: File; var Buf; Count: Integer [; var Amttransferred: Integer]); виконує запис блоку з файлу в буфер. Параметр F посилається на файлову змінну, що не типізується, пов'язану з потрібним файлом.

Параметр Buf визначає будь-яку змінну (число, рядок, масив, структуру), в яку читаються байти з файлу. Параметр Count містить число прочитуваних блоків. Нарешті, необов'язковий параметр Amttransferred повертає число реально лічених блоків.

При використанні блокового читання або запису розмір блоку необхідно вибирати так, щоб він був кратний розміру одного значення того типу, який зберігається у файлі. Наприклад, якщо у файлі зберігаються значення типу Double (8 байт), то розмір блоку може бути рівний 8, 16, 24, 32 і так далі.

2.5 Основи вбудови ассемблерного коду

Якщо потрібно використовувати команди Асемблера не тільки проц
есора 8086, але і математичного співпроцесора 8087, то необхідно включати директиву компілятора {$N+}. А для доступу до команд процесора 80286 необхідна директива {$G+}. Таким чином комбінація {$G+,$N+} дасть доступ до всіх команд, включаючи співпроцесор 80287. Наступна особливість вбудованого Ассемблера полягає в тому, що в ньому можна звертатися до імен, визначених в програмі на Паскалі. Наприклад, можна читати значення змінних або викликати процедури прямо з Ассемблерної вставки. Ось, приклад: mov AX, Summa, де Summa - змінна, оголошена в розділі var. Причому розмірність змінної в даному випадку не важлива і контролювати збіг типів змінних доводиться у ручну. Є специфічні змінні, доступні тільки з Ассемблерних вставок:

@Code - поточний сегмент коду;

@Data - поточний сегмент даних;

@Result - посилання усередині функції на її результат.

Наприклад:

Code (Pascal):

mov AX, SEG @Data mov DS, AX

Для доступу до змінних з програми на Паскалі, імена яких співпадають із зарезервованими словами Асемблера використовується операція перекриття ідентифікатора
. У Ассемблерних вставках окрім звичайних міток Паскаля, що оголошуються в розділі label можна використовувати і не оголошені, в цьому випадку необхідно перед такою міткою ставити знак @.

Для того, що б вставити Ассемблерний код в програму на Паскалі, можна скористатися складеним оператором asm... end. Разом із звичайним складеним оператором begin... end Паскаль підтримує і складений оператора asm... end в який записується код не на Паскалі, а на Ассемблері.

Приклад:

var A, B, Max: Integer;

begin Write ('Введіть A: ');

Readln (A); Write ('Введіть B: ');

Readln (B);

asm

mov AX, A

cmp AX, B

jg @e

mov AX, B

@e: mov Max, AX

end; {asm} Writeln ('Max = ', Max);

Readln; end.

Як видно з коду, програма видасть максимальне значення між змінними A і B.

Висновки

Мова програмування Delphi дуже широко використовується і має дуже велику кількість розроблених елементів та засобів, що значно полегшують розробку додатків. У Delphi, використовується багато передових ідей і концепцій, закладених в графічному інтерфейсі Windows. У середовищі програмування Delphi є всі необхідні інструменти для того, щоб створювати повноцінні програми. Писати, компілювати і тестувати програму - все це можна робити, не виходячи з Delphi.

Завдяки можливості вбудови в програму ассемблерних вставок, програміст отримує змогу створювати програми з інтерфейсом Windows та дуже високою швидкодією, характерною для низькорівневих мов програмування.

Список літератури

1.
Delphi 7 / под общ. ред. А.Д. Хомоненко. - СПб.: БХВ-Петербург, 2007. - 1216 с.

2. Assembler. Учебник для вузов. 2-е изд. - СПб.: Питер, 2007. - 637с.

3. Архангельский А.Я. Приемы программирования в Delphi на основе VCL. -- М.: «Бином-Пресс», 2006 г. -- 944 с.

4. Фленов М.Е. Библия Delphi. - СПб.: БХВ-Петербрг, 2004. - 880 с.

5. Стивенс Р. Delphi. Готовые алгоритмы / Род Стивенс; Пер. с англ. Мерещука П.А. - 2-е изд., стер. - М.: ДМК Пресс; СПб.: Питер, 2004. - 384 с.: ил.

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.