Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2016, 07:54   #1
ya_yanchik-2909
Пользователь
 
Регистрация: 15.11.2016
Сообщений: 62
По умолчанию распаковка архивов - 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 в 08:27.
ya_yanchik-2909 вне форума Ответить с цитированием
Старый 12.12.2016, 08:55   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

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

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

Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

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

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

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

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

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

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

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

Или таскать 7z и вызывать с помощью Process.Start и т.п. его (там есть отдельная программа 7za.exe, нужен только этот .ехе)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 12.12.2016, 10:35   #7
ya_yanchik-2909
Пользователь
 
Регистрация: 15.11.2016
Сообщений: 62
По умолчанию

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

Сначала -
Изображения
Тип файла: jpg 12.jpg (94.8 Кб, 212 просмотров)
Тип файла: jpg 13.jpg (116.9 Кб, 154 просмотров)

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

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

Винрар не причем.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 12.12.2016, 12:49   #9
ya_yanchik-2909
Пользователь
 
Регистрация: 15.11.2016
Сообщений: 62
По умолчанию

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

Сказали ж уже. Либо читать документацию по библиотеке и использовать ее (так, как там написано и показано), либо взять 7-zip или винрар (лучше 7-zip, винрар не бесплатный вообще-то), читать справку по его консольным параметрам и вызывать с помощью Process.Start и т.п.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему тормозит распаковка tar-архивов в Windows? R_G Windows 4 27.01.2016 20: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 18:18
Восстановители архивов DM_bite Софт 5 08.08.2008 11:13