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

Запись данных из listView в txt с использованием разделителя для структуризации файла

12.05.2012, 22:33. Показов 2882. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер. Есть небольшой вопрос, который на половину раскрыт. Есть отрезок кода:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
for (int i = 0; i < listView1.Items.Count; i++)
            {
                 
                write += listView1.SelectedItems[i].Text + "|" 
                    + listView1.SelectedItems[i].SubItems[1].Text + "|"
                    + listView1.SelectedItems[i].SubItems[2].Text + "|" 
                    + listView1.SelectedItems[i].SubItems[3].Text + "|"
                    + listView1.SelectedItems[i].SubItems[4].Text;
                write += Environment.NewLine;
            }
            Stream myStream;
            SaveFileDialog saveFileDialog1 = new SaveFileDialog();
            saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                if ((myStream = saveFileDialog1.OpenFile()) != null)
                {
                    StreamWriter wText = new StreamWriter(myStream);
                    wText.Write(write); myStream.Close();
                }
            }
Всё бы хорошо, но ругается на write в самом начале. Никто не подскажет что это такое и чем объявляется? Точнее каким методом.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.05.2012, 22:33
Ответы с готовыми решениями:

Запись данных из listView в txt (построчно)
Всем привет! Сабж. Есть листВиев в нем N строчек, как записать все эти строки в txt файл? (если txt файл есть, мы не должны...

Чтение данных с одного txt файла, запись данных во второй txt в определенную позицию
Добрый день, уважаемые форумчане! Нужна ваша помощь. Задача поставлена так: существует файл film2.txt (постараюсь его прикрепить для...

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

6
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9673 / 4825 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
12.05.2012, 22:42
Ругается видимо на то, что переменная использована до её объявления. Допишите в методе
C#
1
string write = "";
1
8 / 8 / 2
Регистрация: 09.11.2010
Сообщений: 69
12.05.2012, 23:55  [ТС]
Спасибо за помощь, но возникла еще одна проблема)
На этом же отрезке кода:
C#
1
2
3
4
5
6
7
8
9
10
11
string write = "";
           for (int i = 0; i < listView1.Items.Count; i++)
            {
                 
                write += listView1.SelectedItems[i].Text + "|" 
                    + listView1.SelectedItems[i].SubItems[1].Text + "|"
                    + listView1.SelectedItems[i].SubItems[2].Text + "|"
                    + listView1.SelectedItems[i].SubItems[3].Text + "|"
                    + listView1.SelectedItems[i].SubItems[4].Text;
                write += Environment.NewLine;
            }
ругается: InvalidArgument=Значение "0" недопустимо для "index".
Имя параметра: index


Ради интереса в начале цикла 0 заменил на 1, в итоге при наличии одной строки в листе сохраняет пустой файл. Т.е. дальнейшая часть кода отрабатывает хорошо. Но вот при наличии второй строки, выбивает ту же ошибку, но уже "Значение 1 недопустимо". Как быть, подскажите пожалуйста)
0
18 / 18 / 6
Регистрация: 21.12.2011
Сообщений: 72
13.05.2012, 02:08
C#
1
2
3
4
5
6
7
8
9
10
11
12
            string write;
 
            foreach (ListViewItem item in listView1.SelectedItems)
            {
                write =
                    item.Text + '|'
                    + item.SubItems[1].Text + '|'
                    + item.SubItems[2].Text + '|'
                    + item.SubItems[3].Text + '|'
                    + item.SubItems[4].Text + '|'
                    + Environment.NewLine;
            }
1
8 / 8 / 2
Регистрация: 09.11.2010
Сообщений: 69
13.05.2012, 09:36  [ТС]
Zer0_CooL, спасибо, но при использовании такой записи возникает проблема в следующем участке кода:
C#
1
2
3
4
5
6
7
8
9
10
11
 Stream myStream;
            SaveFileDialog saveFileDialog1 = new SaveFileDialog();
            saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                if ((myStream = saveFileDialog1.OpenFile()) != null)
                {
                    StreamWriter wText = new StreamWriter(myStream);
                    wText.Write(write); myStream.Close();
                }
            }

Ошибка 1 Использование локальной переменной "write", которой не присвоено значение.

И при попытке добавить данную переменную где либо в этом промежутке:


Ошибка 1 Невозможно объявить локальную переменную с именем "write" в этой области видимости, т.к. она придаст другое значение "write", которая уже используется в области видимости "родительский или текущий" для обозначения чего-то другого.
0
18 / 18 / 6
Регистрация: 21.12.2011
Сообщений: 72
13.05.2012, 11:10
C#
1
2
3
4
5
6
7
8
9
10
11
12
            string write = String.Empty;
 
            foreach (ListViewItem item in listView1.SelectedItems)
            {
                write =
                    item.Text + '|'
                    + item.SubItems[1].Text + '|'
                    + item.SubItems[2].Text + '|'
                    + item.SubItems[3].Text + '|'
                    + item.SubItems[4].Text + '|'
                    + Environment.NewLine;
            }
Перед сохранением текста в файл, можно проверить пустая ли переменная write?
C#
1
2
3
4
5
            // Если write не пустая
            if (!String.IsNullOrEmpty(write))
            {
                // Сохранить текст в файл
            }
1
8 / 8 / 2
Регистрация: 09.11.2010
Сообщений: 69
13.05.2012, 13:53  [ТС]
Итак, после всего вышеизложенного получился такой метод сохранения в тхт файл:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
           string write = String.Empty;
 
           foreach (ListViewItem item in listView1.SelectedItems)
           {
               write =
                   item.Text + '|'
                   + item.SubItems[1].Text + '|'
                   + item.SubItems[2].Text + '|'
                   + item.SubItems[3].Text + '|'
                   + item.SubItems[4].Text + '|'
                   + Environment.NewLine;
           }
            Stream myStream;
            SaveFileDialog saveFileDialog1 = new SaveFileDialog();
            saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                if ((myStream = saveFileDialog1.OpenFile()) != null)
                {
                    StreamWriter wText = new StreamWriter(myStream);
                    wText.Write(write); myStream.Close();
                }
            }
Только сохраняет пустой документ всё равно =\
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.05.2012, 13:53
Помогаю со студенческими работами здесь

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

запись из txt файла в базу данных Access
Здравствуйте, я не очень хорошо пока пишу на ASP, но мне на данный момент нужно решить такую задачу: есть документ txt, его содержание...

Чтение данных из txt файла и запись их в Excel
помогите пожалста. Такая вот проблемка. Есть файл (*.txt) в нём такой вот текст примерно: 11,2,333,4,51, 6,743,8,569,10, 11, и т.д....

Чтение из файла 'New.txt', запись четных строк в '1.txt', а нечетных в '2.txt'
В общем все работает, но есть &quot;НО&quot;, иначе бы не открывал тему. Содержимое исходного файла: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2...

Сохранение данных с ListView в .txt и загрузка с .txt
Сохранение данных с ListView в .txt и загрузка с .txt Помогите.


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru