0 / 0 / 0
Регистрация: 02.03.2013
Сообщений: 36
1

Редактор для изменения текстовых файлов

09.03.2013, 15:10. Показов 5356. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть форма с 6 textBox
есть 3 файла такого строения(вложение)
нужен редактор для изменения их
что бы в текстовое поле вводилось
сам вопрос -1 поле
1 вариант ответа - 2 поле
2 вариант ответа - 3 поле
3 вариант ответа - 4 поле
4 вариант ответа - 5 поле
правильный ответ -6 поле
по нажатию на кнопку первый вопрос и варианты ответа,вместе с правильным записались,затем происходит очищение полей и так записывается второй вопрос и его варианты ответа и правильный и так до 10
затем после когда все 10 вопросов запишутся переходит на 2 файл,а потом и на третий (цикл короче)
нужно что б ещё были 3 кнопки дополнительно (Уровень 1,Уровень 2 и Уровень 3) при нажатии на них можно было бы отдельно исправлять каждый файл
Вложения
Тип файла: txt Уровень2.txt (539 байт, 20 просмотров)
0
09.03.2013, 15:10
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.03.2013, 15:10
Ответы с готовыми решениями:

создать редактор текстовых файлов с возможностью сохранения текста
создать редактор текстовых файлов с возможностью сохранения текста в формате HTML. Создать следующую систему меню: -файл -загрузить...

Текстовой редактор: как привязать trackBar к richTextBox для изменения параметров страницы
Как привязать элемент trackBar к richTextBox? Чтобы было возможно изменять параметры страницы. И как добавлять(вставлять) таблицу и...

Программа для поиска повторяющихся текстовых файлов
Всем привет!У меня возникла такая проблема. Мне нужно написать программу в Visual studio 2008, которая выполняет поиск дублирующихся файлов...

10
Эксперт .NET
 Аватар для Casper-SC
4432 / 2092 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
10.03.2013, 03:08 2
Это ты так программу пишешь? Какие конкретно возникают проблемы? Что именно не получается?
1
0 / 0 / 0
Регистрация: 02.03.2013
Сообщений: 36
10.03.2013, 14:58  [ТС] 3
Проблема в том,что раньше строение файла было 1 txt файл,один вопрос,а сейчас 1 txt файл 10 вопросов,я и писал под 1 файл ,один вопрос
тут можно сказать даже не записываение,а перезаписывание
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
 private void button1_Click(object sender, EventArgs e)
        {
            string a = textBox1.Text;
            string b1 = textBox2.Text;
            string b2 = textBox3.Text;
            string b3 = textBox4.Text;
            string b4 = textBox5.Text;
            string b5 = textBox6.Text;
             //Создаём файл
            StreamWriter NewFile = File.CreateText(@"C:\Documents and Settings\User\Рабочий стол\Конференция\Test\Test\bin\Debug\Test\Вопрос_3.txt");
        //Записываем в него строки
            NewFile.WriteLine(a);
           NewFile.WriteLine(b1);
           NewFile.WriteLine(b2);
           NewFile.WriteLine(b3);
           NewFile.WriteLine(b4);
           NewFile.WriteLine(b5);
            NewFile.Close();
 
        //Открываем файл для текстового чтения
            StreamReader ReadFile = File.OpenText(@"C:\Documents and Settings\User\Рабочий стол\Конференция\Test\Test\bin\Debug\Test\Вопрос_3.txt");
            string Input = null;
        //Читаем из файла информацию
           // while ((Input = ReadFile.ReadLine()) != null) {
              //  Console.WriteLine(Input);
           // }
 
           // Console.ReadLine();   //Ожидаем нажатие Any key
а теперь мне нужно чтобы после записи 1 вопроса,перешло на следующие 6 строк файла и записался следующий вопрос
0
Эксперт .NET
 Аватар для Casper-SC
4432 / 2092 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
10.03.2013, 16:48 4
А тебе принципиально нужен именно текстовый файл?

Добавлено через 12 минут
И вообще тупо писать вопросы в текстовый файл это полная чушь. Как ты их будешь редактировать, перемещать очерёдность показа вопросов и прочее? Надо создать классы опредёлнные и с ними работать.
1
Эксперт .NET
 Аватар для Casper-SC
4432 / 2092 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
10.03.2013, 17:22 5
Короче убил я времени прилично и дальше убивать его не охота, сам напишешь сохранение с выбором имени файла, окно с выбором теста, который надо открыть и прочие мелочи. Сама суть я думаю ясна из проекта будет.
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using TestingFramework;
 
namespace WinForms_Test
{
    public partial class MainForm : Form
    {
        //просто жёсткий путь к файлу, чтобы быстренько затестить всё ли работает
        private string _testFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "test.qwst");
        private Test _test;
 
        public MainForm()
        {
            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;
            _test = new Test();
            questionBindingSource.DataSource = _test.Questions;
        }
 
        private void NextQuestionBtn_Click(object sender, EventArgs e)
        {
            AddQuestion();
            ClearQuestion();
            questionTextBox.Focus();
        }
 
        private void OpenToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (File.Exists(_testFile))
            {
                DataInteraction di = new DataInteraction();
                _test = di.LoadTest(_testFile);
                questionBindingSource.Clear();
                foreach (var question in _test.Questions)
                {
                    questionBindingSource.Add(question);
                }
            }
        }
 
        private void SaveToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DataInteraction di = new DataInteraction();
            di.SaveTest(_test, _testFile);
        }
 
        private void ExitToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
 
        private void AddQuestion()
        {
            Answer[] answers =
                {
                    new Answer(answer1TextBox.Text, 0u, false),
                    new Answer(answer2TextBox.Text, 0u, false),
                    new Answer(answer3TextBox.Text, 0u, false),
                    new Answer(answer4TextBox.Text, 0u, false),
                    new Answer(answer5TextBox.Text, 1u, true)
                };
            Question question = new Question(questionTextBox.Text, answers);
            questionBindingSource.Add(question);
        }
 
        private void ClearQuestion()
        {
            foreach (var control in Controls)
            {
                if (control is TextBox)
                {
                    (control as TextBox).Text = string.Empty;
                }
            }
        }
    }
}
И забудь ты про свой текстовый файл или просто напиши сохранение тестов в текстовый формат. А тупо копировать слова из текстбоксов в файл и обратно это бред полный. Короче, в проекте все нужные классы есть. Я вроде тебе уже скидывал проект, вот в этом я так же использую TestingFramework.dll, которую когда-то написал. Просто не охота в сотый раз писать с нуля примерно одно и тоже.
Вложения
Тип файла: zip WinForms_Test.zip (59.8 Кб, 42 просмотров)
1
0 / 0 / 0
Регистрация: 02.03.2013
Сообщений: 36
10.03.2013, 18:10  [ТС] 6
у меня просто есть сам тест,слишком много переделывать под этот редактор
+мне еще надо будет делать 50/50 добавляет при ошибке ещё доп вопрос,при структуре которая сейчас более менее понятно как это сделать,а так слишком сложновато будет
Вложения
Тип файла: rar testmillioner.rar (58.5 Кб, 26 просмотров)
0
0 / 0 / 0
Регистрация: 02.03.2013
Сообщений: 36
11.03.2013, 01:11  [ТС] 7
так что думаю лучше с txt

Добавлено через 6 часов 58 минут
Casper-SC, лучше с txt все таки
0
Эксперт .NET
 Аватар для Casper-SC
4432 / 2092 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
11.03.2013, 18:03 8
Ты вообще сам пробовал, что-то из этого написать?
1
0 / 0 / 0
Регистрация: 02.03.2013
Сообщений: 36
11.03.2013, 18:47  [ТС] 9
конечно)
0
Эксперт .NET
 Аватар для Casper-SC
4432 / 2092 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
12.03.2013, 11:47 10
Ну так покажи хоть код, как ты пытаешься считывать вопросы с ответами с файла. Я тебе ещё раз говорю, читать с файла сразу в текстбоксы по одному вопросу - бред. Создай классы с нужными свойствами, потом создай коллекцию и наполняй её считывая с файла вопросы с ответами. И потом уже работай с этой коллекцией, а не с файлом. А так как ты хочешь это просто не правильно и излишне неудобно/сложно. Если я тебя вообще правильно понял.

Добавлено через 2 минуты
Цитата Сообщение от linkoln_7 Посмотреть сообщение
у меня просто есть сам тест,слишком много переделывать под этот редактор
Да там несколько строк кода, чтобы с твоего готового текстового файла перегнать вопросы сначала в объекты (тех классов, что в моём проекте), а потом сохранить в новый формат. Из того, что я видел у тебя в выложеном проекте, я с нуля больше написал, а ты говоришь, что слишком много переделывать.

