Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

StringGrid

2.9K
13 декабря 2005 года
narcotic
41 / / 04.10.2004
Здавствуйте. Я пытаюсь сохранить данные из StringGrid в текстовый файл. Если я записываю в ячейки по одному символу, то при считывании из файла данные заносятся в ячейки нормально. А если больше символов, то выводится не понятно, что. Что-то я запутался здесь. Вот то, что я писал.
Запись в файл:
Код:
FILE *f;
f = fopen("file.txt", "w");
int rows = StringGrid1->RowCount;
fwrite(&rows, sizeof(rows), 1, f);
for(int i=0; i<=StringGrid1->ColCount-1; i++)
for(int j=0; j<=StringGrid1->RowCount-1; j++)
{
   AnsiString s = StringGrid1->Cells[j];
   char *d = s.c_str();
   fwrite(d, sizeof(d), 1, f);
}
fclose(f);

Считываю из файла:
Код:
FILE *f;
f = fopen("file2.txt", "r");
fread(&rows, sizeof(rows), 1, f);
StringGrid1->RowCount = rows;
for(int i=0; i<=StringGrid1->ColCount-1; i++)
for(int j=0; j<=StringGrid1->RowCount-1; j++)
{
   fread(&s, strlen(s)+3, 1, f);
   str = (AnsiString)s;
   StringGrid1->Cells[j] = s;
}
fclose(f);

Подскажите, пожалуйста, как правильно написать.
246
13 декабря 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by narcotic
Здавствуйте. Я пытаюсь сохранить данные из StringGrid в текстовый файл. Если я записываю в ячейки по одному символу, то при считывании из файла данные заносятся в ячейки нормально. А если больше символов, то выводится не понятно, что. Что-то я запутался здесь. Вот то, что я писал.
Запись в файл:
Код:
FILE *f;
f = fopen("file.txt", "w");
int rows = StringGrid1->RowCount;
fwrite(&rows, sizeof(rows), 1, f);
for(int i=0; i<=StringGrid1->ColCount-1; i++)
for(int j=0; j<=StringGrid1->RowCount-1; j++)
{
   AnsiString s = StringGrid1->Cells[j];
   char *d = s.c_str();
   fwrite(d, sizeof(d), 1, f);
}
fclose(f);

Считываю из файла:
Код:
FILE *f;
f = fopen("file2.txt", "r");
fread(&rows, sizeof(rows), 1, f);
StringGrid1->RowCount = rows;
for(int i=0; i<=StringGrid1->ColCount-1; i++)
for(int j=0; j<=StringGrid1->RowCount-1; j++)
{
   fread(&s, strlen(s)+3, 1, f);
   str = (AnsiString)s;
   StringGrid1->Cells[j] = s;
}
fclose(f);

Подскажите, пожалуйста, как правильно написать.



StringGrid1->Rows->Text?

15K
17 декабря 2005 года
Wolf547
1 / / 17.12.2005
Доброго времени !
По данному компоненту имею ряд вопросов. Заранее благодарю за помощь.
:!!!:Пролог: чтение из файла("wb"). Натыкаемся на значение символа 0х01...0х1F.
:-? 1. Вопрос: Как отобразить, в ячейки StringGrid, подобный символ, желательно по аналогии с DOS-ской раскладкой (ниодин шрифт, в компоненте, такую возможность не дает).
:-? 2. Как прочитать массив выделенных ячеек?
:-? 3. Как программно выделить ячейки(>одной)?
:-? 4. Возможно "рваное" выделение ячеек?
пояснение к п.4.: Col1/Row1 до Col2/Row2 плюс Col3/Row3 плюс Col4/Row4 до Col5/Row5.
С Уважением Wolf
PS: по первому вопросу... как-то задается массив(побитгый Nх8х8 ) и производится его чтение как символ... чтото подобное делали, в свое время, для создание красотулек... еще под DOS-ом... забыл:(
1.9K
19 декабря 2005 года
Anton Chik
175 / / 26.09.2005
2narcotic: Я так понимаю в файл у тебя все удачно записывается...
А вот ты не задумывался над строчкой
 
Код:
fread(&s, strlen(s)+3, 1, f);

???
как strlen вычислит длину s ,если s только предстоит считать?
почему бы не воспользоваться fgets или fscanf ???
(просто я никогда не пользовался fread)
2.9K
19 декабря 2005 года
narcotic
41 / / 04.10.2004
Цитата:
Originally posted by Anton Chik
2narcotic: Я так понимаю в файл у тебя все удачно записывается...
А вот ты не задумывался над строчкой
 
Код:
fread(&s, strlen(s)+3, 1, f);

???
как strlen вычислит длину s ,если s только предстоит считать?
почему бы не воспользоваться fgets или fscanf ???
(просто я никогда не пользовался fread)


Я решил не морочатся с fwrite и fread. Я просто записываю данные в TMemo и оттуда записываю данные в файл. Точно так же и считываю данные.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог