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

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

ошибка при работе с tstringlist & stringgrid


Тимон ©   (2006-04-14 20:37:00) 

не пойму в чем ошибка
edit1.text='0,5,0,5,5,5,5';
 try
 items := TStringList.Create;
 items.CommaText :=edit1.Text;
   StringGrid1.Cells[1,1] := items[0];
   StringGrid1.Cells[2,1] := items[1];
   StringGrid1.Cells[3,1] := items[2];
   StringGrid1.Cells[4,1] := items[3];
   StringGrid1.Cells[5,1] := items[4];
   StringGrid1.Cells[6,1] := items[5];
   StringGrid1.Cells[7,1] := items[6];
items.free;
 finally
end;
выводит все как надо без ошибок,а вот если так
 try
 items := TStringList.Create;
 q:=form2.StringGrid1.Row;
 items.CommaText :=form2.AdvStringGrid1.Cells[15,q];
   AdvStringGrid1.Cells[1,1] := items[0];
   AdvStringGrid1.Cells[2,1] := items[1];
   AdvStringGrid1.Cells[3,1] := items[2];
   AdvStringGrid1.Cells[4,1] := items[3];
   AdvStringGrid1.Cells[5,1] := items[4];
   AdvStringGrid1.Cells[6,1] := items[5];
   AdvStringGrid1.Cells[7,1] := items[6];
items.free;
 finally
end;

пишет ошибку
подскажите плиз как быть


Anatoly Podgoretsky   (2006-04-15 12:02:00) [1]

О обнаружил, что ты еще и Дарья.
Пожалуйста укажите полный список имен и пол каждого из них.


Anatoly Podgoretsky   (2006-04-15 11:58:00) [2]

Дашенька/Тимон/Новичек просто пока этого не понимает, чайник еще.


Gero   (2006-04-15 02:33:00) [3]

> Тимон   (14.04.06 20:37)

try...finally в данном коде не имеет сымсла.


Германн   (2006-04-15 02:31:00) [4]

А зачем термин Items, который является свойством многих VCL-компонент использовать как имя переменной?


kilkennyCat   (2006-04-14 21:27:00) [5]


> я понял что ошибка появляеться только тогда,когда в ячейке
> нету данных,если есть то все работает на ура,а вот как нету
> так сразу ошибка


ну разумеется. если нет данных, то как отработает items.CommaText ? появятся ли итемы вообще? и сколько?
var
 s : string;
 i : word;

items := TStringList.Create;
with form2 do s := AdvStringGrid1.Cells[15, AdvStringGrid1.Row];
if s <> '' then begin
 items.CommaText := s;
 for i := 0 to items.count -1 do AdvStringGrid1.Cells[i + 1,1] := items[i];
end;
items.free;


Тимон   (2006-04-14 21:11:00) [6]


> try
> items := TStringList.Create;
> q:=form2.AdvStringGrid1.Row; - здесь advстринггрид на ф2
> items.CommaText :=form2.AdvStringGrid1.Cells[15,q]; здесь
> адвстрингрид на ф2
>   AdvStringGrid1.Cells[1,1] := items[0]; здесь и далее адвстринггрид
> на ф1 ...
>   AdvStringGrid1.Cells[2,1] := items[1];
>   AdvStringGrid1.Cells[3,1] := items[2];
>   AdvStringGrid1.Cells[4,1] := items[3];
>   AdvStringGrid1.Cells[5,1] := items[4];
>   AdvStringGrid1.Cells[6,1] := items[5];
>   AdvStringGrid1.Cells[7,1] := items[6];
> items.free;
> finally
> end;


я накосячил тут неправильно написал


kilkennyCat   (2006-04-14 21:02:00) [7]

бррр
сам запутался...
имеем:

try
items := TStringList.Create;
q:=form2.StringGrid1.Row; - здесь стринггрид на ф2
items.CommaText :=form2.AdvStringGrid1.Cells[15,q]; здесь адвстрингрид на ф2
  AdvStringGrid1.Cells[1,1] := items[0]; здесь и далее адвстринггрид на ф1...
  AdvStringGrid1.Cells[2,1] := items[1];
  AdvStringGrid1.Cells[3,1] := items[2];
  AdvStringGrid1.Cells[4,1] := items[3];
  AdvStringGrid1.Cells[5,1] := items[4];
  AdvStringGrid1.Cells[6,1] := items[5];
  AdvStringGrid1.Cells[7,1] := items[6];
items.free;
finally
end;


Дарья   (2006-04-14 21:01:00) [8]


> где указано, что это на Form2?  
>   AdvStringGrid1.Cells[1,1] := items[0];
>   AdvStringGrid1.Cells[2,1] := items[1];
>   AdvStringGrid1.Cells[3,1] := items[2];
>   AdvStringGrid1.Cells[4,1] := items[3];
>   AdvStringGrid1.Cells[5,1] := items[4];
>   AdvStringGrid1.Cells[6,1] := items[5];
>   AdvStringGrid1.Cells[7,1] := items[6];

на форм3 AdvStringGrid1 и на форм2 AdvStringGrid1
процедура работает с форм3.AdvStringGrid1 и загружает данные из форм2.AdvStringGrid1


kilkennyCat   (2006-04-14 21:00:00) [9]

где указано, что это на Form2?  
  AdvStringGrid1.Cells[1,1] := items[0];
  AdvStringGrid1.Cells[2,1] := items[1];
  AdvStringGrid1.Cells[3,1] := items[2];
  AdvStringGrid1.Cells[4,1] := items[3];
  AdvStringGrid1.Cells[5,1] := items[4];
  AdvStringGrid1.Cells[6,1] := items[5];
  AdvStringGrid1.Cells[7,1] := items[6];


Дарья   (2006-04-14 20:56:00) [10]


> пишет ошибку
> Какую?

я понял что ошибка появляеться только тогда,когда в ячейке нету данных,если есть то все работает на ура,а вот как нету так сразу ошибка


Kolan   (2006-04-14 20:53:00) [11]

пишет ошибку
Какую?


Наверх

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