Добавлено через 12 часов 31 минуту
Цитата Сообщение от linkoln_7 Посмотреть сообщение
Casper-SC, лучше с txt все таки
Держи:
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
using System;
using System.IO;
using TestingFramework;
 
namespace WinForms_Test
{
    public class TxtDataInteraction : IDataInteraction
    {
        public Test LoadTest(string fileName)
        {
            using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.Read))
            {
                return LoadTest(fs);
            }
        }
 
        public Test LoadTest(Stream stream)
        {
            Test test = new Test();
            using (TextReader txtReader = new StreamReader(stream))
            {
                test.Description.Title = txtReader.ReadLine(); //string
                test.Description.AdditionalInformation = txtReader.ReadLine(); //string
 
                int quantityQuestions = Convert.ToInt32(txtReader.ReadLine()); //int - кол-во вопросов
                for (int i = 0; i < quantityQuestions; i++)
                {
                    Question question = new Question();
                    question.Text = txtReader.ReadLine(); //string
 
                    int quantityAnswers = Convert.ToInt32(txtReader.ReadLine()); //int - кол-во ответов
                    for (int a = 0; a < quantityAnswers; a++)
                    {
                        Answer answer = new Answer();
                        answer.IsCorrect = Convert.ToBoolean(txtReader.ReadLine()); //bool
                        answer.Marks = Convert.ToUInt32(txtReader.ReadLine());      //uint
                        answer.Text = txtReader.ReadLine();                         //string
                        question.Answers.Add(answer);
                    }
 
                    test.Questions.Add(question);
                }
            }
            return test;
        }
 
        public void SaveTest(Test test, string fileName)
        {
            using (FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.None))
            {
                SaveTest(test, fs);
            }
        }
 
        public void SaveTest(Test test, Stream stream)
        {
            using(TextWriter txtWriter = new StreamWriter(stream))
            {
                txtWriter.WriteLine(test.Description.Title); //string
                txtWriter.WriteLine(test.Description.AdditionalInformation); //string
 
                txtWriter.WriteLine(test.Questions.Count); //int - кол-во вопросов
                for (int i = 0; i < test.Questions.Count; i++)
                {
                    txtWriter.WriteLine(test.Questions[i].Text); //string
 
                    txtWriter.WriteLine(test.Questions[i].Answers.Count); //int - кол-во ответов
                    for (int a = 0; a < test.Questions[i].Answers.Count; a++)
                    {
                        txtWriter.WriteLine(test.Questions[i].Answers[a].IsCorrect); //bool
                        txtWriter.WriteLine(test.Questions[i].Answers[a].Marks);     //uint
                        txtWriter.WriteLine(test.Questions[i].Answers[a].Text);      //string
                    }
                }
            }
        }
    }
}
Добавлено через 1 минуту
Вот такой формат получится:
Тестовый тест
Дополнительная информация должна быть здесь
3
Чему равен 1 байт?
4
False
0
10 бит
False
0
10 Кбайт
False
0
1 бот
True
1
8 бит
23 февраля это какой праздник?
4
False
0
День программиста
False
0
Масленница
False
0
Новый год
True
1
День защитника отечества
1 января это какой праздник?
4
False
0
Это не праздник
False
0
День защитника отечества
False
0
День знаний
True
1
Новый год
Добавлено через 2 часа 31 минуту
Вот тебе код для создания такого теста, чтобы было яснее:
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
        private static void CreateTestFile()
        {
            Test test = new Test();
            test.Description.Title = "Тестовый тест :)";
            test.Description.AdditionalInformation = "Дополнительная информация должна быть здесь";
 
            Question q1 = new Question("Чему равен 1 байт?");
            q1.Answers.Add(new Answer("10 бит", 0u, false));
            q1.Answers.Add(new Answer("10 Кбайт", 0u, false));
            q1.Answers.Add(new Answer("1 бот", 0u, false));
            q1.Answers.Add(new Answer("8 бит", 1u, true));
 
            Question q2 = new Question("23 февраля это какой праздник?");
            q2.Answers.Add(new Answer("День программиста", 0u, false));
            q2.Answers.Add(new Answer("Масленница", 0u, false));
            q2.Answers.Add(new Answer("Новый год", 0u, false));
            q2.Answers.Add(new Answer("День защитника отечества", 1u, true));
 
            Question q3 = new Question("1 января это какой праздник?");
            q3.Answers.Add(new Answer("Это не праздник", 0u, false));
            q3.Answers.Add(new Answer("День защитника отечества", 0u, false));
            q3.Answers.Add(new Answer("День знаний", 0u, false));
            q3.Answers.Add(new Answer("Новый год", 1u, true));
 
            test.Questions.Add(q1);
            test.Questions.Add(q2);
            test.Questions.Add(q3);
 
            IDataInteraction di = new TxtDataInteraction();
            di.SaveTest(test, Global.TestFile); //Global.TestFile путь к файлу, укажи любой свой
        }
1
0 / 0 / 0
Регистрация: 02.03.2013
Сообщений: 36
12.03.2013, 15:01  [ТС] 11
спасибо,я сделал уже,правда иначе немножко,все весьма не плохо работает)
Спасибо)
0
12.03.2013, 15:01
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.03.2013, 15:01
Помогаю со студенческими работами здесь

Пример кода для создания и редактирования текстовых файлов
Нигде нужную тему не нашел, поэтому обращаюсь. Нужен пример кода для создания и редактирования текстовых файлов. Было бы хорошо, если к...

Обработка текстовых файлов
помогите пожалуйста!!! есть программа: Дан исходный текстовый файл: Муз.Произведения в котором: -Название -Автор -Год -Стиль ...

Обработка текстовых файлов
Здравствуйте, у меня следующий вопрос по обработке текстовой информации есть текстовый файл следующего вида. и есть другой файл...

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

Открытие текстовых файлов на кириллице...
Дамы и господа! Следуя кипричеобразному учебнику по C# &quot;Пять счастливых лиц&quot; (Морган, Ивьен и т.д.), попытался пооткрывать...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Что означает знак восклицания в TypeScript
hw_wired 14.02.2025
TypeScript - удивительный язык программирования, который предоставляет множество возможностей для работы с типами данных. Особый интерес вызывает оператор утверждения ненулевого значения, который. . .
Как свернуть/скрыть секции кода в Visual Studio Code
hw_wired 14.02.2025
Ежедневно мы работам с файлами, содержащими сотни и тысячи строк кода. Навигация по такому объему становится настоящим испытанием, особенно когда нужно быстро найти нужный метод или переменную. . . .
Автоматическое создание файла requirements.tx­t в Python
hw_wired 14.02.2025
Дружелюбная среда для разработки на Python, один из самых широко используемых языков программирования, состоит не только из самого кода, но и целого ряда важных компонентов. И если вы когда-нибудь. . .
Передача переменных окружения в контейнер Docker
hw_wired 14.02.2025
При работе с Docker контейнерами возникает необходимость передать различные настройки и конфигурационные параметры - от строк подключения к базам данных до API ключей. И хотя можно жестко прописать. . .
Отличия Constructor и ngOnInit в Angular
hw_wired 14.02.2025
Разработка компонентов в Angular - непростая задача, особенно когда дело доходит до правильной инициализации и управления их жизненным циклом. Каждый разработчик рано или поздно сталкивается с. . .
Ошибка "Transport security has blocked a cleartext HTTP" в iOS
hw_wired 14.02.2025
В iOS-разработке часто возникают неожиданные препятствия, и одним из самых распространенных является сообщение об ошибке "Transport security has blocked a cleartext HTTP". Эта ошибка появляется,. . .
Ошибка "Cleartext HTTP traffic not permitted" в Android
hw_wired 13.02.2025
При разработке Android-приложений можно столнуться с неприятной ошибкой "Cleartext HTTP traffic not permitted", которая может серьезно затруднить отладку и тестирование. Эта проблема особенно. . .
Изменение версии по умолчанию в NVM
hw_wired 13.02.2025
Node Version Manager, или коротко NVM - незаменимый инструмент для разработчиков, использующих Node. js. Многие сталкивались с ситуацией, когда разные проекты требуют различных версий Node. js,. . .
Переименование коммита в Git (локального и удаленного)
hw_wired 13.02.2025
Git как система контроля версий предоставляет разработчикам множество средств для управления этой историей, и одним из таких важных средств является возможность изменения сообщений коммитов. Но зачем. . .
Отличия Promise и Observable в Angular
hw_wired 13.02.2025
В веб-разработки асинхронные операции стали неотъемлимой частью почти каждого приложения. Ведь согласитесь, было бы странно, если бы при каждом запросе к серверу или при обработке больших объемов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru