Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 12.12.2016, 08:54   #1
ya_yanchik-2909
Форумчанин
 
Регистрация: 15.11.2016
Сообщений: 62
Репутация: 10
По умолчанию распаковка архивов - c#

Здравствуйте!
Пишу программу на c#. Она у меня распознает документы ворд и записывает их в таблицу. Теперь нужно сделать, чтобы она еще распознавала документы ворд, которые находятся в архиве (zip, rar, все возможные форматы), в которых хранятся документы ворд и также их распознавала.

Подключила:
using System.IO.Compression;

Поискала в интернете, там все добавляют ссылки на сборку, у меня нет такого. Как-можно кодом это прописать?! Нарыла вот такой код...

Код:
           private void button8_Click(object sender, EventArgs e)
        {
            Process proc1 = Process.Start("WinRAR.exe", @"e F:\нов \in\*.* F:\нов\участки");
            proc1.WaitForExit();       //  //
            string[] arch = Directory.GetFiles(@"F:\нов");

            for (int i = 0; i < arch.Length; i++)
            {
                string archName = Path.GetFileName(arch[i]);
                Process proc = Process.Start("WinRAR.exe", "e" + @"F:\нов" + archName + @"F:\нов\участки");
                proc.WaitForExit();
                Directory.Move(@"F:\нов\участки", @"F:\нов" + "" + Path.GetFileNameWithoutExtension(arch[i]));
            }
        }
    }
}


                }
            }
        }
- Только не загружает архив, а говори, что не найден....

+ прикреплю кусок кода из программы своей.
Код:
        public void Add(string path)
        {
            Item it = new Item();
            Word.Application MSWord = new Word.Application();
            Word.Document Doc = MSWord.Documents.Open(path);
            string r = Doc.Range(0, 5000).Text;
            string y = "";
            int pos1 = r.IndexOf("2.");
            int pos2 = r.IndexOf("2.1");
... ля ля ля..
Может где указаны документы Word, добавить типа *.zip?

______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.

Последний раз редактировалось Alex11223; 12.12.2016 в 09:27.
ya_yanchik-2909 вне форума   Ответить с цитированием
Старый 12.12.2016, 09:55   #2
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,233
Репутация: 3739

icq: 512-765
skype: alexp.frl
По умолчанию

Цитата:
Сообщение от ya_yanchik-2909 Посмотреть сообщение
там все добавляют ссылки на сборку, у меня нет такого
Нет чего?

using Something это просто импорт неймспейса, чтобы писать SomeClass вместо Something.SomeClass
Цитата:
Сообщение от ya_yanchik-2909 Посмотреть сообщение
прикреплю кусок кода из программы своей
А я котика прикреплю.


Последний раз редактировалось Alex11223; 12.12.2016 в 09:59.
Alex11223 на форуме   Ответить с цитированием
Старый 12.12.2016, 10:33   #3
ya_yanchik-2909
Форумчанин
 
Регистрация: 15.11.2016
Сообщений: 62
Репутация: 10
По умолчанию

Вот это например - Ionic Zip
Подскажите пожалуйста, как это осуществить?!
ya_yanchik-2909 вне форума   Ответить с цитированием
Старый 12.12.2016, 10:35   #4
pu4koff
ПрофессионалФорумчанин
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,493
Репутация: 3616
По умолчанию

Штатными средствами .NET Framework нельзя распаковать rar архивы или 7z какие-нибудь. Так что System.IO.Compression ничем тут не поможет. Качайте распаковщик архивов от winrar или 7-zip, смотрите параметры командной строки и пилите свой поиск. Собственно то, что нарыли в интернетах и есть запуск winrar.exe с параметрами. Алгоритм тут простой: отдельно ищете архивы, распаковываете каждый архив куда-то во временную папку путём запуска winrar.exe с соответствующими параметрами, потом уже в этой папке ищете нужные свои вордовские файлы и обрабатываете их как те, что просто в папке без архива лежат.
__________________
http://coub.com/view/2hhtg

Последний раз редактировалось Alex11223; 12.12.2016 в 10:40.
pu4koff вне форума   Ответить с цитированием
Старый 12.12.2016, 10:45   #5
ya_yanchik-2909
Форумчанин
 
Регистрация: 15.11.2016
Сообщений: 62
Репутация: 10
По умолчанию

Качайте распаковщик архивов от winrar или 7-zip... - это как?!
Программы, которые распаковывают?! Ну так они установлены уже.

Я хотела то, чтобы программа сама при загрузке распаковывала эти документы, находила Вордовские и формировала в табличку. Чтобы можно было загружать и файлы Word и файлы архива. Возможно ли такое?!
ya_yanchik-2909 вне форума   Ответить с цитированием
Старый 12.12.2016, 10:46   #6
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,233
Репутация: 3739

icq: 512-765
skype: alexp.frl
По умолчанию

Цитата:
Сообщение от ya_yanchik-2909 Посмотреть сообщение
Ionic Zip
Подключить эту библиотеку (либо через NuGet, либо просто взять файл dll и подключить в References проекта самому), ну и таскать ее с собой.

Или таскать 7z и вызывать с помощью Process.Start и т.п. его (там есть отдельная программа 7za.exe, нужен только этот .ехе)
Alex11223 на форуме   Ответить с цитированием
Старый 12.12.2016, 11:35   #7
ya_yanchik-2909
Форумчанин
 
Регистрация: 15.11.2016
Сообщений: 62
Репутация: 10
По умолчанию

Скачала файл Ionic.Zip.dll, подключила его как проект - добавить ссылку и там загрузила его.
А что далее?! Мой код прописать? (который выше).
Пишет, что "Архивы не найдены". Хотя там лежит файл WinRAR (.rar).

Сначала -
Миниатюры
Нажмите на изображение для увеличения
Название: 12.jpg
Просмотров: 118
Размер:	94.8 Кб
ID:	85029   Нажмите на изображение для увеличения
Название: 13.jpg
Просмотров: 109
Размер:	116.9 Кб
ID:	85030  

Последний раз редактировалось ya_yanchik-2909; 12.12.2016 в 11:37.
ya_yanchik-2909 вне форума   Ответить с цитированием
Старый 12.12.2016, 12:08   #8
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,233
Репутация: 3739

icq: 512-765
skype: alexp.frl
По умолчанию

Читать его документацию/примеры.

Винрар не причем.
Alex11223 на форуме   Ответить с цитированием
Старый 12.12.2016, 13:49   #9
ya_yanchik-2909
Форумчанин
 
Регистрация: 15.11.2016
Сообщений: 62
Репутация: 10
По умолчанию

Это как?! Пожааалуйста, подскажите хоть что-нибудь =))
ya_yanchik-2909 вне форума   Ответить с цитированием
Старый 12.12.2016, 13:56   #10
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,233
Репутация: 3739

icq: 512-765
skype: alexp.frl
По умолчанию

Сказали ж уже. Либо читать документацию по библиотеке и использовать ее (так, как там написано и показано), либо взять 7-zip или винрар (лучше 7-zip, винрар не бесплатный вообще-то), читать справку по его консольным параметрам и вызывать с помощью Process.Start и т.п.
Alex11223 на форуме   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему тормозит распаковка tar-архивов в Windows? R_G Windows 4 27.01.2016 21:37
Создание распаковщика архивов. crymchanin Общие вопросы C/C++ 1 01.02.2012 13:38
Распаковка архивов Starscream Общие вопросы Delphi 2 25.06.2009 23:26
Использование MPQ архивов Smitt64 Общие вопросы C/C++ 0 27.02.2009 19:18
Восстановители архивов DM_bite Софт 5 08.08.2008 11:13


22:35.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.