itmanager85 |
Re: Создать программу сравнения файлов. 11.06.2015, 04:25 |
|
27/12/12 ∞ 689
|
arseniiv(Оффтоп)
А потом ещё объясните, как я должен догадаться, что декадировать — это именно декодировать, а не, скажем, декадрировать. декадрирование jpeg - это ещё что такое ?
|
|
|
|
|
Pavia |
Re: Создать программу сравнения файлов. 11.06.2015, 15:09 |
|
31/10/08 1244
|
Последний раз редактировалось Pavia 11.06.2015, 15:11, всего редактировалось 1 раз.
Отвечаю автору темы. Dmitro12345 Тему изрядно загадили. 0) Вопрос сформирован очень плохо. Всё бывает в первый раз. Вы выбрали сложную задачу. Так бывает всегда или почти всегда. Это как с плаваньем кинули ... в воду поплыл или не поплыл. Дальше все зависит от вашей одаренности, насколько вы приспособлены к данному миру. Есть и долгий путь через последовательно обучение. Но всему не научишь. Если хотите долгий путь вам надо осваивать ООП и шаблоны проектирования. Если короткий используйте советы. 1) Научиться структурировать свой код и подход к программированию. Одна из важных вех программирования это декомпозиция, или по русски умения разбивать программы и задачи на составные части. Отделив модель от отображения Вы решаете проблеме с необходимостью осваивания "визуального программирования" либо делать это параллельно или последовательно. Более того управлять таким проектом легче. 2) Второе вам надо разобраться с "визуальным программированием" или что более точно с методами и ускорения разработки. Сейчас под термином визуальное программирования всё чаще понимаю создание блок схем алгоритмов. Но в данном сообщение речь идёт о создание графического пользовательского интерфейса. 3) Сред программирования много. Поэтому вам нужно выбрать с какой работать. И в следующий раз сообщайте с какой вы работает. Советую начать с изучения Builder он имеет интуитивно понятный интерфейс. Поэтому для его освоения предлагается потыкать мышкой по кнопочкам и панелям и минюшкам. Второй вариант QT в отличие от первого он бесплатный, но имеет более сложный интерфейс пользователя. Зато имеет свои плюшки. 4) Модель это структуры данных и алгоритмы для работы с ними. Если говорить про текст, то вы можете попробовать и сами придумать алгоритм. Или изучить существующий. Тут уже скромно упоминали про diff алгоритм. Хотя тут их много. Один и тот же набор данных можно сравнивать по разному. И каждому пользователю нужно разное. К примеру, а)можно сравнивать посимвольно: - сравнение на равенство; - расстояние Левенштейна. б)Можно построчно: - diff алгоритм в) Можно сравнивать по словам: - Bag Of Word г) можно сравнивать по структуре предложений. - вероятностные методы оценки частей речи и так далее и тому подобное.
5) Вернёмся к отображению. Честно даже не знаю что вам посоветовать. Вроде и не сложно, а с другой стороны это совершенно противоположный подход к программированию нежели чем тот который учили вы. Так называемая инверсия управления. Когда не вы вызываете чужой код, а ваш код вызывают. В Builder есть компонент ListBox у него есть событие OnDrawItems (при рисовании элемента) Вы можете выводить схожие элементы одним цветом различные другим. Для того что-бы поддерживать большие файлы в ListBox надо задать стиль виртуальный (lbVirtual или lbVirtualOwnerDraw) и обрабатывать событие OnData подставлять нужные данные.
Или использовать RichEdit или RichMemo для вывода текста. С заданием разных стилей текста. А для больших файлов придётся делать уже свой компоненты.
|
|
|
|
|
Toucan |
Re: Создать программу сравнения файлов. 12.06.2015, 01:03 |
|
Админ форума |
|
19/03/10 8952
|
! |
itmanager85, строгое предупреждение за не относящиеся к теме сообщения и раздувание флейма. С учетом уже имеющихся двух месячных банов за аналогичные нарушения - постоянный бан. |
|
|
|
|
|
Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы