Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/26: Рейтинг темы: голосов - 26, средняя оценка - 4.54
Амурчанка
 Аватар для tantemka
136 / 136 / 44
Регистрация: 07.11.2011
Сообщений: 279

Чтение данных из *.txt файла, находящегося в ресурсах, и заполнение этими данными DataGridView

29.02.2012, 23:20. Показов 5432. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На форме расположен ComboBox, в котором можно выбрать один из типов резьбы (G,M,Pg,Rp,Tr и все резьбы). После выбора одного из значений в компоненте DataGridView отображаются параметры резьбы.
Происходит следующим образом:
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
        //выбор типа резьбы/заполнение DGV
        private void comboBox_Threads_TextChanged(object sender, EventArgs e)
        {
            string begin = null, end = null;
            int index = comboBox_Threads.SelectedIndex;//считываем индекс, выбранной резьбы
            switch (index) // выбираются ограничители заполнения данных в таблицу
            {
                case 1:
                    begin = "BeginG";
                    end = "EndG";
                    break;
                case 2:
                    begin = "BeginM";
                    end = "EndM";
                    break;
                case 3:
                    begin = "BeginPg";
                    end = "EndPg";
                    break;
                case 4:
                    begin = "BeginRp";
                    end = "EndRp";
                    break;
                case 5:
                    begin = "BeginTr";
                    end = "EndTr";
                    break;
                case 6:
                    begin = "BeginM";
                    end = "EndRp";
                    break;
            }
            DataGV(begin, end); //вызов метода заполнения DGV
        }
 
        // заполение самого DGV
        private void DataGV(string begin_, string end_)
        {
           
            StreamReader strRead = new StreamReader(@"путь к файлу\Resources\Threads.txt");//открываем поток считывания файла
            int len = File.ReadAllLines(@"путь к файлу\Resources\Threads.txt").Length;//узнаем количество строк в файле
            DataSet dataSet = new DataSet();
            dataSet.Tables.Add("Thr");
            //заполняем шапку таблицы
            string header = strRead.ReadLine();//считываем первую строку
            string[] colum = Regex.Split(header, ";");
            for (int i = 0; i < colum.Length; i++)
            {
                dataSet.Tables[0].Columns.Add(colum[i]);//создаем столбцы в таблице
            }
            //заполняем таблицу согласно выбранной резьбе в ComboBox_Threads
            for (int i = 1; i < len; i++)
            {
                string Row = strRead.ReadLine(); //считываем строку
                if (String.Equals(Row, begin_)) // проверяем ее равенство со строкой, показывающей начало выбранного типа резьбы
                {
                    Row = strRead.ReadLine();
                    while (Row != end_) // заполняем таблицу пока не встретится строка, показывающая конец данного типа резьбы
                    {
                        string[] row_value = Regex.Split(Row, ";"); //создаем массив значений, разделенных ";"
                        dataSet.Tables[0].Rows.Add(row_value); //заполняем таблицу
                        Row = strRead.ReadLine();
                    }
                }
            }
            dataGridView1.DataSource = dataSet.Tables[0]; //помещаем таблицу данных в DGV
            for (int i = 0; i < colum.Length; i++) //убираем сортировку в столбцах
            {
                this.dataGridView1.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
            }
            strRead.Close();//закрываем поток
        }
P.S. DVG - DataGridView
И имеется текстовый файл Threads.txt, из которого берутся все эти параметры. Данные представлены следующим образом:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Номинальный; Внутренний; Внешний; Тип; Семейство
BeginM
0.25 ; 0.169   ; 0.159   ; M.25        ; M
0.3  ; 0.213   ; 0.202   ; M.3         ; M
0.35 ; 0.253   ; 0.24    ; M.35        ; M
0.4  ; 0.292   ; 0.277   ; M.4         ; M
0.45 ; 0.342   ; 0.327   ; M.45        ; M
0.5  ; 0.365   ; 0.347   ; M.5         ; M
... //много, много значений
EndM
 
BeginPg
12.5 ; 11.89 ; 11.28 ; Pg7    ; Pg
15.2 ; 14.53 ; 13.86 ; Pg9    ; Pg
...
EndPg
//и т.д.
Собственно проблема заключается в том, что никак не могу прочитать файл из самого ресурса, не указывая к нему путь.
Добавила проект, заодно покритикуете
Вложения
Тип файла: rar Резьба.rar (74.7 Кб, 26 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.02.2012, 23:20
Ответы с готовыми решениями:

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

Вывести в datagridview данные из текстового файла, находящегося в ресурсах проекта
Всем доброго дня. Есть текстовый файл в ресурсах проекта вида: Россия Латвия Литва Эстония Германия Польша Как считать с...

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

3
49 / 49 / 5
Регистрация: 11.07.2011
Сообщений: 282
01.03.2012, 02:07
Убери файл из ресурса, и просто добавь текстовый файл к проекту.
далее добавь к проекту файл конфигурации App.config , а в него можешь написать вот это например:
(разберешься я думаю самостоятельно:

XML
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="pathTxtData" value="..\..\Threads.txt"/>     
  </appSettings>
</configuration>

Далее доступ к файлу можно получить следующим образом:
string pathText = ConfigurationSettings.AppSettings["pathTxtData"].ToString();
Вот и все

Ну и конечно подключи пространство имен
C#
1
using System.Configuration;
1
Амурчанка
 Аватар для tantemka
136 / 136 / 44
Регистрация: 07.11.2011
Сообщений: 279
01.03.2012, 10:17  [ТС]
Пока что мало понятно, но буду разбираться
Цитата Сообщение от Dimblch Посмотреть сообщение
<add key="pathTxtData" value="..\..\Threads.txt"/>
XML не знаю, но тут же все равно полный путь к файлу указывать надо. А если я его перемещу в другую папку или просто запущу программу на другом компьютере, работать то, как понимаю, не будет
0
 Аватар для Димон_
136 / 104 / 9
Регистрация: 30.01.2011
Сообщений: 699
01.03.2012, 22:10
ну так большинство программ работают с собственными dll, отгрузками и т.д. Следовательно сделать дополнительный *.xml файлик правильно. Во-первых у тебя будет удобная отгрузка, возможно в нормальном виде для редактирования через блокнот, во-вторых разберешься с XML.
там все банально. Я при работе с полным пересохранением таблицы делал с помощью XML-курсоров.
Разобрался за пару часов со всей теорией.
Вот ссылка на ответ по курсорам: Вывод csv или xsl файла в DataGridView
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.03.2012, 22:10
Помогаю со студенческими работами здесь

Чтение данных из txt файла и заполнение html-таблицы
Подскажите, пожалуйста, столкнулся с проблемой (в связи с тем, что умею выводить только &quot;Привет мир&quot; на страницу), : на...

Заполнение datagridview данными из txt таблицы
Здравствуйте. Имеется datagridview, которая заполняется из txt таблицы. private void dataOpenbutton1_Click(object sender, EventArgs e) ...

Заполнить dataGridView данными из txt файла
Доброго времени суток.Есть txt файл вида: 5,742 38,445 52,173 20,416 28,3305 18,106 5,2965 37,818 51,986 45,738 26,3615 17,9135...

Заполнение DataGridView из txt файла
Добрый вечер! Очень нуждаюсь в помощи, помогите пожалуйста заполнить таблицу DataGridView2, файл, чем заполнить прилагается. Понимаю, что...

Заполнение Datagridview с txt файла
Есть файл рекорды: qwe 100 asd 20 Нужно с этого файла считать информацию и вывести в datagridview. В датегрид 2 колонки, первая...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru