Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Копіювання файлів

КурсоваДопомога в написанніДізнатися вартістьмоєї роботи

Проте, системне оточення Сі має у своєму розпорядженні бібліотекою об'єктних модулів, в якій реалізовані подібні функції. Бібліотека підтримує багато функцій, які потрібні. Це рішення дозволяє ізолювати мовні особливості від специфіки процесора, на якому виконується результуюча програма. Суворе визначення мови робить його незалежним від будь-яких деталей операційної системи або машини. У той же… Читати ще >

Копіювання файлів (реферат, курсова, диплом, контрольна)

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ КИЇВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ТЕХНОЛОГІЙ ТА ДИЗАЙНУ ФАКУЛЬТЕТ РИНКОВИХ, ІНФОРМАЦІЙНИХ ТА ІННОВАЦІЙНИХ ТЕХНОЛОГІЙ Кафедра інформаційних та комп’ютерних технологій Курсова робота з дисципліни «Програмування»

на тему «Копіювання файлів»

Виконав:

студент 3 курсу групи ЗЧСКС1−11

Поперечний М. В Перевірив:

викладач Костьян Н.Л.

Черкаси 2013

ВСТУП РОЗДІЛ 1. ТЕОРЕТИЧНА ЧАСТИНА

1.1 Основні поняття мови програмування C

1.2 Інструменти середовища C++Builder які були використані в програмі

РОЗДІЛ 2. Робота з файлами в Сі

2.1 Робота з файлами

2.2 Відкриття файлу

2.3 Відображення файлу

2.4 Закриття файлу РОЗДІЛ 3. ПРАКТИЧНА ЧАСТИНА.

3.1 Розробка основних функцій для реалізації програми

3.2 Блок — схема програми

3.3 Тестування програмного забезпечення ВИСНОВОК СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ ДОДАТОК А. ЛІСТІНГ ПРОГРАМИ копіювання файл програма

ВСТУП Метою моєї курсової роботи було розробити програму копіювання файлів.

Для розробки даного проекту я обрав мову програмування С в середовищі С++ Builder.

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

РОЗДІЛ 1. ТЕОРЕТИЧНА ЧАСТИНА

1.1 Основні поняття мови програмування C

C (англ. C) — універсальна, процедурна, імперативна мова програмування загального призначення, розроблена у 1972 році Денісом Рітчі у Bell Telephone Laboratories з метою написання на ній операційної системи UNIX.

Хоча, С і було розроблено для написання системного програмного забезпечення, наразі вона досить часто використовується для написання прикладного програмного забезпечення.

С імовірно, є найпопулярнішою у світі мовою програмування за кількістю вже написаного на ній програмного забезпечення, доступного під вільними ліцензіями коду та кількості програмістів, котрі її знають. Реалізації компіляторів для мови С існують для багатьох операційних систем та апаратних архітектур. C здійснила великий вплив на інші мови програмування, особливо на C++, яка спочатку проектувалася, як розширення для С, а також на Java та C#, які запозичили у С синтаксис.

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

Перерахуємо деякі суттєві особливості мови Сі:

? Сі забезпечує повний набір операторів структурного програмування.

? Сі пропонує незвично великий набір операцій.

Багато операцій Сі відповідають машинним командам і тому допускають пряму трансляцію в машинний код. Різноманітність операцій дозволяє вибирати їх різні набори для мінімізації результуючого коду.

? Сі підтримує покажчики на змінні і функції.

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

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

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

1.2 Інструменти середовища C++Builder які були використані в програмі

C Builder являє собою SDI-додаток, головне вікно якого містить настроювану інструментальну панель (ліворуч) і палітру компонентів (праворуч). Крім цього, за замовчуванням при запуску C Builder з’являються вікно інспектора об'єктів (зліва) і форма нового додатку (праворуч). Під вікном форми додатку знаходиться вікно редактора коду.

Форми є основою додатків C Builder. Створення користувацького інтерфейсу програми полягає в додаванні у вікно форми елементів об'єктів C Builder, званих компонентами. Компоненти C Builder розташовуються на палітрі компонентів, виконаної у вигляді багатосторінкового блокнота. Важлива особливість C Builder полягає в тому, що він дозволяє створювати власні компоненти і налаштовувати палітру компонентів, а також створювати різні версії палітри компонентів для різних проектів.

При розробці програми я використав такі компоненти:

OpenDiaolg

TOpenDialog — візуальний компонент. Він використовується, щоб дозволити користувачеві вибирати один або більше файлів, для відкриття. Він може бути визначений, переміщенням значка Open Dialog з вкладки Dialogs, або визначаючи змінну TOpenDialog.

TOpenDialog може бути налаштований для задоволення ваших потреб.

Установка опцій Перед відображенням діалогу, ви, ймовірно, конфігуріруете його по своїм потребам, встановлюючи властивості діалогу. Ось його основні властивості: Властивість Title

Використовується для установки заголовка діалогу.

Властивість FileName

Видає ім'я файлу для відкриття, задане за замовчуванням. (Інакше, поле імені файлу буде пропуском). При поверненні з діалогу, якщо користувач натиснув, OK, це властивість буде містити (перше) обране ім'я файлу, включаючи його повний шлях (див. перший приклад).

Властивість Filter

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

Властивість FilterIndex

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

Властивість InitialDir

Встановлює початковий каталог в діалозі.

Властивість Options

Це набір TOpenOptions прапорців. Вони є вичерпними. Ключові значення:

ofReadOnly відкриває файл доступний лише для читання

ofFileMustExist може бути відкритий тільки існуючий файл

ofAllowMultiSelect користувач може вибрати 2 або більше файлів Властивість FileName

Воно містить повний шлях плюс ім'я обраного файлу.

Властивість Files

Воно містить повний шлях плюс назва файлу з множинного вибору файлів. Імена файлів містяться в повернутому значенні TStrings.

SaveDialog

TSaveDialog — візуальний компонент. Він використовується для вибору користувачем імені файлу призначеного для збереження. Він може бути визначений переміщенням значок з вкладки Dialogs або визначаючи змінну TSaveDialog. TSaveDialog може бути налаштований для задоволення ваших потреб.

Установка опцій Перед відображенням діалогу, ви, ймовірно, конфігуріруете його по своїм потребам, встановлюючи властивості діалогу. Ось його основні властивості:

Властивість Title

Використовується для установки заголовка діалогу.

Властивість FileName

Видає ім'я файлу, задане за замовчуванням для збереження. (Інакше, поле імені файлу буде пропуском).

Властивість DefaultExt

Визначає розширення, яке буде додаватися до призначеного для користувача імені файлу, якщо воно друкується вручну (а не вибирається зі списку файлів). Якщо цих фільтрів розширень два або більше, то це значення ігнорується. Вони повинні бути поміщені в список, що розкривається значень розширення. Дуже дивно!

Властивість Filter

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

Властивість FilterIndex

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

Властивість InitialDir

Встановлює початковий каталог в діалозі.

Властивість FileName

Воно містить повний шлях плюс ім'я обраного файлу.

Властивість Files

Воно містить повний шлях плюс назва файлу з множинного вибору файлів. Імена файлів містяться в повернутому значенні TStrings.

Button

Компонент Button це проста командна кнопка. Командна кнопка Button використовується для реалізації в програмі команд за допомогою обробника події OnClick цього компонента.

Один і той же обробник може обробляти події кількох компонентів TButton (та й не тільки TButton, а й навіть компонентів інших типів). Для визначення того, подія якого саме компонента потрібно обробляти, використовується вбудована мінлива Sender типу TObject, що позначає об'єкт, що викликав дану подію.

Edit

Компонент Edit являє собою однорядкове текстове поле, що служить для введення даних користувачем. Основною властивістю компонента Edit, що передає введену інформацію, є властивість Edit1. Text типу String.

Цей компонент є полем редагування призначений для введення і редагування однорядкового тексту. Введений текст є значенням властивості Text.

РОЗДІЛ 2. РОБОТА З ФАЙЛАМИ В С

2.1 Робота з файлами

Робота з файлами складається з трьох кроків.

1. Файл відкривається. Це означає, що програма «захоплює» заданий по імені файл, повідомляє Windows, що далі вона буде з ним працювати. Даний крок потрібний, щоб не виникало конфліктів, коли кілька програм одночасно хочуть записувати інформацію в один і той же файл. Правда, зчитувати дані з файлу, очевидно, припустимо одночасно безліччю програм, тому в операції відкриття файлу зазвичай уточнюється, що файл відкривається «на читання» (зчитування інформації, яка не змінюється) або «на запис» (дані у файлі модифікуються).

Операція відкриття файлу повертає якийсь ідентифікатор (як правило, ціле число), що ідентифікує в програмі надалі потрібний відкритий файл. Цей ідентифікатор запам’ятовується у змінній; зазвичай така змінна називається файлової змінної.

2. Ведеться робота з файлом. З нього дані або зчитуються, або в нього записуються.

3. Файл закривається. Після цієї операції він знову доступний іншим програмам для обробки.

Стандартні операції роботи з файлами, що існують практично у всіх реалізаціях Сі, зберігаються в бібліотеці stdio.h. Функція відкриття файлу називається fopen (). Вона повертає покажчик на об'єкт стандартного (визначеного в цій бібліотеці) типу FILE.

Параметрів у функції fopen () два. Перший — це шлях до файлу (рядок), другий — параметри відкриття файлу.

2.2 Відкриття файлів Файл є послідовність байтів, що зберігається на якому-небудь фізичному носії інформації. Кожен файл має абсолютний шлях, по якому визначається його місцезнаходження. Як роздільник шляху в Windows може використовуватися як прямий (/), так і зворотний () слеш. В інших операційних системах використовується тільки прямий слеш.

Відкриття файлів у файловій системі сервера виробляється за допомогою функції fopen:

int fopen (string filename, string mode [, int use_include_path])

Перший аргумент filename — ім'я файлу або абсолютний шлях до нього. Якщо абсолютний шлях не вказується, то файл повинен знаходиться в поточному каталозі.

Другий аргумент mode говорить про те, для яких дій відкривається файл і може приймати такі значення:

r (Відкрити файл тільки для читання; після відкриття покажчик файлу встановлюється в початок файлу);

r + (Відкрити файл для читання і запису; після відкриття покажчик файлу встановлюється в початок файлу);

