Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 08.02.2018
Сообщений: 5
1
Builder 6

Задача с потоками ofstream и ifstream

08.02.2018, 18:10. Показов 597. Ответов 7
Метки нет (Все метки)

Задача, есть форма с PageControl и три вкладки TabSheet на каждой вкладке находится StringGrid
мне необходимо введя данные в колонки нажать "Сохранить" затем при перезапуске проекта кнопкой "Загрузить" полностью восстановить ранее введёные данные есть код для кнопки "Сохранить":
C++
1
2
3
4
5
6
7
8
9
10
11
AnsiString TPath;
TPath=TabSheet->Caption+".txt";
ofstream file1;
file1.open(TPath.c_str());
for (int i=2;!StringGrid->Cells[i][0].IsEmpty();i++)
{memset (buf,0,sizeof(buf));
for (int j=0;j<STUDENTS;j++)
{strcpy(buf,StringGrid->Cells[i][j].c_str());
file1<<buf<<"/n";}
}
file1.close();
И кнопка "Загрузить"
C++
1
2
3
4
5
6
7
8
9
10
11
AnsiString TPath;
char buf[10];
ifstream file1;
file1.open(TPath.c_str());
for (int i=2;!file1.eof();i++)
{memset (buf,0,sizeof(buf));
for (int j=0;j<STUDENTS;j++)
{file1>>buf;
 StringGrid->Cells[i][j]=buf;}
}
file1.close();
Проект запускается, кнопка сохранить работает но при нажатии "Загрузить" ничего не происходит и Проект не откликается на команды, тобишь находится в состоянии выполнении чего то... но вопрос чего и как это решить? Спасибо
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.02.2018, 18:10
Ответы с готовыми решениями:

Ошибка с ofstream и ifstream
Выдаёт ошибки на ofstream F и ifstream G . Много пересмотрел материалов , но ответа на вопрос не...

Работаем с потоками на C++ ofstream и ifstream
Доброго времени суток! Подскажите пожалуйста, как при использовании ofstream и ifstream...

Работа с потоками ofstream/ifstream
Добрый вечер! Помогите, пожалуйста, с задачей! Дан класс: class data { char str; //дата...

Нужно пояснить работу с потоками ofstream, ifstream, fstream
Лектор не поставил коментариев, а я сейчас как дурак сижу разшифровую. Помогите, особенно на...

7
Модератор
7181 / 4682 / 1973
Регистрация: 21.01.2014
Сообщений: 19,842
Записей в блоге: 3
09.02.2018, 06:29 2
Vladimir_Grid,
1. а какое значение у Вас в переменной TPath в момент загрузки?
2. а вот обязательно через эту сишную заумь StringGrid-ы в файлы сохранять-то?
0
0 / 0 / 0
Регистрация: 08.02.2018
Сообщений: 5
09.02.2018, 11:58  [ТС] 3
У каждой вкладки свое название Caption. Вот я создаю текстовый док с названием вкладки +".txt"
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31192 / 20390 / 7940
Регистрация: 22.10.2011
Сообщений: 35,360
Записей в блоге: 6
09.02.2018, 12:38 4
Vladimir_Grid, еще раз: это обязательно делать врукопашную? Нельзя просто создать для сохранения грида один TStringList, туда все записать в две строки кода, и потом еще одной строкой сохранить, не прибегая к ручной работе с файлами и потоками?
0
36 / 35 / 17
Регистрация: 15.06.2017
Сообщений: 184
09.02.2018, 14:06 5
Цитата Сообщение от D1973 Посмотреть сообщение
а вот обязательно через эту сишную заумь StringGrid-ы в файлы сохранять-то?
100% согласен. Если среда позволяет сделать это проще, почему бы не воспользоваться этими возможностями.
0
Модератор
7181 / 4682 / 1973
Регистрация: 21.01.2014
Сообщений: 19,842
Записей в блоге: 3
09.02.2018, 14:11 6
Цитата Сообщение от Vladimir_Grid Посмотреть сообщение
Вот я создаю текстовый док с названием вкладки +".txt"
Это, конечно, замечательно, но в коде я не заметил, чтобы в переменную TPath было записано это самое "название вкладки +".txt"" А именно эта переменная используется для идентификации файла.
0
0 / 0 / 0
Регистрация: 08.02.2018
Сообщений: 5
09.02.2018, 18:44  [ТС] 7
Цитата Сообщение от D1973 Посмотреть сообщение
Это, конечно, замечательно, но в коде я не заметил, чтобы в переменную TPath было записано это самое "название вкладки +".txt"" А именно эта переменная используется для идентификации файла.
Во второй строчке TPath=TabSheet->Caption+".txt";

Добавлено через 1 минуту
Цитата Сообщение от volvo Посмотреть сообщение
это обязательно делать врукопашную? Нельзя просто создать для сохранения грида один TStringList, туда все записать в две строки кода, и потом еще одной строкой сохранить, не прибегая к ручной работе с файлами и потоками?
Конечно же нет, но мой препод по Системному Программированию сказал надо, значит надо... куда деваться то
0
Модератор
7181 / 4682 / 1973
Регистрация: 21.01.2014
Сообщений: 19,842
Записей в блоге: 3
09.02.2018, 21:42 8
Цитата Сообщение от Vladimir_Grid Посмотреть сообщение
Во второй строчке TPath=TabSheet->Caption+".txt";
Это - в процедуре сохранения... А где присвоение имени файла в процедуре загрузки? Или я плохо по русски выражаюсь, что приходится третий раз одно и то же спрашивать?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.02.2018, 21:42

ifstream / ofstream
Доброго времени суток. И сразу к проблеме. Делаю вывод в файл объектов класса для их последующего...

ifstream ofstream
как работают данные файловые операции, объясните пожалуйста куда происходит запись ена жёстком...

ifstream/ofstream/fstream
#include &lt;fstream&gt; fstream autosave; autosave.open(&quot;...autosave.txt&quot;); char x; autosave...

Перегрузка ifstream и ofstream?
Есть класс //test.h cass test { private: int i; string st; public:

C++ файлы ifstream/ofstream
Доброе время суток нужна небольшая помощь с записью/считыванием из файла вообщем при считывание из...

ifstream, ofstream и объекты класса
Доброго времени суток, помогите пожалуйста разобраться. Есть некий класс: class Tr { public:...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.