Головна форма програми.
Практикуємося у використанні потоків: TFileStream, TBase64EncodingStream, TBase64DecodingStream. Програма кодує файли (бінарні, зокрема - картинки) використовуючи кодування MIME - base64. Отриманий код складається тільки з 64 текстових символів: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 + / і може бути переданий по каналах, пропускає тільки цей алфавіт (наприклад, деякі протоколи, використовувані Інтернетом). Цей код можна використовувати як дані в SQL-запитах і таким чином зберігати бінарні дані (в закодованому текстовому вигляді) в базах даних. Розплата за це - збільшення обсягу даних на 33%.
Залишилися невирішені проблеми (в основному русифікація):- У тексті исходника .pas часто доводиться використовувати функцію AnsiToUtf8 ()
- Чи не понімет російські імена файлів при відкритті (OPenDialog) і перетворює їх в крякозябри (UTF8) (SaveDialog) якщо намагатися записати такий файл. Однак, файли ці відкриваються блокнотом. ++ Виправлено
- Висновок російського тексту з файлу .txt в Memo (при копіюванні): схоже, потрібно його перетворювати ansitoutf8 бо крякозябри ++ Виправлено
- При кодуванні - не можна кодувати один і той же файл двічі поспіль (зайнятий? - не закрите?) ++ Виправлено: додано InStream.Free;
Текст головного модуля (виправлений, а в архіві - (поки) непоправний)
Розпакуйте архів в папку і відкрийте projStreams1.lpi - для роботи з проектом
Проект повинен відкритися (якщо встановлений Лазарус).
Або запустіть projStreams1.exe (якщо зажадає що-небудь, повідомте, будь ласка)