w (Створити новий порожній файл тільки для запису, якщо файл з таким ім'ям вже є вся інформація в ньому знищується);

w + (Створити новий порожній файл для читання запису; якщо файл з таким ім'ям вже є вся інформація в ньому знищується);

a (Відкрити файл для дозапису; дані будуть записуватися в кінець файлу);

a + (Відкрити файл для дозапису і читання даних; дані будуть записуватися в кінець файлу);

b (Прапор, який вказує на роботу (читання і запис) з двійковим файлом; вказується тільки в Windows).

Третій необов’язковий аргумент use_include_path визначає чи повинні шукатися файли в каталозі include_path. (Параметр include_path встановлюється у файлі php. ini).

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

Код, наведений нижче, відкриває файл C: / WWW / HTML / file. txt для читання:

$ File = fopen («c: / www / html / file. txt», «r»);

if (! file)

{

echo («Помилка відкриття файлу»);

}

?>

Відкриття двійкового файлу, наприклад, малюнка відбувається таким же чином, тільки з прапором b:

$ File = fopen («c: / www / html / river. jpg», «rb»);

if (! file)

{

echo («Помилка відкриття файлу»);

}

?>

2.3 Відображення файлів Вміст відкритого файлу можна відобразити в браузері за допомогою функції fpassthru:

int fpassthru (int file)

Аргумент file є дескриптор файлу.

$ file = fopen («c: / www / html / pavlovo. jpg», «rb»);

if (! file)

{

echo («Помилка відкриття файлу»);

}

else

{

fpassthru ($ file);

}

?>

Для текстових файлів існує ще одна функція відображення readfile:

readfile (string filename)

Звертаємо вашу увагу на те, що в якості аргументу ця функція приймає ім'я файлу, а не його дескриптор:

readfile («file.txt»);

?>

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

int fclose (int file)

Аргумент file є дескриптор файлу, який необхідно закрити.

РОЗДІЛ 3. ПРАКТИЧНА ЧАСТИНА

3.1 Розробка основних функцій для реалізації програми Опис функції роботи з файлами яка була використана в написанні програми.

int MoveFiles (AnsiString slSourceDir, AnsiString slTargetDir, bool toCopy = true)

SHFILEOPSTRUCT sh;

sh.fFlags = FOF_NOCONFIRMATION

Функція SHFileOperation (оголошена і присутній в модулі ShellApi) взагалі призначена не тільки для видалення файлів, але також ще для переміщення, копіювання та перейменування файлів, і мені можна було обмежитися лише описом її можливостей тільки для роботи з кошиком, але я опишу всі її функції. Функція оголошена як

SHFileOperation (const lpFileOp: TSHFileOpStruct): Integer;

Єдиним її параметром являється структура TSHFileOpStruct. У разі успіху повертає значення 0. Якщо вам потрібно видалити файл безпосередньо, гарантовано минаючи кошик використовуйте функцію DeleteFile.

TSHFileOpStruct структура використовується для вказівки параметрів функції.

Опишемо її поля:

Wnd

хендл діалогового вікна, відображає статус операції;

wFunc

тип виробленої операції:

FO_COPY

копіювати файл.

FO_MOVE

перемістити файл.

FO_DELETE

видалити файл.

FO_RENAME

перейменувати файл.

pFrom

покажчик на рядок з ім'ям вихідного файлу.

pTo

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

fFlags

прапори визначають параметри операції.

FOF_ALLOWUNDO

зберігає інформацію про можливе скасування операції.

FOF_FILESONLY

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

FOF_MULTIDESTFILES

вказує, що pTo описує декілька файлів (по одному на кожен файл джерела) замість одного каталогу, куди повинні бути поміщені вихідні файли.

FOF_NOCONFIRMATION

відповідає «Так для всіх» на всі питання.

FOF_NOCONFIRMMKDIR

не вимагає підтвердження створення нового каталогу.

FOF_NO_CONNECTED_ELEMENTS

З версії 5.0. не переміщує пов’язані файли як групу. Тільки переміщує вказані файли.

FOF_NOCOPYSECURITYATTRIBS

З версії 4.71. Не копіює атрибути безпеки файлу.

FOF_NOERRORUI

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

FOF_NORECURSION

Не підтримує рекурсивні операції в підкаталогах, працює тільки в локальному каталозі.

FOF_RENAMEONCOLLISION

присвоює файлу нове ім'я при операціях копіювання, переміщення або перейменування, якщо файл з вказаним ім'ям вже існує.

FOF_SILENT

не показує прогрес бар відображає хід операції.

FOF_SIMPLEPROGRESS

відображає вікно прогрес бару, але не показує імен файлів.

FOF_WANTMAPPINGHANDLE

Визначає використання поля hNameMappings. Хендл об'єкта повинен бути звільнений функцією SHFreeNameMappings. Вона оголошена в ShellApi як процедура

SHFreeNameMappings (hNameMappings: THandle);

fAnyOperationsAborted

Приймає значення True якщо операція була перервана або False в іншому випадку.

hNameMappings

Хендл об'єкта містить масив структур SHNAMEMAPPING. Кожна структура SHNAMEMAPPINGсодержіт старі й нові шляхи для кожного файлу, з яким проведені операції переміщення, копіювання, або перейменувати. Це поле використовується, якщо встановлений прапор FOF_WANTMAPPINGHANDLE.

lpszProgressTitle

покажчик на рядок заголовка для вікна прогресу; використовується тільки, якщо серед прапорів є FOF_SIMPLEPROGRESS

SHEmptyRecycleBin функція для очищення кошика на певному диску (або на всіх), вона не переведена в стандартному модулі ShellApi Delphi, тому ви можете скористатися моїм перекладом, або перевести самі (все вищесказане також справедливо і до функції SHQueryRecycleBin).

Функція оголошена як

SHEmptyRecycleBin (Wnd: HWND; pszRootPath: PChar; dwFlags: DWORD): HRESULT;

де

hwnd

Handle батьківського або діалогового вікно яке може відображатися протягом операції. Цей параметр може бути дорівнює нулю.

pszRootPath

Покажчик на рядок PChar містить шлях до кореневого диску на яка знаходитися кошик. Цей параметр може містити адресу рядка, з шляхом до якого-небудь каталогу або підкаталогу, наприклад c: windows system …. Це може також містити порожній рядок або Nil. Якщо це значення — порожній рядок або Nil, все кошика на всіх дисках будуть очищені.

dwFlags

Може містити один або декілька параметрів з наступних

SHERB_NOCONFIRMATION

Не показувати діалог підтвердження видалення всіх файлів із кошика.

SHERB_NOPROGRESSUI

Не показувати прогрес бар відображає видалення файлів із кошика.

SHERB_NOSOUND

Не підтверджувати завершення видалення звуковим сигналом.

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

Вона оголошена як

SHQueryRecycleBin (pszRootPath: PANSIChar; var SHQueryRBInfo: TSHQueryRBInfo): HRESULT;

Де

pszRootPath

Покажчик на рядок PChar містить шлях до кореневого диску на яка знаходитися кошик. Цей параметр може містити адресу рядка, з шляхом до якого-небудь каталогу або підкаталогу, наприклад c: windows system … .

У Windows 2000, якщо в параметрі pszRootPath пусте значення або Nil, функція повертають помилку E_INVALIDARG. Більш ранні версії операційної системи дозволяють передавати пустий рядок або Nil. Якщо pszRootPath містить пустий рядок або Nil, інформація повертається для всіх кошиків на всіх дисках.

PSHQueryRBInfo

Покажчик на структуру SHQUERYRBINFO, яка отримує інформацію про кошику. Значення поле структури CbSize повинно бути встановлено рівним розміром структури перед запитом цієї функції.

Оголошення цієї структури

TSHQueryRBInfo = packed record

cbSize: DWORD;

i64Size,

i64NumItems: TLargeInteger;

end;

3.2 Блок — схема програми Загальна блок-схема програми

Блок-схема функції MoveFiles

3.3 Тестування програмного забезпечення Моя написана программа «Копіювання файлів» тестувалась на такому программному забезпеченні: Операційна система (Windows 7 Ultimate) Mobile Intel Celeron 575, 2000 MHz (12×167), 2ГБ ОЗУ.

Розроблювалась моя програма в програмному середовищі Borland С++ Builder 6.

Рис1. Головне вікно програми Рис2. вікно вибору файлу Рис3. Вікно збереження файлу Рис4. Копіювання Рис5. Результат роботи програми

ВИСНОВОК Метою моєї курсової роботи було розробити програму яка копіює файл. Для розробки даного проекту я обрав мову програмування С в середовищі С++ Builder.

Для створення програми я використав такі компоненти середовища розробки програм C++Builder як:

OpenDialog;

SaveDialog;

Edit;

Button;

Мова С підтримує роботу з файлами. Файли в Сі можна відкривати, переглядати, записувати в них якусь інформацію, копіювати, видаляти, вирізати, додавати в них якусь інформацію для цього в мові Сі є спеціальні функції для роботи з файлами які описані в розділі 2.

Для копіювання файлів я написав функцію MoveFiles яка може використовуватися не тільки для видалення файлів, але також ще для переміщення, копіювання та перейменування файлів.

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

Програма копіює не тільки текстові файл ай архіви, музику, програмиі інші файли.

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ М. Эллис, Б. Строуструп. Справочное руководство по языку C++ с комментариями: Пер. с англ. — Москва: Мир, 1992. 445с.

Стенли Б. Липпман. C++ для начинающих: Пер. с англ. 2тт. — Москва: Унитех; Рязань: Гэлион, 1992, 304−345сс.

Бруно Бабэ. Просто и ясно о Borland C++: Пер. с англ. — Москва: БИНОМ, 1994. 400с.

В.В. Подбельский. Язык C++: Учебное пособие. — Москва: Финансы и статистика, 1995. 560с.

Ирэ Пол. Объектно-ориентированное программирование с использованием C++: Пер. с англ. — Киев: НИИПФ ДиаСофт Лтд, 1995. 480с.

Т. Фейсон. Объектно-ориентированное программирование на Borland C++ 4.5: Пер. с англ. — Киев: Диалектика, 1996. 544с.

Т. Сван. Освоение Borland C++ 4.5: Пер. с англ. — Киев: Диалектика, 1996. 544с.

Г. Шилдт. Самоучитель C++: Пер. с англ. — Санкт-Петербург: BHV-Санкт-Петербург, 1998. 620с.

У. Сэвитч. C++ в примерах: Пер. с англ. — Москва: ЭКОМ, 1997. 736с.

К. Джамса. Учимся программировать на языке C++: Пер. с англ. — Москва: Мир, 1997. 320с.

В.А. Скляров. Язык C++ и объектно-ориентированное программирование: Справочное издание. — Минск: Вышэйшая школа, 1997. 480с.

Х. Дейтел, П. Дейтел. Как программировать на C++: Пер. с англ. — Москва: ЗАО «Издательство БИНОМ», 1998. 1024с.

ДОДАТОК A

Лістинг програми

#include

#pragma hdrstop

#include «Unit1.h»

#pragma package (smart_init)

#pragma resource «*.dfm»

TForm1 *Form1;

__fastcall TForm1: TForm1(TComponent* Owner)

: TForm (Owner)

{

}

int MoveFiles (AnsiString slSourceDir, AnsiString slTargetDir, bool toCopy = true)

FOF_SILENT

void __fastcall TForm1: Button1Click (TObject *Sender)

{

MoveFiles (OpenDialog1->FileName, SaveDialog1->FileName, true);

}

void __fastcall TForm1: Button2Click (TObject *Sender)

{

if (OpenDialog1->Execute ())

Edit1->Text = OpenDialog1->FileName;

}

void __fastcall TForm1: Button3Click (TObject *Sender)

{

if (SaveDialog1->Execute ())

Edit2->Text= SaveDialog1->FileName;

}

Показати весь текст
Заповнити форму поточною роботою