2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3
 
 Re: Создать программу сравнения файлов.
Сообщение11.06.2015, 04:25 
Аватара пользователя
arseniiv

(Оффтоп)

arseniiv в сообщении #1025962 писал(а):
А потом ещё объясните, как я должен догадаться, что декадировать — это именно декодировать, а не, скажем, декадрировать.

декадрирование jpeg - это ещё что такое ? :mrgreen: :facepalm:

 
 
 
 Re: Создать программу сравнения файлов.
Сообщение11.06.2015, 15:09 
Аватара пользователя
Отвечаю автору темы.
Dmitro12345
Тему изрядно загадили.
0) Вопрос сформирован очень плохо. Всё бывает в первый раз.
Вы выбрали сложную задачу. Так бывает всегда или почти всегда. Это как с плаваньем кинули ... в воду поплыл или не поплыл. Дальше все зависит от вашей одаренности, насколько вы приспособлены к данному миру. Есть и долгий путь через последовательно обучение. Но всему не научишь. Если хотите долгий путь вам надо осваивать ООП и шаблоны проектирования. Если короткий используйте советы.
1) Научиться структурировать свой код и подход к программированию. Одна из важных вех программирования это декомпозиция, или по русски умения разбивать программы и задачи на составные части.
Отделив модель от отображения Вы решаете проблеме с необходимостью осваивания "визуального программирования" либо делать это параллельно или последовательно.
Более того управлять таким проектом легче.
2) Второе вам надо разобраться с "визуальным программированием" или что более точно с методами и ускорения разработки. Сейчас под термином визуальное программирования всё чаще понимаю создание блок схем алгоритмов. Но в данном сообщение речь идёт о создание графического пользовательского интерфейса.
3) Сред программирования много. Поэтому вам нужно выбрать с какой работать.
И в следующий раз сообщайте с какой вы работает. Советую начать с изучения Builder он имеет интуитивно понятный интерфейс. Поэтому для его освоения предлагается потыкать мышкой по кнопочкам и панелям и минюшкам.
Второй вариант QT в отличие от первого он бесплатный, но имеет более сложный интерфейс пользователя. Зато имеет свои плюшки.
4) Модель это структуры данных и алгоритмы для работы с ними.
Если говорить про текст, то вы можете попробовать и сами придумать алгоритм. Или изучить существующий.
Тут уже скромно упоминали про diff алгоритм. Хотя тут их много.
Один и тот же набор данных можно сравнивать по разному. И каждому пользователю нужно разное.
К примеру,
а)можно сравнивать посимвольно:
- сравнение на равенство;
- расстояние Левенштейна.
б)Можно построчно:
- diff алгоритм
в) Можно сравнивать по словам:
- Bag Of Word
г) можно сравнивать по структуре предложений.
- вероятностные методы оценки частей речи
и так далее и тому подобное.

5) Вернёмся к отображению. Честно даже не знаю что вам посоветовать.
Вроде и не сложно, а с другой стороны это совершенно противоположный подход к программированию нежели чем тот который учили вы. Так называемая инверсия управления. Когда не вы вызываете чужой код, а ваш код вызывают.
В Builder есть компонент ListBox у него есть событие OnDrawItems (при рисовании элемента) Вы можете выводить схожие элементы одним цветом различные другим.
Для того что-бы поддерживать большие файлы в ListBox надо задать стиль виртуальный (lbVirtual или lbVirtualOwnerDraw) и обрабатывать событие OnData подставлять нужные данные.

Или использовать RichEdit или RichMemo для вывода текста. С заданием разных стилей текста. А для больших файлов придётся делать уже свой компоненты.

 
 
 
 Re: Создать программу сравнения файлов.
Сообщение12.06.2015, 01:03 
Аватара пользователя
 !  itmanager85, строгое предупреждение за не относящиеся к теме сообщения и раздувание флейма. С учетом уже имеющихся двух месячных банов за аналогичные нарушения - постоянный бан.

 
 
 [ Сообщений: 33 ]  На страницу Пред.  1, 2, 3


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group