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

Занесение записей в listBox из файла и изменение записей в файле

08.02.2016, 14:39. Показов 1996. Ответов 8

Студворк — интернет-сервис помощи студентам
Как сделать, что бы при запуске приложения, информация из конкретного файла сразу отображалась в listBoxе, а не выбирая файл через диалоговое окно. Затем, я вношу изменения в listBox, изменяю, удаляю или добавляю текст, всё работает, но изменения не сохраняются в файле, как это можно реализовать? Вот та самая программа, которую нужно подредактировать.
Вложения
Тип файла: rar Laba.rar (268.0 Кб, 7 просмотров)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.02.2016, 14:39
Ответы с готовыми решениями:

Изменение в файле записей с заданным значением поля
Написал прогу для заполнения определенных полей и создания текстового файла с этими полями. Подскажите пожалуйста как отредактировать...

Изменение и удаление записей в типизированном файле через stringgrid
Возникла проблема с изменением данных. Суть такова,мы находим одну запись с помощью поиска и выводим ее в stringgrid вот таким образом: ...

Для реализации записей использовать списки свойств атомов. Массив записей нужно считывать из файла
Помогите с лиспом пожалуйста. Ведомость сдачи экзамена содержит следующие графы: номер по порядку, фамилия студента, номер зачётной...

8
 Аватар для Евгений В
912 / 672 / 134
Регистрация: 01.03.2010
Сообщений: 1,279
08.02.2016, 18:54
daniel_kobica,
При открытии файла, Вы зачем то пишете всю информацию из этого файла только в listBox1.
А по заданию, нужно раскидать по всем listBox.

как вариант:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
       
         
       private void LoadFromFile(string fileName)
        {
            string[] data = File.ReadAllLines(fileName, Encoding.Default);
 
           // Далее, перебирая  массив, раскидываем его данные по нужным listBox
 
        }
              
        private void button1_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                LoadFromFile(openFileDialog1.FileName); 
            }
        }
1
4 / 4 / 2
Регистрация: 26.10.2014
Сообщений: 138
08.02.2016, 19:21  [ТС]
Цитата Сообщение от Евгений В Посмотреть сообщение
daniel_kobica,
При открытии файла, Вы зачем то пишете всю информацию из этого файла только в listBox1.
А по заданию, нужно раскидать по всем listBox.

как вариант:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
       
         
       private void LoadFromFile(string fileName)
        {
            string[] data = File.ReadAllLines(fileName, Encoding.Default);
 
           // Далее, перебирая  массив, раскидываем его данные по нужным listBox
 
        }
              
        private void button1_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                LoadFromFile(openFileDialog1.FileName); 
            }
        }
Задание не нужно смотреть, я его по ошибке добавил, нужно сделать так, как я написал выше
0
 Аватар для Евгений В
912 / 672 / 134
Регистрация: 01.03.2010
Сообщений: 1,279
08.02.2016, 20:00
Цитата Сообщение от daniel_kobica Посмотреть сообщение
нужно сделать так, как я написал выше
Так выше вы и делали ошибочно. Как я и писал. Зачем все копировать в один listBox?


Цитата Сообщение от daniel_kobica Посмотреть сообщение
Задание не нужно смотреть
Так не проще было бы тогда каждый listbox записывать в отдельный файл?
И так извлекать обратно:
C#
1
2
// например для listBox1
listBox1.DataSource = File.ReadAllLines(path);
1
4 / 4 / 2
Регистрация: 26.10.2014
Сообщений: 138
08.02.2016, 20:58  [ТС]
Окей. С этим разобрался. А как сделать, что бы изменения, редактируемые в текстовом поле, и, занесённые, допустим, в textbox1, сохранялись в файле?
0
 Аватар для Евгений В
