С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 35

Чтение сгенерированного кода в Visual Studio

08.06.2016, 15:27. Показов 1733. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
такая проблема. в одной теме здесь нашел, как преобразовать файл Word в код C#
по статье сделал все, но не понимаю, как вывести определенные поля, чтобы их можно было заполнить?
вот пример: есть в файле строка "Кафедра" и рядом пустая строка, сделанная в шаблоне
как ее теперь заполнить через программу?
что надо сделать?
на какие поля надо ссылаться, чтобы можно было сделать вставку?
файлы прилагаю
и еще после генерации файла он не открывается( выдает ошибку(
Вложения
Тип файла: rar WindowsFormsApplication2.rar (258.7 Кб, 3 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.06.2016, 15:27
Ответы с готовыми решениями:

Не работает отладка кода в Visual Studio pro 2012+qt visual studio add-in 1.2.1
Здравствуйте, скажите пожалуйста в чем проблема, запускаю этот код (F5) в Visual Studio #include <QtWidgets/QApplication> ...

RAD Studio. Как форматирование кода максимально приблизить к Visual Studio?
Доброго времени суток! Прошу ответа на вопрос: как в Embarcadero RAD Studio XE2 (2011) форматирование кода максимально приблизить к Visual...

Выделение цветом синтаксиса при отображении кода в редакторе кода Visual Studio
Для улучшения читабельности кода я использую выделение цветом синтаксиса для методов в редакторе кода Visual Studio при помощи настройки...

26
Эксперт .NET
 Аватар для Usaga
14111 / 9328 / 1349
Регистрация: 21.01.2016
Сообщений: 35,032
09.06.2016, 06:57
WolfProgrammist, в теме, о которой ты говоришь, обсуждалось в том числе и то, как можно заполнять документ данными из контролов. Перечитай ту тему внимательнее.
0
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 35
12.06.2016, 11:14  [ТС]
ну я потихоньку разбираюсь, теперь такой вопрос возник
вот я пытаюсь сохранить сгенерированный файл
я хочу чтобы он не сам создавался, а чтобы было диалоговое окно
как правильно его реализовать?
пытался вот так,
C#
1
2
3
4
5
6
7
8
9
        private void button1_Click(object sender, EventArgs e)
        {
            SaveFileDialog svd = new SaveFileDialog();
            svd.Filter = "Word Files (*.docx)|*.docx";
            if (svd.ShowDialog() == DialogResult.OK)
            {
                new GeneratedCode.GeneratedClass().SaveFile(svd.FileName);
            }
        }
но он ругается на SaveFile, мол не знает его
я просто видел в одной работе как сохраняют в ртф из RichTextBox, а тут немного другое и поэтому я не могу понять. Подскажите, пожауйлста
0
Эксперт .NET
 Аватар для Usaga
14111 / 9328 / 1349
Регистрация: 21.01.2016
Сообщений: 35,032
12.06.2016, 11:39
C#
1
new GeneratedClass().CreatePackage(@"D:\Output.docx");
1
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 35
12.06.2016, 12:14  [ТС]
Usaga, но в таком случае он сохраняет в каталоге диска D, а мне надо чтобы в диалоге куда я нажал "сохранить" туда чтобы и сохранилось

Добавлено через 4 минуты
Usaga, а все, спасибо, строчка помогла, только сделал вот так
C#
1
new GeneratedClass().CreatePackage(@svd.FileName);
и сохраняет теперь туда, куда я хочу и так, как хочу назвать файл

Добавлено через 28 минут
почему у меня не вставляется текст в файл? он пишет что не знает textBox1, хотя я же создал его
это я вставляю в GeneratedClass
C#
1
2
            Text text8 = new Text();
            text8.Text = textBox1.AppendText(textBox1.Text);
или я забыл ссылку на форму? (ведь текст вводится в форме)
0
Эксперт .NET
 Аватар для Usaga
14111 / 9328 / 1349
Регистрация: 21.01.2016
Сообщений: 35,032
12.06.2016, 12:18
textBox1 - поле класса формы. Класс GeneratedCLass не может о нём знать. Тебе нужно текст из контролов передать в GeneratedClass и там уже записать по месту. В прошлой теме мы это обсуждали.
0
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 35
12.06.2016, 12:29  [ТС]
да, я читал, но так и правильно реализовать не получается. пытался вставить в кнопку в это
C#
1
2
            GeneratedClass gen = new GeneratedClass();
            gen.data1 = textBox1.Text;
но он ругается на то, что не знает data1.

в файл GeneratedClass вставил
C#
1
2
3
4
5
6
7
        public string Data
        {
            get
            {
                return textBox1.Text;
            }
        }
а все равно ругается, что не знает textBox1
как правильно сделать?
0
Эксперт .NET
 Аватар для Usaga
14111 / 9328 / 1349
Регистрация: 21.01.2016
Сообщений: 35,032
12.06.2016, 12:33
В GeneratedClass вставь:

C#
1
2
3
...
public string data1 { get; set; }
...
0
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 35
12.06.2016, 12:47  [ТС]
вставил, но все равно он ругается, что не знает textBox1.
0
Эксперт .NET
 Аватар для Usaga
14111 / 9328 / 1349
Регистрация: 21.01.2016
Сообщений: 35,032
12.06.2016, 12:49
Убери из GeneratedClass все упоминания textBox1
0
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 35
12.06.2016, 12:56  [ТС]
дк а как теперь текст то в GeneratedClass из textBox1 взять?
0
Эксперт .NET
 Аватар для Usaga
14111 / 9328 / 1349
Регистрация: 21.01.2016
Сообщений: 35,032
12.06.2016, 13:00
1. В GeneratedClass объявляешь открытое свойство (уже сделали)
2. Где-то в коде формы создаёшь экземпляр класса GeneratedClass и в свойство записываешь данные из контрола:
C#
1
2
            GeneratedClass gen = new GeneratedClass();
            gen.data1 = textBox1.Text;
3. В GeneratedClass, в коде сохранения читаешь свойство и вставляешь текст в нужное место документа.

А вообще, я бы тебе рекомендовал, очень настоятельно, почитать какой-нибудь учебничек по C# так как ты явно не понимаешь что ты делаешь...
0
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 35
12.06.2016, 13:06  [ТС]
дк вот 3-й пункт мне и не понятен, как правильно то сделать эту вставку

P.S.
на учебник сейчас уже нету времени, сроки
0
Эксперт .NET
 Аватар для Usaga
14111 / 9328 / 1349
Регистрация: 21.01.2016
Сообщений: 35,032
12.06.2016, 13:11
Цитата Сообщение от WolfProgrammist Посмотреть сообщение
дк вот 3-й пункт мне и не понятен, как правильно то сделать эту вставку
В GeneratedClass содержится код, который и генерирует DOCX-документ. Изучи этот код и измени нужным тебе образом - вставь текст из свойства в нужном месте. Как это сделать у меня не спрашивай.

Цитата Сообщение от WolfProgrammist Посмотреть сообщение
на учебник сейчас уже нету времени, сроки
Ну а кто тебе виноват?
0
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 35
12.06.2016, 14:27  [ТС]
спасибо моему хорошему знакомому, который решил проблему
в общем, в файле с формой, где кнопка сохранения надо сделать вот так
C#
1
2
3
4
5
6
7
8
9
            GeneratedClass gen = new GeneratedClass();
            gen.data1 = textBox1.Text;
            SaveFileDialog svd = new SaveFileDialog();
            svd.Filter = "Word Files (*.docx)|*.docx";
            if (svd.ShowDialog() == DialogResult.OK)
            {
                gen.CreatePackage(@svd.FileName); 
                
            }
а в файле GeneratedClass, на месте, где необходимо вставить текст нужно сделать вот так
C#
1
2
            Text text8 = new Text();
            text8.Text = data1;
и вуаля, при сохранении файла текст вставляется где необходимо

вопрос есть еще один
с файлами xls (Excel) можно ли сделать те же операции?
0
Эксперт .NET
 Аватар для Usaga
14111 / 9328 / 1349
Регистрация: 21.01.2016
Сообщений: 35,032
12.06.2016, 14:53
Цитата Сообщение от WolfProgrammist Посмотреть сообщение
с файлами xls (Excel) можно ли сделать те же операции?
Как-то не было необходимости, так, что не скажу. Посмотри в утилите (Productivity Tool), может можно.

Добавлено через 1 минуту
Но, если утилита такое сделать не позволит, то используя сам OpenXML SDK сделать будет не трудно.
0
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 35
12.06.2016, 15:09  [ТС]
Usaga, проверил, и увидел, что работа идет так же с более новой версией офиса, то есть расширение xlsx он понимает и код генерирует.
0
Эксперт .NET
 Аватар для Usaga
14111 / 9328 / 1349
Регистрация: 21.01.2016
Сообщений: 35,032
12.06.2016, 15:09
Ну, тогда всё зашибись
0
0 / 0 / 0
Регистрация: 05.06.2016
Сообщений: 35
22.06.2016, 16:24  [ТС]
подскажите, пожалуйста такой момент
как сделать чтобы при сохранении файла, если файл открыт, то выдавало бы ошибку и не сохраняло?
0
Эксперт .NET
 Аватар для Usaga
14111 / 9328 / 1349
Регистрация: 21.01.2016
Сообщений: 35,032
22.06.2016, 17:30
WolfProgrammist, ну, по идее, если файл уже открыт, то записать в него и так нельзя - получишь исключение...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.06.2016, 17:30
Помогаю со студенческими работами здесь

Формат кода в visual studio
Как в visual studio 2013 настроить форматирование кода? Он подводит под свой стиль, в котором я писать не привык Вместо if(){ ...

Ошибки сгенерированного кода
Всем здрасти! Решил сделать свой первый шаг в интерфейсо-строении и столкнулся со следующей проблемой: Создаю новый пустой проект...

Установка C++ Redistributable Visual Studio 2017 и Visual C++ для Visual Studio 2015
Доброго дня. Пытаюсь изучить PHP. Решил установить сервер локальный. В инструкции сказано: "Ещё нам нужен файл C++...

Visual Studio - Настройка переноса кода
В настройках вижуалки не могу найти функцию, которая переносит код если он достиг края видимой части экрана.

Форматирование кода в Visual Studio 2012
Подскажите, пожалуйста, как форматировать текст кода в студии (горячие клавиши), как например в QtCreator(I+Ctrl).


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru