| 
| 
 | Вопрос # 2 628/ вопрос решён / | 
 |  Здравствуйте, уважаемые эксперты!Подскажите пожалуйста как сохранить данные со  StringGrid  в текстовый файл?
 Делаю, но сохраняется ток последняя строка?
 Приложение:Переключить в обычный режим for i:=1 to 4 do begin with SaveDialog1 do      if Execute then        begin           StringGrid1.Rows[i].SaveToFile(FileName);        end;end;end; 
|  |   Вопрос задал: Grom48 (статус: Посетитель)Вопрос отправлен: 13 апреля 2009, 18:34
 Состояние вопроса: решён, ответов: 2.
 |  Ответ #1. Отвечает эксперт: Dron Здравствуйте, Grom48!Ну ещё бы. SaveToFile сохраняет весь TStringList в файл, перезаписывая его. А ваш код просто 4 раза "мучает" файл. К тому же, непонятно, зачем вызывать диалог в цикле. По логике, он нужен всего один раз.
 В приложении 2 функции - для сохранения содержимого StringGrid в текстовый файл, и для загрузки его оттуда. Функции универсальные и работают независимо от числа столбцов/строк конкретного StringGrid.
 Приложение:Переключить в обычный режим procedure SaveGrid(stringgrid: tstringgrid; fn: string);var  f: textfile;  x, y: integer;begin  assignfile(f, fn);  rewrite(f);  writeln(f, stringgrid.colcount);  writeln(f, stringgrid.rowcount);  for X := 0 to stringgrid.colcount - 1 do    for y := 0 to stringgrid.rowcount - 1 do      writeln(F, stringgrid.cells[x, y]);  closefile(f);end; procedure LoadGrid(stringgrid: tstringgrid; fn: string);var  f: textfile;  temp, x, y: integer;  tempstr: string;begin  assignfile(f, fn);  reset(f);  readln(f, temp);  stringgrid.colcount := temp;  readln(f, temp);  stringgrid.rowcount := temp;  for X := 0 to stringgrid.colcount - 1 do    for y := 0 to stringgrid.rowcount - 1 do    begin      readln(F, tempstr);      stringgrid.cells[x, y] := tempstr;    end;  closefile(f);end;
|  | Ответ отправил: Dron (статус: Студент)Время отправки: 13 апреля 2009, 18:39
 Оценка за ответ: 5
 |  Ответ #2. Отвечает эксперт: min@y™ Ну ващще!Посмотри вот сюда, там пример функции сохранения содержимого грида в текстовый файл.
 
|  | Ответ отправил: min@y™ (статус: Доктор наук)Время отправки: 13 апреля 2009, 18:46
 Оценка за ответ: 5
 |  
 Мини-форум вопросаВсего сообщений: 3; последнее сообщение — 13 апреля 2009, 19:24; участников в обсуждении: 3. 
|   | Grom48 (статус: Посетитель), 13 апреля 2009, 19:01 [#1]:а как это сделать чтоб сохранял в определённое место на диске, которое задаётся во время работы программы |  
|   | Dron (статус: Студент), 13 апреля 2009, 19:04 [#2]:В функциях, которые я привёл, вторым параметром задаётся именно путь к файлу. Первым - StringGrid, с которым работаем. С уважением. |  
|   | min@y™ (статус: Доктор наук), 13 апреля 2009, 19:24 [#3]: Цитата: В функциях, которые я привёл, вторым параметром задаётся именно путь к файлу. Первым - StringGrid, с которым работаем.
 
 
 Я тоже.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  31 января 2011, 19:36: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |