Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.11.2012, 18:27
Аватар для borockov
borockov borockov вне форума
Начинающий
 
Регистрация: 18.08.2012
Сообщения: 125
Репутация: 10
По умолчанию stringgrid-Подгружает только первую запись

Друзья, возникла такая проблема. Работаю с компонентом stringgrid, записи добавляются, удаляются, сохраняются, но вот блин проблема. Когда я пытаюсь открыть файл который у меня сохранён, в stringgrid отображается только первая строчка.

Сохраняю таким образом:
Код:
procedure TForm5.Image3Click(Sender: TObject);
var List: TStringList;
  i, j: Integer;
begin
List:=TStringList.Create;
with Stringgrid1 do
  for i:=0 to RowCount-1 do
  for j:=0 to  ColCount-1 do
    List.Add(Cells[j, i]);
List.SaveToFile('sostav\'+form3.dbedit1.text+'.txt');
end;

Открываю сохранённый файл так:
Код:
procedure TForm5.Image4Click(Sender: TObject);
var List: TStringList;
  i, j: Integer;
begin
List:=TStringList.Create;
List.LoadFromFile('sostav\'+form3.dbedit1.text+'.txt');
with Stringgrid1 do
  for i:=0 to RowCount-1 do
  for j:=0 to  ColCount-1 do
    Cells[j, i]:=List[i*ColCount+j];
end;

Друзья, помогите пожалуйста. Заранее спасибо!
Ответить с цитированием
  #2  
Старый 13.11.2012, 19:08
Аватар для borockov
borockov borockov вне форума
Начинающий
 
Регистрация: 18.08.2012
Сообщения: 125
Репутация: 10
По умолчанию =)

Проблема решена=)
Если кому то надо держите

Сохранение:
Код:
procedure TForm5.Button1Click(Sender: TObject);
var i,j:integer;
    sl:TStringList;
    str:string;
begin
 sl:=TStringList.Create;
 sl .Add(IntToStr(StringGrid1.RowCount)+#9+ IntToStr(StringGrid1.ColCount));
 for i:=0 to StringGrid1.RowCount-1 do
 begin
  str:='';
  for j:=0 to StringGrid1.ColCount-1 do
  str:=str+StringGrid1.Cells[j,i]+#9;
  sl.Add(Str);
 end;
// Сохраняем содержимое списка строк в файле
sl.SaveToFile('sostav\'+form3.dbedit1.text+'.txt');
sl .Free;
end;
Открытие:
Код:
var
sl:TStringList;
i,j:Integer;
Str, CellText:String;
begin
 sl:=TStringList.Create;
 sl.LoadFromFile('d:\1.txt');
 Str:=sl[0];
 i:=StrToInt(copy(Str,1,pos(#9,Str)-1));
 StringGrid1.RowCount:=i;
 Delete(Str,1,pos(#9,Str));
 StringGrid1.ColCount:= StrToInt(Str);
 for i:=1 to sl.Count-1 do
 begin
  Str:=sl[i];
  j:=0;
  while Length(Str)>0 do
  begin
   CellText:=copy(Str,1,pos(#9,Str)-1);
   StringGrid1.Cells[j,i-1]:=CellText;
   Delete(Str,1,pos(#9,Str));
   inc(j);
  end;
 end;
sl.Free;

Код вырезал из исходника какого то найденнго на просторах инета=)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:30.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025