rasamaha, вот посмотрите. Загрузка из ранее сохраненного файла в StringGrid.
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
i, LastRow, CommaPos: Integer;
FirstStr: string;
SList: TStringList;
begin
if not OpenDialog1.Execute then Exit;
SList := TStringList.Create;
try
SList.LoadFromFile(OpenDialog1.FileName);
StringGrid1.RowCount := SList.Count;
FirstStr := SList.Strings[0];
i := 0; CommaPos := Pos(',', FirstStr);
while CommaPos <> 0 do
begin
Delete(FirstStr, 1, CommaPos);
Inc(i);
CommaPos := Pos(',', FirstStr);
end;
StringGrid1.ColCount := i + 1;
LastRow := StringGrid1.RowCount - 1;
for i := 0 to LastRow do
StringGrid1.Rows[i].CommaText := SList.Strings[i];
finally
SList.Free;
end;
end;
Сказанное
popyurv остается в силе. Как вариант можно перед сохранением производить проверку ячеек на наличие в них символа-разделителя, заменяя его, скажем, на какой-нибудь безопасный символ. А при загрузке заменять его обратно.
_________
Я исправила немного!! Была ошибка Delete(FirstStr, 1,
i); И лучше внять совету
popyurv ниже и использовать вместо атрибута CommaText другое свойство — DelimitedText, предварительно устанавливая в циклах для каждой строки нужное значение разделителя, например: StringGrid1.Rows[i].Delimiter := '|';