Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Text [D6, WinXP]


Студент ©   (2003-01-08 01:23:00) 

Почему при попытке сохранения значений таблицы в файл (StringGrid). В файл зщаписываются только значения только первых девяти строк?

procedure TForm1.Save;
var
n: word;
begin
Assignfile (F3, CSV3);
Rewrite(F3);
With StringGrid1 do begin
For n:= 1 to StringGrid1.RowCount - 1 do begin
Write(F3, Cells[1, n], ",", Cells[2, n], ",", Cells[3, n], ",");
Writeln(F3, IoResult);
end
end
end;

F3 - переменная типа text


Студент   (2003-01-09 01:20:00) [1]

IoResult, я засунул, чтоб посмотреть в чем дело. Проблему я решил давно. Мне просто интересно почему не пишет. По-моему он ограниченное число символов пишет. Иногда ячейку только наполовину записывает

Плюс там я уже это место исправил

procedure TForm1.SaveGoods;
var
n: word;
begin
Rewrite(F1);
With StringGrid1 do begin
For n:= 1 to StringGrid1.RowCount - 1 do begin
Append(F1);
Write(F1, Cells[1, n], ",", Cells[2, n], ",", Cells[3, n]);
Writeln(F1);
closefile(f1)
end
end
end;


procedure TForm1.SavePrices;
var
n: word;
begin
Rewrite(F2);
With StringGrid1 do begin
For n:= 1 to StringGrid1.RowCount - 1 do begin
Append(F2);
Write(F2, Cells[1, n], ",", Cells[4, n]);
Writeln(F2);
closefile(F2)
end
end
end;


Может чуть коряво. Зато работает.


Pat   (2003-01-08 09:09:00) [2]

Мдя...по ночам спать надо...Перепутал StringGrid и TStringList...спать надо больше © не я :-)))


Anatoly Podgoretsky   (2003-01-08 07:54:00) [3]

Может у тебя только 9 строк, и переменная IOResult смущает.
В общем тебе поможет простая трассировка.
Кстати вместо запятой, разделителем лучше сделать табулятор.


Для   (2003-01-08 04:29:00) [4]

Студентов!
В предъявленном Вами куске кода ошибок (явных) нет!
Но и сам код явно "ущербный".
Предъявите 17-ю строку сего кода, тогда Вам помогут (может быть).


Студент   (2003-01-08 04:13:00) [5]

Закрыть надо, но речь идёт совсем не об этом.
И нулевую строку выводить ненадо, т.к. в ней названия столбцов таблицы.
Просто интересно почему запись обрывается.


Казалось   (2003-01-08 04:07:00) [6]

бы, (это я к Pat © (08.01.03 02:04))
ставить "n:= 0 " не хочет сам автор и это его право!
А все остальное, как известно, (by AP) - в 17-й строке!


Pat   (2003-01-08 02:04:00) [7]

For n:= 0to StringGrid1.RowCount - 1 do
Да и файл нужно бы закрыть


Наверх

Титульная страница Поиск, карта сайта Написать письмо