912 / 672 / 134
Регистрация: 01.03.2010
Сообщений: 1,279
09.02.2016, 08:39
Цитата Сообщение от daniel_kobica Посмотреть сообщение
А как сделать, что бы изменения, редактируемые в текстовом поле, и, занесённые, допустим, в textbox1, сохранялись в файле?
Так у вас уже есть такой метод
C#
1
2
        private void SaveToFile(string FileName)
        {
Там перебираются все listBox и их содержимое записывается в один файл.

Для обратного извлечения, нужно содержимое этого файла поместить в массив, и раскидать данные обратно по всем listBox
C#
1
2
3
4
5
6
7
       private void LoadFromFile(string fileName)
        {
            string[] data = File.ReadAllLines(fileName, Encoding.Default);
 
           // Далее, перебирая  массив, раскидываем его данные по нужным listBox
 
        }
1
4 / 4 / 2
Регистрация: 26.10.2014
Сообщений: 138
09.02.2016, 23:30  [ТС]
Цитата Сообщение от Евгений В Посмотреть сообщение
Так у вас уже есть такой метод
прошу прощения, я запускал не рабочую программу, в которой сохранение не работало.
Последний вопрос. В программе файлы сохраняется с выбранной пользователем датой, даже, если я выберу файл с другим названием, изменю его содержимое, то этот файл не сохраняется, а создаётся или перезаписывается новый, имя которого будет с выбранной пользователем датой. Можно ли как-то сделать, что бы выбранный файл сохранялся именно с тем названием, которое уже у него имеется, что бы оно не зависело от даты?
0
 Аватар для Евгений В
912 / 672 / 134
Регистрация: 01.03.2010
Сообщений: 1,279
10.02.2016, 12:30
Лучший ответ Сообщение было отмечено daniel_kobica как решение

Решение

Цитата Сообщение от daniel_kobica Посмотреть сообщение
Можно ли как-то сделать, что бы выбранный файл сохранялся именно с тем названием, которое уже у него имеется, что бы оно не зависело от даты?
- зачем в private void button1_Click(object sender, EventArgs e) вы стали использовать локальную переменную
string fileName, когда везде используете глобальную FileName? Меняйте.

- не нужно при загрузке сразу задавать имя будущего файла, раз оно может меняться.
уберите из private void MainForm_Load(object sender, EventArgs e)
строку FileName = dateTimePicker1.Text + "txt";

- ну, и допишите имя файла по умолчанию, при закрытии приложения
C#
1
2
3
4
5
6
        private void CloseButton_Click(object sender, EventArgs e)
        {
            if (FileName == null) FileName = dateTimePicker1.Text + "txt";
 
            Close();
        }
1
4 / 4 / 2
Регистрация: 26.10.2014
Сообщений: 138
10.02.2016, 13:17  [ТС]
Цитата Сообщение от Евгений В Посмотреть сообщение
- зачем в private void button1_Click(object sender, EventArgs e) вы стали использовать локальную переменную
string fileName, когда везде используете глобальную FileName? Меняйте.

- не нужно при загрузке сразу задавать имя будущего файла, раз оно может меняться.
уберите из private void MainForm_Load(object sender, EventArgs e)
строку FileName = dateTimePicker1.Text + "txt";

- ну, и допишите имя файла по умолчанию, при закрытии приложения
C#
1
2
3
4
5
6
        private void CloseButton_Click(object sender, EventArgs e)
        {
            if (FileName == null) FileName = dateTimePicker1.Text + "txt";
 
            Close();
        }
Сделал как сказали, всё работает, спасибо за помощь)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.02.2016, 13:17
Помогаю со студенческими работами здесь

Занесение уникальных записей
как заносить записи чтобы они были уникальны? Не ячейки а полные записи, то есть если в записи несколько ячеек то по отдельности они...

Выборка записей столбца БД в ListBox в зависимости от выбора в первом ListBox
Ребят, хелп. Нужно запилить такую штуку, а хз как. Есть 2 лист бокса когда в первом выбирают определенный элемент со списка во второй...

Сохранение и открытие файла и занесение текста файла в ListBox
Здравствуйте! Вот никак не могу понять, прочитал уже столько тем на форуме, на http://msdn.microsoft.com/, но ничего не помогает. Мне нужно...

Чтение строк из файла и их занесение в Listbox
Есть txt файл с неким содержанием построчно. Нужно его считать и занести каждую строку по отдельности в listbox Как это организовать?

Фильтр записей в ListBox
Делаю программу для библиотеки для простого управления списком читателей, книг, задолженностей и все в этом духе (научный проект) По...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru