Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.07.28;
Скачать: CL | DM;

Вниз

Операции с данными в ячейках StringGrid а   Найти похожие ветки 

 
adept ©   (2012-11-27 23:18) [0]

Всем доброго времени суток !
Столкнулся с проблемой и не могу понять почему не работает

procedure TForm1.Timer1Timer(Sender: TObject);
var
Nac,dh,dh1,dh2,dh3,dh4,dh5,dh6,dh7: string;
//strc прописана глобально как интегер, переменной присваивается значение 1 при создании формы
begin
   Nac:=StringGrid1.Cells[0,strc];  //присваеваем переменной начинку первой строки
   dh1:=StringGrid1.Cells[0,strc][1]; // присваивание переменной значения 1-го символа с проверяемой ячейки
   dh2:=StringGrid1.Cells[0,strc][2]; // присваивание переменной значения 2-го символа с проверяемой ячейки
   dh3:=StringGrid1.Cells[0,strc][3];  //и т.д.
   dh4:=StringGrid1.Cells[0,strc][4];
   dh5:=StringGrid1.Cells[0,strc][5];
   dh6:=StringGrid1.Cells[0,strc][6];
   dh7:=StringGrid1.Cells[0,strc][7];
   dh:=dh1 + dh2 + dh3 + dh4 + dh5 + dh6 + dh7;  //обьеденяем значения воедино
   showmessage(dh);                         //смотрим че вышло
       if Nac="" Then strc:=1 else              // если начинка пустая - просто переводим счётчик на начало
           begin                                //если начинка чем-то заполнена - то работаем дальше
               if dh="0д. 0ч."  then            //проверятеся столбик СтрингГрида, в котором происходит обратный отсчёт
                   begin                        //если до выполнения задачи осталось 0 дней и 0 часов  - проверяем минуты и выдаём сообщение (последнее пока не надо, тут первое не пашет ))))
                       showmessage("0д. 0ч.");  //если нашло - показало что нашло (работает)
                       strc:=strc + 1;          //переход на след строку
                   end
               else
                   begin
                       strc:=strc + 1;
                   end;
           end;
end;


при первом "прохождении круга" всё прекрасно работает и всё показывает, однако при переходе "на второй круг" вылетает ошибка:
Project Project1.exe raised exception class EAccessViolation with message "Access violation at address 004756DF in module "Project1.exe". Read of address 00000000". Process stopped. Use Step or Run to contineu.

И выделяется строка:
dh1:=StringGrid1.Cells[0,strc][1]

Уж не осудите если что не так, новичек я тут :)


 
Игорь Шевченко ©   (2012-11-27 23:36) [1]

надо посмотреть, чему в момент ошибки равно strc и не превышает ли оно число строк - 1 в гриде


 
adept ©   (2012-11-27 23:42) [2]


> надо посмотреть, чему в момент ошибки равно strc и не превышает
> ли оно число строк - 1 в гриде

Спасибо!!!
вставил строку:
showmessage(IntToStr(strc));
перед проблемной строкой, оказывается оно дальше копает вместо того чтобы по кругу пойти!
Естественно находит пустую ячейку и в то время как пытается взять первый символ пустой ячейки - вылетает.

Все гениальное просто... )

еще раз спасибо !!


 
adept ©   (2012-11-27 23:45) [3]

гм... проблема была не в этом, а в том, что присваивание символов надо было начинать после проверки, что символы вообще есть, а не то неё.....


 
Германн ©   (2012-11-28 01:38) [4]


> adept ©   (27.11.12 23:45) [3]
>
> гм... проблема была не в этом, а в том, что присваивание
> символов надо было начинать после проверки, что символы
> вообще есть, а не то неё.....

Проблема была скорее всего именно в "этом".


 
O'ShinW ©   (2012-11-28 09:11) [5]

Время запуска задания надо хранить как время, а не как строки в стринггриде.

ветер - причина
Качания деревьев
не наоборот



Страницы: 1 вся ветка

Текущий архив: 2013.07.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.007 c
15-1362377389
O'ShinW
2013-03-04 10:09
2013.07.28
Почем нынче и в какие сроки раскрутят сайт? Опыт у кого есть?


15-1362601803
Юрий
2013-03-07 00:30
2013.07.28
С днем рождения ! 7 марта 2013 четверг


15-1362342603
Юрий
2013-03-04 00:30
2013.07.28
С днем рождения ! 4 марта 2013 понедельник


15-1361513222
JohnKorsh
2013-02-22 10:07
2013.07.28
"Ненужные" COM порты.


15-1362398967
Kerk
2013-03-04 16:09
2013.07.28
Обход графа