Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
2 / 2 / 4
Регистрация: 28.09.2013
Сообщений: 407

При попытке открытия файла выдаёт ошибку

11.10.2014, 11:11. Показов 3193. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Такая проблема - при попытке открытия файла выдаёт ошибку.

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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ZedGraph;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
 
 
namespace ZeroLine
{
    public partial class Form1 : Form
    {
        private int [] ArrayR;
 
        public Form1()
        {
            InitializeComponent();
            zedGraph.CursorChanged += new EventHandler(zedGraph_CursorChanged);
            zedGraph.ContextMenuBuilder += new ZedGraphControl.ContextMenuBuilderEventHandler(zedGraph_ContextMenuBuilder);
            FileInfo file = new FileInfo("signal.txt");
            DrawGraph();
        }
 
        void zedGraph_ContextMenuBuilder(ZedGraphControl sender, ContextMenuStrip menuStrip, Point mousePt, ZedGraphControl.ContextMenuObjectState objState)
        {
            // !!! 
            // Переименуем (переведем на русский язык) некоторые пункты контекстного меню
            menuStrip.Items[0].Text = "Копировать";
            menuStrip.Items[1].Text = "Сохранить как картинку…";
            menuStrip.Items[2].Text = "Параметры страницы…";
            menuStrip.Items[3].Text = "Печать…";
            menuStrip.Items[4].Text = "Показывать значения в точках…";
 
        }
        void zedGraph_CursorChanged(object sender, EventArgs e)
        {
            // Разрешим ZedGraph'у изменять курсор при выделении участка на графике, 
            // а также при перемещении графика.
            // В обоих случаях курсор будет "захвачен"
            // Если курсор не "захвачен", то установим курсор обратно в виде стрелки.
            // Если нужно запретить изменять курсор в любом случае, 
            // то достаточно просто убрать условие. 
 
            if (!zedGraph.Capture)
            {
                zedGraph.Cursor = Cursors.Arrow;
            }
        }
 
        private void DrawGraph()
        {
            // Получим панель для рисования
            GraphPane pane = zedGraph.GraphPane;
            // Создадим список точек
            pane.CurveList.Clear();
 
            PointPairList list = new PointPairList();
            PointPairList list1 = new PointPairList();
            PointPairList list2 = new PointPairList();
            PointPairList listD = new PointPairList();
 
            // Интервал, в котором будут лежать точки
            int xmin = 0;
            int xmax = 50;
            int ix = 0;
            int ymin = -50;
            int ymax = 50;
            double sum = 0; double sred = 0;
 
            int pointsCount = 22050;
            ArrayR = new int[pointsCount];
 
            Random rnd = new Random();
            // Заполняем список точек
            for (int i = 0; i < pointsCount; i++)
            {
                int y = rnd.Next(ymin, ymax);
                ArrayR[i] = y;
                list.Add(ix++, y);
                sum += ArrayR[i];
            }
            sred = sum / 22050;
 
 
            ix = 0;
            for (int i = 0; i < pointsCount - 5; i += 5)
            {
                int y = (ArrayR[i] + ArrayR[i + 1] + ArrayR[i + 2] + ArrayR[i + 3] + ArrayR[i + 4] + ArrayR[i + 5]) / 5;
                //  list1.Add(ix++, y);
                ix++;
                list1.Add(ix, y);
                ;
            }
 
            //ПОДСЧЁТ СРЕДНЕГО ЗНАЧЕНИЯ
            int one = 0; int two = 0; int three = 0; int four = 0; int five = 0; int six = 0; int seven = 0; int eight = 0; int nane = 0; int ten = 0;
 
            for (int i = 0; i < pointsCount; i++)
            {
                if (ArrayR[i] > 40 && ArrayR[i] < 50) one++;
                if (ArrayR[i] > 30 && ArrayR[i] < 40) two++;
                if (ArrayR[i] > 20 && ArrayR[i] < 30) three++;
                if (ArrayR[i] > 10 && ArrayR[i] < 20) four++;
                if (ArrayR[i] > 0 && ArrayR[i] < 10) five++;
                if (ArrayR[i] > -10 && ArrayR[i] < 0) six++;
                if (ArrayR[i] > -20 && ArrayR[i] < -10) seven++;
                if (ArrayR[i] > -30 && ArrayR[i] < -20) eight++;
                if (ArrayR[i] > -40 && ArrayR[i] < -30) nane++;
                if (ArrayR[i] > -50 && ArrayR[i] < -40) ten++;
 
 
            }
            ix = -15;
 
            list2.Add(ix, one); list2.Add(ix + 1, two); list2.Add(ix + 2, three); list2.Add(ix + 3, four); list2.Add(ix + 4, five);
            list2.Add(ix + 5, six); list2.Add(ix + 6, seven); list2.Add(ix + 7, eight); list2.Add(ix + 8, nane); list2.Add(ix + 9, ten);
 
            ix = 0;
            //дисперсия//
            double yx = 0;
            for (int i = 1; i < pointsCount; i++)
            {
                yx += (1 / i) * ((ArrayR[i] - sred) * (ArrayR[i] - sred));
                listD.Add(ix++, yx);
            }
 
 
 
            LineItem myCurve = pane.AddCurve("Random", list, Color.Red, SymbolType.Diamond);
            // Укажем, что график должен быть сглажен
 
            myCurve.Symbol.Fill.Color = Color.DarkRed;
            myCurve.Symbol.Fill.Type = FillType.Solid;
            myCurve.Symbol.Size = 9;
            // Горизонтальная линия на уровне y = 0 рисоваться не будет
            pane.YAxis.MajorGrid.IsZeroLine = false;
            // Устанавливаем интересующий нас интервал по оси X
            pane.XAxis.Scale.Min = xmin;
            pane.XAxis.Scale.Max = xmax;
            // Устанавливаем интересующий нас интервал по оси Y
            pane.YAxis.Scale.Min = ymin;
            pane.YAxis.Scale.Max = ymax;
            myCurve.Line.IsSmooth = true;
            pane.YAxis.Scale.MinAuto = true;
            pane.YAxis.Scale.MaxAuto = true;
 
            pane.IsBoundedRanges = true;
 
            LineItem myCurve2 = pane.AddCurve("Sred", list1, Color.Blue, SymbolType.Circle);
 
            myCurve2.Line.IsSmooth = true;
            myCurve2.Symbol.Fill.Color = Color.DarkBlue;
            myCurve2.Symbol.Fill.Type = FillType.Solid;
            myCurve2.Symbol.Size = 8;
 
            zedGraph.AxisChange();
 
 
 
            LineItem myCurve3 = pane.AddCurve("Sred1", list2, Color.Blue, SymbolType.Circle);
 
            myCurve2.Line.IsSmooth = true;
            myCurve2.Symbol.Fill.Color = Color.DarkBlue;
            myCurve2.Symbol.Fill.Type = FillType.Solid;
            myCurve2.Symbol.Size = 8;
 
            zedGraph.AxisChange();
 
 
 
            LineItem myCurve4 = pane.AddCurve("Disp", listD, Color.Green, SymbolType.Circle);
 
            myCurve2.Line.IsSmooth = true;
            myCurve2.Symbol.Fill.Color = Color.DarkGreen;
            myCurve2.Symbol.Fill.Type = FillType.Solid;
            myCurve2.Symbol.Size = 8;
 
            zedGraph.AxisChange();
 
 
            // Обновляем график
            zedGraph.Invalidate();
 
        }
 
        private void открытьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.ShowDialog();
 
            int pointsCount = 22050;
            this.ArrayR = new int[pointsCount];
 
            try
            {
                FileStream fs = new FileStream(openFileDialog.FileName, FileMode.Open);
                BinaryReader r = new BinaryReader(fs);
                int i = 0;
 
                while (i<22050)
                {
                    ArrayR[i] = r.ReadInt32();
                    i++;
                }
                fs.Close();
                this.Draw();
            }
            catch
            {
                MessageBox.Show("some error messege");
                return;
            }
        }
 
        private void сохранитьToolStripMenuItem_Click(object sender, EventArgs e)
        {
 
        }
 
        private void разностьToolStripMenuItem_Click(object sender, EventArgs e)
        {
 
        }
 
        private void Draw()
        {
            // Получим панель для рисования
            GraphPane pane = zedGraph.GraphPane;
            // Создадим список точек
            pane.CurveList.Clear();
 
            PointPairList list = new PointPairList();
      
            // Интервал, в котором будут лежать точки
            int xmin = 0;
            int xmax = 50;
            int ix = 0;
            int ymin = -50;
            int ymax = 50;
            int y = 0;
 
            int pointsCount = 22050;
          
            // Заполняем список точек
            for (int i = 0; i < pointsCount; i++)
            {
                ix++;
                y = this.ArrayR[i];
                list.Add(ix++, y);
            }
           
            LineItem myCurve = pane.AddCurve("Random", list, Color.Black, SymbolType.Diamond);
            // Укажем, что график должен быть сглажен
 
            myCurve.Symbol.Fill.Color = Color.Black;
            myCurve.Symbol.Fill.Type = FillType.Solid;
            myCurve.Symbol.Size = 9;
            // Горизонтальная линия на уровне y = 0 рисоваться не будет
            pane.YAxis.MajorGrid.IsZeroLine = false;
            // Устанавливаем интересующий нас интервал по оси X
            pane.XAxis.Scale.Min = xmin;
            pane.XAxis.Scale.Max = xmax;
            // Устанавливаем интересующий нас интервал по оси Y
            pane.YAxis.Scale.Min = ymin;
            pane.YAxis.Scale.Max = ymax;
            myCurve.Line.IsSmooth = true;
            pane.YAxis.Scale.MinAuto = true;
            pane.YAxis.Scale.MaxAuto = true;
 
            pane.IsBoundedRanges = true;
 
            MessageBox.Show("vbbook.ru не нравиться");
            zedGraph.AxisChange();
 
            // Обновляем график
            zedGraph.Invalidate();
        }
 
    }
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.10.2014, 11:11
Ответы с готовыми решениями:

Ошибка при попытке открытия файла
Добрый день. При выполнении функции открытия файла F.open(adr,ios::in) по несуществующему адресу программу выбивает при этом появляется...

Permission denied при попытке открытия файла
Привет Всем!!! Пытаюсь открыть файл для чтения int fd; const char *str = &quot;/dev/input/event0&quot;; fd = open(str,...

При попытке компилировать выдает ошибку
Помогите, пожалуйста... Не получается запустить программу на C++ Builder 6.0 При попытке компилировать выдает ошибку: Error in module...

26
2 / 2 / 4
Регистрация: 28.09.2013
Сообщений: 407
11.10.2014, 13:29  [ТС]
Студворк — интернет-сервис помощи студентам
Изменил код и всё равно не получается

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 void открытьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.ShowDialog();
 
            int pointsCount = 22050;
            this.ArrayR = new int[pointsCount];
 
            try
            {
 
                FileStream fs = new FileStream(ofd.FileName, FileMode.OpenOrCreate, FileAccess.Read);
 
                BinaryReader r = new BinaryReader(fs);
                int i = 0;
                if (fs.CanRead)
                {
                    while (r.PeekChar() != -1)
                    {
                        ArrayR[i] = r.ReadInt32();
                    }
                }
                fs.Close();
                this.Draw();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
        }
Большое спасибо вам за помощь. Скажу преподователю, что не получилось
0
 Аватар для meksik
202 / 171 / 67
Регистрация: 04.10.2014
Сообщений: 839
11.10.2014, 13:39
avatar1870, сбросьте файл, который считываете и я дам вам решение проблемы
0
2 / 2 / 4
Регистрация: 28.09.2013
Сообщений: 407
11.10.2014, 13:48  [ТС]
Файл
Вложения
Тип файла: zip rand.zip (20.2 Кб, 1 просмотров)
0
 Аватар для meksik
202 / 171 / 67
Регистрация: 04.10.2014
Сообщений: 839
11.10.2014, 15:01
Лучший ответ Сообщение было отмечено avatar1870 как решение

Решение

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
            int pointsCount = 22050;
            ArrayR = new int[pointsCount];
            OpenFileDialog ofd = new OpenFileDialog() { InitialDirectory = Application.StartupPath };
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    fs = new FileStream(ofd.FileName, FileMode.OpenOrCreate, FileAccess.Read);
                    BinaryReader r = new BinaryReader(fs);
                    int i = 0;
                    if (fs.CanRead)
                    {
                        while (r.BaseStream.Position < r.BaseStream.Length - 2)
                        {
                            ArrayR[i] = r.ReadInt32();
                            i++;
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                finally
                {
                    fs.Close();
                }
            }
            else
            {
                MessageBox.Show("Файл не выбран");
            }
не знаю в чем тут конкретно прикол, но это -2 спасает ситуацию, но если удалить пробел в самом конце файла, то и -1 сойдет...

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

Добавлено через 27 минут
во вот так
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
            int pointsCount = 22050;
            ArrayR = new int[pointsCount];
            OpenFileDialog ofd = new OpenFileDialog() { InitialDirectory = Application.StartupPath };
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    string readText = File.ReadAllText(ofd.FileName);
                    readText = Regex.Replace(readText, @"[^\d]", "");
                    Stream s = new MemoryStream(Encoding.ASCII.GetBytes(ofd.FileName));
                    BinaryReader r = new BinaryReader(s);
                    int i = 0;
                    if (s.CanRead)
                    {
                        while (r.BaseStream.Position < r.BaseStream.Length)
                        {
                            ArrayR[i] = r.ReadInt32();
                            i++;
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else
            {
                MessageBox.Show("Файл не выбран");
            }
1
2 / 2 / 4
Регистрация: 28.09.2013
Сообщений: 407
11.10.2014, 15:03  [ТС]
Огромное спасибо за помощь!
0
6 / 6 / 3
Регистрация: 22.04.2012
Сообщений: 67
13.10.2014, 12:29
Не знаю как у других но у меня всегда выдает путь к файлу и никаких ошибок.
0
0 / 0 / 0
Регистрация: 12.02.2014
Сообщений: 64
03.11.2014, 20:12
подскажите вот такую вещь, вставил menuStrip на форму, добавил стандартное меню, и мне надо открыть текстовый файл в TextBox, в обработчике события пишу:
C#
1
2
3
4
5
6
7
8
9
10
private void открытьToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                openFileDialog1.Filter = "text files (*.txt)|*.txt";
                StreamReader streamReader = new StreamReader(openFileDialog1.FileName);
                textBox1.Text = streamReader.ReadToEnd();
                streamReader.Close();
            }
        }
не могу понять почему не работает фильтр, по идеи же в открывшемся с строке типа файла должен сразу стоять формат text, или я чето не понимаю? и почему-то в названии пишется openFileDialog1, помогите кто чем может
Миниатюры
При попытке открытия файла выдаёт ошибку  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.11.2014, 20:12

Выдает ошибку при попытке переадресации
Вообщем вот: &lt;form method=&quot;post&quot;&gt; &lt;input type=&quot;submit&quot; name=&quot;wwas&quot;&gt; &lt;/form&gt; &lt;? if($_POST){ header(&quot;Location:...

При попытке использовать PIL выдает ошибку
ImportError: The _imaging C module is not installed. На самом деле, я не знаю как правильно устанавливать модули, чтобы все работало.(...

Выдает ошибку при попытке регистрации пользователя
Когда пытаюсь зарегистрировать пользователя, выдается ошибка Fatal error: Call to undefined function CleanInput() in...

При попытке построить график выдает ошибку
Добрые вечер! Помогите с мапле 7 Выдает вот эту ошибку. Ниже ошибка и задание

Ошибка при попытке открытия для чтения текстового файла
Первоначальная задача была такова: Дан файл А, компоненты которого являются целыми числами. Записать в файл А1 все повторяющиеся...


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать 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. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru