Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 10.09.2013
Сообщений: 48

Чтение и запись из файлов

10.02.2014, 13:00. Показов 4012. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!) Не могу выполнить некоторые пункты задачи.

5. При выборе пункта меню Открыть обеспечить пользователю возможность выбора имени файла, отображение на форме всех нанесенных на неё элементов, чтение информации из выбранного файла и отображение соответствующих данных в элементах типа TextBox. Имя выбранного файла отобразить в заголовке формы.
6. При выборе пункта Создать обеспечить отображение на форме всех нанесённых на неё элементов и возможность ввода в элементы типа TextBox соответствующих данных. В заголовке формы ввести текст «Новый сотрудник».
7. При выборе пункта Сохранить обеспечить проверку, были ли введённые данные ранее сохранены в файле. Если данные уже были сохранены, то перезаписать введённые данные в уже существующий файл. Если данные не были сохранены, то предложить пользователю ввести имя файла, сохранить введённые данные в указанном файле. Имя выбранного файла отобразить в заголовке формы.
8. При выборе пункта меню Сохранить как предложить пользователю ввести имя файла, сохранить введённые данные в указанном файле. Имя выбранного файла отобразить в заголовке формы.
9. При выборе пункта меню Закрыть спросить пользователя о необходимости сохранения данных. Если дан положительный ответ, то выполнить те же действия, что и в пункте Сохранить. После этого сделать все нанесённые на форму элементы управления невидимыми, заголовок формы очистить.
Ограничения:
1. Обеспечить контроль правильности ввода оклада и табельного номера сотрудника (они могут состоять только из цифр) и фамилии и должности (они могут состоять только из русских букв).
2. Обеспечить доступность пунктов меню только в необходимые моменты времени

Пункт 5 вроде как сделал, не знаю правильно ли.
Вот сама программка
Вложения
Тип файла: zip Задание3.zip (63.5 Кб, 31 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.02.2014, 13:00
Ответы с готовыми решениями:

Чтение/запись файлов в сборке
Вечер добрый! Задался целью написать курсовую работу, суть которой ограничить доступ к некоторым бинарным файлам путем установления на...

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

Чтение запись файлов *.csv больших размеров
Доброго времени суток, форумчане! Нужно сделать: • прочитать данные таймсерий из файла (прилагается test.csv) • подсчитаете...

20
2 / 2 / 0
Регистрация: 10.09.2013
Сообщений: 48
10.02.2014, 15:34  [ТС]
Может кто помочь пожалуйста?
0
Заблокирован
11.02.2014, 09:04
Цитата Сообщение от Pupsik86 Посмотреть сообщение
Пункт 5 вроде как сделал, не знаю правильно ли.
а если в файле больше 4-х строк?

Цитата Сообщение от Pupsik86 Посмотреть сообщение
6. При выборе пункта Создать обеспечить отображение на форме всех нанесённых на неё элементов и возможность ввода в элементы типа TextBox соответствующих данных. В заголовке формы ввести текст «Новый сотрудник».
разве тут идет речь о второй форме? ВВели данные, ну а дальше то что? Зачем вообще в проекте нужен баттон?
0
2 / 2 / 0
Регистрация: 10.09.2013
Сообщений: 48
11.02.2014, 10:51  [ТС]
Кнопка не нужна да. Ошибся. А как должно тогда?

Добавлено через 13 минут
У меня вопрос. Почему когда пробую считать из файла, то выдает ошибку что не может считать?
вот код

VB.NET
1
2
3
4
5
6
7
8
9
10
11
Dim bin_reader As BinaryReader
        Dim str_reader As StreamReader
        Dim file As FileStream
        file = New FileStream(OpenFileDialog1.FileName, FileMode.Open, FileAccess.Read)
        bin_reader = New BinaryReader(file)
        str_reader = New StreamReader(file)
        TextBox3.Text = bin_reader.ReadInt32
        TextBox4.Text = bin_reader.ReadSingle
        CheckBox1.Checked = bin_reader.ReadBoolean
        TextBox1.Text = str_reader.ReadLine
        TextBox2.Text = str_reader.ReadLine
0
Заблокирован
11.02.2014, 10:56
Цитата Сообщение от Pupsik86 Посмотреть сообщение
А как должно тогда?
Если вы про:

Цитата Сообщение от Ev_Hyper Посмотреть сообщение
разве тут идет речь о второй форме?
то я полагаю, что просто нужно изменить скрыть/показать элементы на форме

Добавлено через 2 минуты
Цитата Сообщение от Pupsik86 Посмотреть сообщение
Почему когда пробую считать из файла, то выдает ошибку что не может считать?
это что Basic? Тогда почему вопрос в разделе по С#?
0
2 / 2 / 0
Регистрация: 10.09.2013
Сообщений: 48
11.02.2014, 11:28  [ТС]
Тьфу..Прошу прощения!
0
Заблокирован
11.02.2014, 11:31
подождите, но ведь ваш код(Задание3) написан на С#. Все таки поясните конкретнее, что у вас не выходит
1
2 / 2 / 0
Регистрация: 10.09.2013
Сообщений: 48
11.02.2014, 12:39  [ТС]
Ev_Hyper, открыть файл и прочесть вроде получилось. Не знаю как сделать "Сохранить" и "Сохранить как"
0
Заблокирован
11.02.2014, 13:12
Попробуйте так:
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
        private void сохранитьКакToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                this.Text = saveFileDialog1.FileName;
                //Запись в файл
            }
 
        }
 
        private void сохранитьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (saveFileDialog1.FileName.Length==0)
            {
                MessageBox.Show("Вы не сохранились!");
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    
                    //Запись в файл
                }
            }
            else
            {
                //Запись в файл
            }
            this.Text = saveFileDialog1.FileName;
        }
1
2 / 2 / 0
Регистрация: 10.09.2013
Сообщений: 48
11.02.2014, 15:00  [ТС]
Ev_Hyper, а запись в файл у меня правильная?

Добавлено через 27 минут
а как написать на C# вот такое?


VB.NET
1
2
3
4
5
6
7
Dim ch As Char
        ch = e.KeyChar
        Dim digit = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя"
        If System.Char.IsControl(e.KeyChar) Then Exit Sub
        If InStr(digit, ch) = 0 Then
            e.Handled = True
        End If
Добавлено через 4 минуты
Ругается на эти строчки? Неявное преобразование типов. Как выйти из ситуации?

C#
1
2
textBox3.Text = bin_read.ReadInt32();
            textBox4.Text = bin_read.ReadSingle();
0
Заблокирован
11.02.2014, 15:14
Цитата Сообщение от Pupsik86 Посмотреть сообщение
а как написать на C# вот такое?
незнаю, насколько я понял это обработка события клавиатуры. Возможно вот так:
C#
1
2
3
4
5
6
7
8
9
10
11
char t = e.KeyChar;
            string str="АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя";
            if (System.Char.IsControl(t))
            {
                //?return; 
            }
            
            if (str.IndexOf(t) != -1)
            {
                e.Handled = true;
            }
Добавлено через 3 минуты
Цитата Сообщение от Pupsik86 Посмотреть сообщение
Ругается на эти строчки? Неявное преобразование типов. Как выйти из ситуации?
Присваивать textBox3.Text нужно string. Считывайте как обычную строку.
0
2 / 2 / 0
Регистрация: 10.09.2013
Сообщений: 48
11.02.2014, 15:20  [ТС]
Пробую сделать кнопку "Сохранить как", но не сохраняет почему то? Расширение файла не пишется бин.

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
private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
        {
            Form1 forma1 = new Form1();
            FileStream file;
            StreamWriter file_write;
            BinaryWriter bin_write;
            string salary, pers_number;
            
 
            file = new FileStream(saveFileDialog1.FileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
            file_write = new StreamWriter(file);
            bin_write = new BinaryWriter(file);
 
            //If CheckBox1.Checked = True Then
            //unionist = True
            //Else
                //unionist = False
            //End If
 
            salary = textBox3.Text;
            pers_number = textBox4.Text;
            
            bin_write.Write(salary);
            bin_write.Write(pers_number);
            file_write.WriteLine(textBox1.Text);
            file_write.WriteLine(textBox2.Text);
            //bin_write.Write(unionist);
 
            file_write.Close();
            file.Close();
            forma1.Text = saveFileDialog1.FileName;
        }
0
Заблокирован
11.02.2014, 15:34
Возможно я чего-то непонимаю, но почему не сделать так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
        {
            try
            {
                StreamWriter sw = new StreamWriter(saveFileDialog1.FileName);
                sw.WriteLine("Hello World!!");
                sw.Close();
            }
            catch (Exception q)
            {
                MessageBox.Show(q.Message);
            }
 
        }
0
2 / 2 / 0
Регистрация: 10.09.2013
Сообщений: 48
11.02.2014, 15:45  [ТС]
Ev_Hyper, мне нужно значения из текст боксов записать в файл в итоге. Я пытаюсь это реализовать.
0
Заблокирован
11.02.2014, 16:03
просто вставьте вместо
C#
1
sw.WriteLine("Hello World!!");
то, что вам нужно. Например:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
        {
            try
            {
                StreamWriter sw = new StreamWriter(saveFileDialog1.FileName);
                sw.WriteLine(textBox1.Text);
                sw.WriteLine(textBox2.Text);
                sw.WriteLine(textBox3.Text);
                sw.WriteLine(textBox4.Text);
                sw.Close();
            }
            catch (Exception q)
            {
                MessageBox.Show(q.Message);
            }
 
        }
0
2 / 2 / 0
Регистрация: 10.09.2013
Сообщений: 48
11.02.2014, 18:50  [ТС]
Сейчас попробую

Добавлено через 2 часа 11 минут
Ev_Hyper, сделал так, как Вы написали. Но при сохранении не указывается тип файла. А при открытии какой код нужен?
Я вот так написал
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
private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
        {
            Form1 forma1 = new Form1();
            FileStream file;
            StreamReader file_read;
            BinaryReader bin_read;
            
            
            file = new FileStream(openFileDialog1.FileName, FileMode.OpenOrCreate, FileAccess.Read);
            file_read = new StreamReader(file);
            bin_read = new BinaryReader(file);
 
            ///int line = bin_read.ReadInt32();
            
            textBox1.Text = file_read.ReadLine().ToString();
            textBox2.Text = file_read.ReadLine();
            textBox3.Text = file_read.ReadLine();
            textBox4.Text = file_read.ReadLine();
            
 
            file_read.Close();
            file.Close();
 
            сохранитьToolStripMenuItem.Visible = true;
            сохранитьКакToolStripMenuItem.Visible = true;
            закрытьToolStripMenuItem.Visible = true;
            расчетToolStripMenuItem.Visible = true;
            textBox1.Visible = true;
            textBox2.Visible = true;
            textBox3.Visible = true;
            textBox4.Visible = true;
            label1.Visible = true;
            label2.Visible = true;
            label3.Visible = true;
            label4.Visible = true;
            textBox1.Enabled = true;
            textBox2.Enabled = true;
            textBox3.Enabled = true;
            textBox4.Enabled = true;
            textBox1.Text = "";
            textBox2.Text = "";
            textBox3.Text = "";
            textBox4.Text = "";
 
            forma1.Text = file.Name;
        }
0
Заблокирован
11.02.2014, 19:13
Цитата Сообщение от Pupsik86 Посмотреть сообщение
Но при сохранении не указывается тип файла.
вы об этом?
C#
1
saveFileDialog1.DefaultExt = "doc";
0
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
11.02.2014, 20:24
Ev_Hyper, что то не получилось. Все равно тип файла не задается

Добавлено через 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
        {
            Form1 forma1 = new Form1();
            FileStream file;
            StreamReader file_read;
            BinaryReader bin_read;
            
            
            file = new FileStream(openFileDialog1.FileName, FileMode.OpenOrCreate, FileAccess.Read);
            file_read = new StreamReader(file);
            bin_read = new BinaryReader(file);
 
            ///int line = bin_read.ReadInt32();
            
            textBox1.Text = file_read.ReadLine().ToString();
            textBox2.Text = file_read.ReadLine();
            textBox3.Text = file_read.ReadLine();
            textBox4.Text = file_read.ReadLine();
            
 
            file_read.Close();
            file.Close();
 
            сохранитьToolStripMenuItem.Visible = true;
            сохранитьКакToolStripMenuItem.Visible = true;
            закрытьToolStripMenuItem.Visible = true;
            расчетToolStripMenuItem.Visible = true;
            textBox1.Visible = true;
            textBox2.Visible = true;
            textBox3.Visible = true;
            textBox4.Visible = true;
            label1.Visible = true;
            label2.Visible = true;
            label3.Visible = true;
            label4.Visible = true;
            textBox1.Enabled = true;
            textBox2.Enabled = true;
            textBox3.Enabled = true;
            textBox4.Enabled = true;
            textBox1.Text = "";
            textBox2.Text = "";
            textBox3.Text = "";
            textBox4.Text = "";
 
            forma1.Text = file.Name;
        }
0
Заблокирован
11.02.2014, 20:32
Цитата Сообщение от KOPC1886 Посмотреть сообщение
что то не получилось. Все равно тип файла не задается
вы о том, который в диалоге отображаеться?
Тогда поставьте фильтр, например:
C#
1
this.saveFileDialog1.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";
0
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
11.02.2014, 20:41
Ev_Hyper, хм...все равно почему то нет. Вот в общем что у меня имеется.
Вложения
Тип файла: rar Задание3.rar (94.2 Кб, 18 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.02.2014, 20:41
Помогаю со студенческими работами здесь

Чтение и запись файлов.
В каждой стороке файла записаны фамилия и должность сотрудника. Вывести на экран фамилии программистов.

Чтение и запись файлов
у меня возникла проблема с реализацией чтения файлов в сети полно примеров по этой теме, но в основном они написаны c под компиляторы...

Чтение и запись файлов
Мои познания JavaScript не большие. Стоит такая задача: в GeoGebra с помощью JavaScript нужно считать данные с файла который находится на...

запись и чтение файлов
Возникла проблема.Нужно читать из файла определенные значения...Т.е. как конфиг,но не совсем.. Т.е надо найти строчку в файле,и прочитать...

Чтение запись файлов
нужно из файла f записать 20 символов в файл fp, сделать отступ и повторять пока не закончится файл и объясните, можно ли на с++ записать...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru