![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здраствуйте!!!
Помогите пожалуйста!!!Сижу уже неделю, не могу сделать!Мне надо сохранить содержимое StringGrid (2 столбца и 15 строк) с помощью OpenDialog в текстовый файл. И в последующем можно было открыть в этот же StringGrid любой текстовый файл!!! Всё испробовала!Не получается ![]() |
#2
|
||||
|
||||
![]() Цитата:
Проблема всяко в 73 строке! А теперь без шуток. За Вас накто тут писать не будет. Говорите сразу, что не получается, как пытаетесь, и так далее. Что могу сказать по сообщению: 1. OpenDialog используется при открытии (open), а не сохранении (save) файла. Используйте SaveDialog. 2. ****Dialog-и ничего не открывают и не сохраняют, они лишь помогают получить имя файла от пользователя. 3. StringGrid сам никуда сохраняться не умеет - вам надо написать два вложенных цикла, и в них "перепарсить" грид в тот же StringList. А после этого уже Код:
StringList.SaveToFile(SaveDialog1.FileName); Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#3
|
|||
|
|||
![]() Извините, что не понятно написала!Ниже код, для открытия! Он открывает только i-ый столбец, j-ую не могу открыть((((
Код:
procedure TForm1.N2Click(Sender: TObject); var i: integer; InFile: TextFile; //текстовый файл для идентификации файла fname, InString: String; //строковые перменные , fname- текст для имени файла begin If OpenDialog1.Execute then begin fname:=OpenDialog1.FileName; AssignFile(InFile,fname); //имя файла его определяет из OpenDialog1 Reset(InFile); //открывает существующий файл i:=0; While not Eof(InFile) do Begin Readln(InFile,InString); a[i]:= StrToInt(InString); stringGrid1.Cells[0,i]:=IntToStr(a[i]); i:=i+1; end; Последний раз редактировалось Admin, 11.05.2010 в 20:29. |
#4
|
|||
|
|||
![]() Пробовала анологично сделать j-ый столбец, он не получается, то ошибка, то он всё открывает в i-ом столбце соединяя числа!
|
#5
|
||||
|
||||
![]() Можно так...
Код:
// Save a TStringGrid to a file procedure SaveStringGrid(StringGrid: TStringGrid; const FileName: TFileName); var f: TextFile; i, k: Integer; begin AssignFile(f, FileName); Rewrite(f); with StringGrid do begin // Write number of Columns/Rows Writeln(f, ColCount); Writeln(f, RowCount); // loop through cells for i := 0 to ColCount - 1 do for k := 0 to RowCount - 1 do Writeln(F, Cells[i, k]); end; CloseFile(F); end; // Load a TStringGrid from a file procedure LoadStringGrid(StringGrid: TStringGrid; const FileName: TFileName); var f: TextFile; iTmp, i, k: Integer; strTemp: String; begin AssignFile(f, FileName); Reset(f); with StringGrid do begin // Get number of columns Readln(f, iTmp); ColCount := iTmp; // Get number of rows Readln(f, iTmp); RowCount := iTmp; // loop through cells & fill in values for i := 0 to ColCount - 1 do for k := 0 to RowCount - 1 do begin Readln(f, strTemp); Cells[i, k] := strTemp; end; end; CloseFile(f); end; // Save StringGrid1 to 'c:\temp.txt': procedure TForm1.Button1Click(Sender: TObject); begin SaveStringGrid(StringGrid1, 'c:\temp.txt'); end; // Load StringGrid1 from 'c:\temp.txt': procedure TForm1.Button2Click(Sender: TObject); begin LoadStringGrid(StringGrid1, 'c:\temp.txt'); end; В начале был Бит, потом Байт и только потом появилось Слово... |