Робота з файлами
Проект фактично являє собою онлайн сховище вільно поширюваного програмного коду. Свої розробки тут можуть розміщувати всі охочі, а доступ до проектів можна отримати всім користувачам з будь-якої точки світу.
- А ви вже додали новина в додаток? Якщо немає то обов'язково зробіть це!
Робота з файлами. Частина 1. Отримуємо HEX-код
Буде дуже багато букв, але весь зайвий балаканина буде огороджений в спеціальні лапки. Якщо ти тут по справі - то просто дивись коди з поясненнями до них :)
____________________ Работа_с_файламі __________________
Власне в двох словах про те, що реалізовувати збираюся. програмка з легким для користувача інтерфейсом, яка Новомосковскет будь завантажується в неї файл бінарному (байти, мати їх), а потім з гордістю шифрує все що прочитала з якого-небудь алгоритму. Алгоритмів спробую зробити кілька (які - це вже в процесі роботи). Ну і відповідно в другому вікні буде зворотний алгоритм, для розшифровки. + Згадаю роботу з файлами в delphi, що вже забувається. Гаразд, в путь.
1) Що знаємо про файли в Delphi? Якраз, у файлів є свої файлові типи. Для бінарної роботи відповідно повинні бути свої. Це тип FILE, тип CHAR. byte. Мабуть на цих поки зупинюся. CHAR - це символьний тип, і не обов'язково розмір його 1 байт. Може і більше. Тип FILE - тип бінарних файлів, якщо зовсім просто (бачить файл як набір байтів). Ну і тип byte - розмірність від 0 до 255. Тепер основні операції з файлами:
Assign (змінна, файл) - прив'язування змінної до файлу.
Reset - відкриття файлу для читання, записи, читання і запису. Залежно від параметрів.
ReWrite - відкриття файлу для запису (only).
____________________ / Работа_с_файламі __________________
Форма для роботи:
2) Для початку потрібно навчитися отримувати HEX-код файлу (мається на увазі .exe файл).
HEX-код це 16-тиричном код файлу (1-9, 10-А, 11-B і т.д до 16-F). Код виводити будемо в RichEdit. Чому не у всіма улюблений memo? Тому що MEMO прогружаются при компіляції як кілька десятків (сотень) тисяч рядків. Так що при завантаженні hex-коду доведеться дуже довго чекати через грузоёмкості самого компонента. Недовго по-експериментуючи знайшли найоптимальніший варіант - RichEdit. Справа в тому що прогружаются даний компонент динамічно, і рядки в нього заносяться вже в процесі роботи.
Зараз розглянемо робочий код, спасибі Mawrat'у c CyberForum, дуже допоміг :)
На цьому першу статтю закінчую. У другій спробуємо зашифрувати hex файлу і розшифрувати, так само розберемо алгоритми (зокрема XOR, RC4).