С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
 Аватар для Ese
11 / 11 / 9
Регистрация: 16.12.2011
Сообщений: 28

Открытие в DataGridView *.txt файла из ресурсов

16.12.2011, 19:31. Показов 3285. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Пытаюсь открыть вложенный txt файл (или csv) в datagridview.
Пытаюсь открыть через потоки, ошибок нет но текст не грузится.
Как сделать загрузку
tf.txt загружен через VC# установлено свойство вложенный ресурс (embedded).
VC# 2010 express

Читал эту страницу по теме:
http://www.rsdn.ru/article/dotnet/resources.xml

В комментариях попытки подключения(мусор).

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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Reflection;
 
namespace DataGridViewExample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            // Open the contact_list file for reading. File is placed in the debug folder.
            richTextBox1.Text = Resource1.tf1;
 
           
            //Stream st = this.GetType().Assembly.GetManifestResourceStream("tf1",Encoding.GetEncoding(1251));
 
 
           // StreamReader sr = new StreamReader(Resource1.tf1);
           StreamReader sr = new StreamReader (this.GetType().Assembly.GetManifestResourceStream("tf1.txt"), Encoding.GetEncoding(1251));
            
 
 
          
            //StreamReader sr = new StreamReader("contact_list.txt");
            // Variable to store each row.
            string dataRow = "";
            // String array needed to determin number of columns to use. 
           
            string[] headerRow;
            
            int columns = 0;
            // Object array used to store each line of data from the text file.
            object[] row;
 
            // Read the first line of the text file. Then split the data using a comma character
            headerRow = sr.ReadLine().Split(',');
            
            
            // Store the length of headerRow string array, this will tell us how many columns we need.
            columns = headerRow.Length;
 
            // "For Loop" below is used to add column headers to the DataGridView control. The name of each column
            // header begins with "Header" followed by a number. 
 
 
            
 
            for (int cols = 0; cols < columns; cols++)
            {
                dgv.Columns.Add("Header " + cols, "Header " + cols);
            }
 
            // At this point, column headers have been added.
            // Now all that remains is to add the rows. Read the file line by line, using a while loop
            // and the ReadLine() method. When reading each line make sure it is not a blank line. If it is a blank line
            // skip the line and read the next line. 
 
            while ((dataRow = sr.ReadLine()) != null)
            {
                if (dataRow != "")
                {
                    row = dataRow.Split(','); // Split the dataRow string variable and store each data into an Object array.
                    dgv.Rows.Add(row); // Add the row.
                }
            }
 
        }
    }
}
Вложения
Тип файла: rar DataGridViewExample.rar (44.6 Кб, 31 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.12.2011, 19:31
Ответы с готовыми решениями:

Открытие картинки из файла ресурсов
Ребята, подскажите, нужна библиотека для открытия картинки из ресурс файла, далее уже текстура.

Открытие doc файла из ресурсов
Здравствуйте. Задача заключается в следующем: Имеется приложение, которому необходимо запустить файл .doc (Файл в свою очередь...

Чтение txt/ini файла из ресурсов
В проекте есть 4 ini ресурса, как мне их прочитать? Я понимаю, что возможно делаю полную чушь, но внятного ответа в рунете я не нашел. ...

1
 Аватар для Ese
11 / 11 / 9
Регистрация: 16.12.2011
Сообщений: 28
07.11.2012, 16:12  [ТС]
Вопрос решил так. Если файл нашего проекта помещен как ресурс (*.resx), то System.Reflection не нужен. В свойствах файла ставим Embed resource.

Resource1.tf1 -это не имя файла, а его содержимое (String).

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
using System;
using System.Windows.Forms;
 
namespace DataGridViewExample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            // Проверяем, что файл открывается
            richTextBox1.Text = Resource1.tf1;
 
           
            // "Режим" наш текстовый файл в массив 
            string[] str = (Resource1.tf1).Split(';');
           
            // Массив для определения числа элементов в строке (чтобы определить число колонок)
            string[] headerRow;
            
            //Количество колонок
            int columns = 0;
           
            
            // Объект для временного хранения строки 
            object[] row;
 
 
            //"Режем" первую строку в массив
              headerRow =str[0].Split(',');
            
            // Определяем число колонок
             columns = headerRow.Length;
            //Создаем колонки в DataGridView
            for (int cols = 0; cols < columns; cols++)
            {
                dgv.Columns.Add("Header " + cols, "Header " + cols);
            }
            
            // "Режем" каждую строку массива на колонки, и помещаем всю строку в dgv
             foreach (string s in str)
            {
                row = s.Split(',');
                dgv.Rows.Add(row);     
            }
            
        }
    }
}

Вспомнил про свой пост, на который к сожалению никто не ответил. Запутался тогда с классами и доступом, пытаясь за короткое время весь C# запихнуть в мозг. Наверное, кто-то еще наступит на эти грабли (надеюсь, это кому-то еще пригодится).

Резюме: удобнее работать используя System.Reflection, подключая файл через Project - вкладка Resources. Далее имеем доступ через Properties.Resources...

P.s. Советую по теме формата CSV почитать Язвы и грабли CSV и Excel: проблемы и решения
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.11.2012, 16:12
Помогаю со студенческими работами здесь

Открытие .docx Word файла из ресурсов проекта
Доброго времени суток, Господа. Нужна Ваша помощь. Есть проект, где в списке ресурсов имеется .docx документ Microsoft Office Word'а....

Открытие txt-файла с использованием bat-файла
Люди, хелпаните плз. Стоит такая задача: допустим у меня bat-файл и .txt находится на флешке, а мне нужно будет открыть этот тхтшник на...

Открытие файла txt
Добрый день. Есть процедура, которая открывает файл txt. procedure LoadMaze(var TheMaze : Maze; Name : string); //загрузить лабиринт ...

Открытие txt файла
Всем привет я только начал изучать delphi 7 и многое еще не знаю , поэтому мой вопрос может показаться вам очень примитивным. Я сделал...

Открытие файла *.txt
Здравствуйте! Я только начинаю программировать) Хочу спросить: Как открыть текстовый файл в TextBox в Visual Studio y WPF...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
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. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 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 05.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru