Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сравнить содержимое двух файлов .doc 
:(
    Опции темы
nvrrus
Дата 28.10.2011, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 25.2.2011

Репутация: нет
Всего: нет



Здравствуйте, уважаемые форумчане!

Подскажите, пожалуйста, как сравнить два файла .doc.

1) вариант - вытащить все содержимое и сравнить. Следовательно вопрос - как вытащить все содержимое из doc файла побайтово?

2) может есть еще какие-то способы решения этой задачи?


Это нужно для тестирования файловой системы. Есть много файлов (doc, xls), которые нужно будет скопировать на диск, открыть, изменить, сохранить, прочитать, провреить, что все корректно.
PM MAIL   Вверх
boostcoder
Дата 28.10.2011, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



генерь хеш сумму для файлов. ее и сравнивай.

PM WWW   Вверх
nvrrus
Дата 28.10.2011, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 25.2.2011

Репутация: нет
Всего: нет



Спасибо, большое, уважаемый, boostcoder. А может у вас есть пример, как генерить хеш сумму файла? 
PM MAIL   Вверх
boostcoder
Дата 28.10.2011, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



какую конкретно хеш-сумму?
PM WWW   Вверх
nvrrus
Дата 28.10.2011, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 25.2.2011

Репутация: нет
Всего: нет



Я не разбираюсь в хеш суммах. 

Мне нужна такая, которая позволит сказать, одинаковое содержимое файлов или нет.

Как такую посчитать?
PM MAIL   Вверх
boostcoder
Дата 28.10.2011, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



прочти для начала это: http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%...%BC%D0%BC%D0%B0
возможно сможешь определиться с тем, что же тебе нужно.
PM WWW   Вверх
tzirechnoy
Дата 28.10.2011, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 2
Всего: 16



А зачем Вам для это C или C++?
PM MAIL   Вверх
volatile
Дата 29.10.2011, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



Вордовские файлы могут быть одинаковы по содержимому, но разные по хеш суммам.
Например если в ворде открыть файл, и 2 раза сохранить в разные файлы, причем сохранить подряд, т.е. ничего не меняя.
То файлы будут разные. там много полей, в том числе дата, время редактирования, и т.д. и т.п.

PM MAIL   Вверх
Lols
Дата 29.10.2011, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 21.10.2011

Репутация: нет
Всего: нет



А как делать так, чтобы отследить именно одинаковое содержание?
PM MAIL   Вверх
math64
Дата 29.10.2011, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 8
Всего: 72



Через ActiveX открыть в Ворде оба файла, получить текст и сравнить.
Если Ворда нет (в том числе в Линуксе), использовать API для анализа .doc файлов.
PM   Вверх
nvrrus
Дата 30.10.2011, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 25.2.2011

Репутация: нет
Всего: нет



Спасибо volatile, за прояснение ситуации.

Спасибо math64, за совет.

Как писать в ворд разобрался, делаю так:
Код

    QAxObject* word= new QAxObject("Word.Application", this);
    word->dynamicCall("SetVisible(bool)", true);
    QString TempPath = "U://test1.doc";
    QAxObject* docs = word->querySubObject( "Documents" );
    QVariant filename(TempPath);
    QVariant confirmconversions(false);
    QVariant readonly(false);
    QVariant addtorecentfiles(false);
    QVariant passworddocument("");
    QVariant passwordtemplate("");
    QVariant revert(false);
    QAxObject* doc = docs->querySubObject("Open(const QVariant&,const QVariant&,const QVariant&,const QVariant&,const QVariant,const QVariant, const QVariant&)", filename,confirmconversions,readonly,addtorecentfiles,passworddocument,passwordtemplate,revert);

    QAxObject* Range = doc->querySubObject("Range()");
    Range->querySubObject("InsertBefore(Text)","текст");
   

    
А как прочитать все содержимое вордовского файла (где взять документацию по работе с вордом через ActiveX)? 

PM MAIL   Вверх
xvr
Дата 31.10.2011, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Цитата(nvrrus @  30.10.2011,  18:03 Найти цитируемый пост)
А как прочитать все содержимое вордовского файла (где взять документацию по работе с вордом через ActiveX)?

В самом Word'е. Запускаете Word, далее Tools->Macro->Visual Basic Editor (это для Оффисов до 2007, после 2007 тоже где то должно быть). Ну и VBA должен быть в Word'е установлен. Далее нажимаете F1 и там выбираете Microsoft Word Visual Basic Reference и/или Microsoft Office Visual Basic Reference
Получаете полный список всех AX объектов, с зависимостями, и всем всем. (Оно будет в синтаксисе VBA, но и в С++ объекты и методы будут теми же самыми)

http://msdn.microsoft.com/en-us/library/bb...office.11).aspx
http://msdn.microsoft.com/en-us/library/aa432027.aspx


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0584 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.