Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
 Аватар для Vladislav717
7 / 7 / 3
Регистрация: 03.12.2015
Сообщений: 113

Чтение текстовых файлов из SFX

26.12.2015, 15:40. Показов 3086. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток уважаемые господа. Собственно возникла очень большая потребность в том чтобы читать текстовые файлы с SFX которые лежат в нем. Либо если такой вариант не реализуем, тогда извлечь в %temp% SFX полностью, скажем в подпапку "test" и уже потом оттуда читать файлы. Но собственно вопрос, как это сделать? Либо напрямую читать, либо распаковать. Помогите пожалуйста. Либо носом ткните в готовую библиотеку, желательно с документаций. Интересует именно SFX тип! Спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.12.2015, 15:40
Ответы с готовыми решениями:

Чтение и запись текстовых файлов
Дан текстовый файл (in.txt) содержащий список учащихся и их оценки по трем предметам: математике, физике, информатике. Формат...

Чтение и обработка текстовых файлов
Имеется текстовый файл, содержащий строки, первые символы которых обозначают различные типы данных (они обозначаются типа РА, СА и т.д.),...

Чтение из всех текстовых файлов в каталоге
Обьясните и лучше с кодом след задачу: Есть папка, в которой целая куча txt файликов. Как мне считать инфу со всех файликов и записать...

30
 Аватар для Vladislav717
7 / 7 / 3
Регистрация: 03.12.2015
Сообщений: 113
27.12.2015, 22:27  [ТС]
Студворк — интернет-сервис помощи студентам
Woldemar89, OwenGlendower, господа все получилось! Все распаковал!!! Урааа! Подключил библиотеку "SevenZipSharp" - после чего написал вот такой код!
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using SevenZip;
using System;
using System.IO;
using System.Windows.Forms;
 
namespace DevelNextDecompiler
{
    public partial class Form1 : Form
    {
        
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                SevenZip.SevenZipExtractor.SetLibraryPath(@"C:\Users\Proci\Desktop\decompile\7z64.dll");
                SevenZipExtractor se = new SevenZipExtractor(openFileDialog1.FileName);
                se.BeginExtractArchive(Path.GetTempPath()+"\\DND\");
                se.ExtractionFinished += new EventHandler<EventArgs>(se_ExtractionFinished);
            }
        }
        void se_ExtractionFinished(object sender, EventArgs e)
        {
            MessageBox.Show("Готово!");
        }
    }
}
Осталось 2 последних вопроса!

1. Как мне сделать прогресс бар который отображал бы ход выполнения распаковки?
2. Как указать библиотеке что распаковывать следует не весь архив, а только одну папку которая в нем храниться?

Спасибо всем!
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
27.12.2015, 22:41
Цитата Сообщение от Vladislav717 Посмотреть сообщение
может вы разберетесь?!
Вроде все более-менее просто.
C#
1
2
3
4
using SevenZip;
//....    
SevenZip.SevenZipExtractor sze = new SevenZipExtractor(@"test.exe");
//дальше по методам - ExtractFiles, BeginExtractArchive итд
Вот только эта либа требует установленного 7-Zip, а конкретно дллку в директории какую то.
Он у меня не установлен, а устанавливать лень, поэтому попробуй сам покопать, не должно сверх сложно быть,
если 7-Zip умеет работать с SFX ZIP, коим и является test.exe в данном случае.

Добавлено через 2 минуты
Ну вот, отлично, можешь же, когда захочешь.
Цитата Сообщение от Vladislav717 Посмотреть сообщение
Как мне сделать прогресс бар
Там в методах, вроде, какие то коллбеки можно установить или на события подписаться. Попробуй подписаться на sze.Extracting.
Цитата Сообщение от Vladislav717 Посмотреть сообщение
Как указать библиотеке что распаковывать следует не весь архив
Метод ExtractFiles какой то коллбек принимает, возможно в нем фильтрануть можно.
0
 Аватар для Vladislav717
7 / 7 / 3
Регистрация: 03.12.2015
Сообщений: 113
27.12.2015, 22:43  [ТС]
Woldemar89, я оказывается уже опередил тебя. Что делать насчет тех 2-х вопросов?
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
27.12.2015, 22:45
Цитата Сообщение от Vladislav717 Посмотреть сообщение
Что делать насчет тех 2-х вопросов?
Почему ты так уверен, что я эту либу знаю, как свои пять пальцев ?
Первый раз ее вижу
0
 Аватар для Vladislav717
7 / 7 / 3
Регистрация: 03.12.2015
Сообщений: 113
27.12.2015, 22:47  [ТС]
Написал что-то вроде такого
C#
1
se.Extracting += new EventHandler<ProgressEventArgs>(progress);
и соответственно создал метод. Но вот что в этом самом методе писать, ума не приложу
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
27.12.2015, 22:54
Цитата Сообщение от Vladislav717 Посмотреть сообщение
Но вот что в этом самом методе писать, ума не приложу
ProgressEventArgs что в себе содержат глянь.

Добавлено через 1 минуту
C#
1
2
3
4
        void progress(object sender, ProgressEventArgs e)
        {
            e. //че тут есть?
        }
Добавлено через 2 минуты
e.PercentDone наверно? Не торопись задавать вопросы, там на поверхности ответы лежат практически.
0
 Аватар для Vladislav717
7 / 7 / 3
Регистрация: 03.12.2015
Сообщений: 113
27.12.2015, 22:56  [ТС]
Woldemar89, не знаю как
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
27.12.2015, 22:58
Цитата Сообщение от Vladislav717 Посмотреть сообщение
не знаю как
Точку после е поставь

Так попробуй.
C#
1
2
3
4
5
6
        se.Extracting += new EventHandler<ProgressEventArgs>(progress);
 
        void progress(object sender, ProgressEventArgs e)
        {
            this.Text = e.PercentDone.ToString();
        }
0
 Аватар для Vladislav717
7 / 7 / 3
Регистрация: 03.12.2015
Сообщений: 113
27.12.2015, 23:01  [ТС]
Woldemar89, насчет не знаю это я не о том.
Все верно работает как ты уже и говорил! Написал вот так
C#
1
progressBar1.Value = e.PercentDone;
Но вопрос в том как задать прогресс бару максимальное значение, откуда его брать и как правильно это сделать?
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
27.12.2015, 23:03
Цитата Сообщение от Vladislav717 Посмотреть сообщение
Но вопрос в том как задать прогресс бару максимальное значение
В смысле? В процентах макс значение 100 вообще-то, в большинстве случаев.
0
 Аватар для Vladislav717
7 / 7 / 3
Регистрация: 03.12.2015
Сообщений: 113
27.12.2015, 23:06  [ТС]
Woldemar89, я лоханулся - я думал оно возвращает не проценты, а номер файла который оно распаковало ну как бы автоинкремент. А оказывается оно проценты возвращает. Спасибо по этому вопросов больше нет! Остался 1 вопрос.

Нужно распаковать 1 папку из архива, а не весь архив. Гораздо быстрее и гораздо удобнее!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.12.2015, 23:06

Чтение из текстовых файлов
я новичок в C# вопрос такой. Есть идея создать программу. в общем то несложную) Но с C# работать не приходилось. Так, я создал форму,...

Запись-чтение текстовых файлов
В связи с неожиданным переходом с C# на Java появилось много тьмы. А именно мистическое разнообразие способов записи/чтения текстовых...

Чтение только текстовых файлов
Эта программа считывает любые файлы, а я хочу чтобы она считывала только текстовые файлы. Подскажите, пожалуйста, как это сделать. ...

Чтение и запись текстовых файлов
Строки исходного файла записать в новый файл, добавив знак &quot;?&quot; после первого слова строки.

Чтение данных из текстовых файлов
Есть текстовый файл со строками данных, вопрос: каким образом можно записать эти данные например в TextBox с переносом каждой записи на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru