Согласно техническому заданию, нам нужно разработать программу для разработки программы, выполняющей разбивку большого файла на куски определенного размера и его обратную сборку.
Данная программа должна запускаться в среде Windows. Программа должна выполняться по следующим действиям: Программа должна выполнять прямое и обратное преобразование, заключавшееся в следующем. Требуется разбить файл на группу файлов определенного размера, не превышающего установленный размер N. А обратное преобразование заключается в восстановлении информации исходного файла из нескольких.
Программисты всегда старались сделать свою жизнь более легкой, изобретая и совершенствуя технологии программирования, и на этом поприще им удалось одержать ряд действительно крупных побед. Попытаемся проследить развитие технологий программирования, чтобы читатель понял, почему авторы взялись за написание книги по языку Delphi фирмы Borland.
Пожалуй, наиболее важной вехой в истории программирования, сравнимой по значимости разве что с изобретением письменности, можно считать переход от машинных кодов (тарабарщины типа 0110110101111...) к понятным простому смертному языкам программирования (типа ALGOL, FORTRAN, PL/1, Pascal), а также к широкому использованию методов структурного программирования. Программы стали модульными, состоящими из подпрограмм. Появились библиотеки готовых подпрограмм, облегчающие многие задачи, но все равно программистам хватало трудностей, особенно при разработке пользовательского интерфейса.
Качественным шагом в развитии методов структурного программирования стало изобретение объектно-ориентированного программирования (языков SmallTalk, C++, Turbo Pascal и др.). Программы стали строиться не из чудовищных по размеру процедур и функций, перерабатывающих громоздкие структуры данных, а из сравнительно простых кирпичиков-объектов, в которых были упрятаны данные и подпрограммы их обработки. Гибкость объектов позволила очень просто приспосабливать их для собственных целей, прилагая для этого минимум усилий.
Программисты обзавелись готовыми библиотеками объектов, но, как и раньше, создание пользовательского интерфейса требовало уйму времени и сил, особенно когда программа должна была работать под управлением популярной операционной системы Windows и иметь графический пользовательский интерфейс.
С изобретением визуального программирования, первой ласточкой которого была среда разработки Visual Basic, создание графического пользовательского интерфейса стало под силу даже новичку. В среде Visual Basic можно было быстро создать приложение для операционной системы Windows, в котором были все присущие графическому пользовательскому интерфейсу элементы: окна, меню, кнопки, поля ввода и т.д. Все эти элементы превратились в строительные блоки программы - компоненты - объекты, имеющие визуальное представление на стадии проектирования и во время работы.
Проектирование пользовательского интерфейса упростилось на порядок, однако, для профессиональных программистов язык Basic оказался явно слабоват. Отсутствие в нем контроля типов данных и механизма их расширения оказалось камнем преткновения на пути создания серьезных программ. Создание нестандартных компонентов в среде Visual Basic было крайне затруднено (для этого приходилось прибегать к другим средствам разработки, в частности, к языку C++). В общем, среда Visual Basic отлично подходила для создания прототипов приложений, но не для разработки коммерческих программных продуктов.
Мечта программистов о среде программирования, в которой бы простота и удобство сочетались с мощью и гибкостью, стала реальностью с появлением среды Delphi. Она обеспечивала визуальное проектирование пользовательского интерфейса, имела развитый объектно-ориентированный язык Object Pascal (позже переименованный в Delphi) и уникальные по своей простоте и мощи средства доступа к базам данных.
Язык Delphi по возможностям значительно превзошел язык Basic и даже в чем-то язык C++, но при этом он оказался весьма надежным и легким в изучении (особенно в сравнении с языком C++).
В результате, среда Delphi позволила программистам легко создавать собственные компоненты и строить из них профессиональные программы. Среда оказалась настолько удачной, что по запросам любителей C++ была позже создана среда C++Builder - клон среды Delphi на основе языка C++ (с расширенным синтаксисом).
Среда Delphi стала, по сути, лучшим средством программирования для операционной системы Windows, но программистов ждало разочарование, если возникало желание перенести программу в другую операционную систему, в частности, в операционную систему Unix.
Для выполнения данной работы был выбран язык программирования Delphi.В качестве наиболее функциональной и удобной среды для разработке приложений под Windows было выбрана среда программирования Microsoft Visual Studio Delphi 2010 года выпуска. Именно эта среда программирования в доступной форме реализует основные функции визуального программирования и удобна при отладке программного кода.
File Splitter – это сервисная программа, которая будет разделять большие файлы на кусочки определенного размера и с помощью этой же программы вы сможете объединить эти кусочки обратно в большой файл. Одно различие между данным файловым сплиттером и другими похожими программами в том, что с помощью File Splitter вы можете выбирать определенную точку – что очень полезно при разделении. Другое различие в том, что вы можете контролировать процесс объединения (когда вы объединяете множество кусочков в один файл) – вместе с функцией автоматического объединения (которая будет в автоматическом режиме объединять файлы, созданные авто-сплиттером) у вас есть другие опции присоединения для определенной ситуации (особенно когда вы хотите объединить кусочки созданные другим сплиттером или если вы хотите лучше контролировать объединение текстовых файлов). Лучший пример и также и лучшее объяснение создания данной сервисной программы – это: у меня была ситуация когда я разделял 70Мб SQL файлы, потому что phpMyAdmin не принимает большие файлы, но в таком случае я не мог разделить длинные файлы в случайном месте – я должен был быть уверен в том что sql команды не будут разделены. В дополнение – стандартный блокнот windows не лучший выбор для больших файлов – в случае с текстовым файлом на 70Мб, он бы просто завис. Так что – я спрограммировал данный File Splitter для моего собственного использования, но потом решил опубликовать для всех пользователей Интернета.