Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 11.02.2015
Сообщений: 81
1

Заполнение StringGrid завершается с ошибкой

14.02.2015, 20:53. Просмотров 369. Ответов 6
Метки нет (Все метки)

Всем привет, вот цикл с условием , майгрид это стринггрид, почему то не происходит заполнения , подскажите где ошибка
Delphi
1
2
3
4
5
6
7
8
9
10
for i := 1 to logpas.Count-1 do
         st:=logpas[i]    ;
      for j := 1 to 2 do
      o:=Length(st)        ;
  if o<>0 then  begin  st2:=copy(st,1,pos('^',st)-1);
       MyGrid.Cells[i,j]:= st2;
       delete(st,1,pos('^',st)) ;
        label2.Caption:=st2;
       o:=0;
  end else    MyGrid.Cells[i,j]:= st;   label3.Caption:=st;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.02.2015, 20:53
Ответы с готовыми решениями:

Установкой пакета SQLite, завершается ошибкой
При установке выше указанного пакета выдает ошибку..... sqlitecomponenteditor.pas(0,0) Fatal: Can...

Программа завершается с ошибкой
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; const int size = 20; const int...

GetMailslotInfo завершается с ошибкой
Здравствуйте! Продолжаю осваивать работу с почтовыми ящиками в Windows. Не знаю, может быть стоило...

Выборка из БД по ID завершается с ошибкой
Появилась след проблема: есть таблица в БД назовем ее USER, в неи первичный ключ - CODE(varchar)....

6
Модератор
3468 / 2594 / 738
Регистрация: 19.09.2012
Сообщений: 7,956
14.02.2015, 21:01 2
Не хватает операторных скобок.
0
0 / 0 / 0
Регистрация: 11.02.2015
Сообщений: 81
14.02.2015, 21:38  [ТС] 3
поправил, заполняет только первую строку и то не верно
Delphi
1
2
3
4
5
6
7
8
9
10
  for i := 1 to logpas.Count-1 do   begin
         st:=logpas[i];
      for j := 1 to 2 do   begin
      o:=Length(st);
  if o<>0 then  begin  st2:=copy(st,1,pos('^',st)-1);
       MyGrid.Cells[i,j]:= st2;
       delete(st,1,pos('^',st));
        label2.Caption:=st2;
       o:=0;
  end else    MyGrid.Cells[i,j]:= st;   label3.Caption:=st;   end;   end;
0
Модератор
3468 / 2594 / 738
Регистрация: 19.09.2012
Сообщений: 7,956
14.02.2015, 21:47 4
Значит с условиями где-то напутал.
Сколько у тебя "крышек" в каждой строке?
Если одна, то на втором проходе цикла j ф-ция pos уже ничего не находит.
0
0 / 0 / 0
Регистрация: 11.02.2015
Сообщений: 81
14.02.2015, 22:11  [ТС] 5
Идея в чем, вот запись log^pas на первом круг прогона j выполняется условие что о<>нулю мы заполняем ячейку 1.1:=log , сразу присваиваем o:=0 после чего на втором круг должен присвоить остаток pass в 1.2 и переход к следующей строке
0
Модератор
3468 / 2594 / 738
Регистрация: 19.09.2012
Сообщений: 7,956
14.02.2015, 22:17 6
Так присваивай сразу оба значения без лишнего цикла:
Delphi
1
2
3
4
st2:=copy(st,1,pos('^',st)-1);
MyGrid.Cells[i,1]:= st2;
delete(st,1,pos('^',st));
MyGrid.Cells[i,2]:= st;
0
0 / 0 / 0
Регистрация: 11.02.2015
Сообщений: 81
15.02.2015, 08:41  [ТС] 7
это пока два , а если значений будет более двух? я только учусь поэтому интересно как сделать по человечески когда значений будет больше

Добавлено через 9 часов 39 минут
help me проверил на цикл с условием заходит все работает, кроме одного, он либо не заполняет таблицу , либо заполняет строку 1.1 1.2 первыми частями двух строк стринг листа(log^pas,log1^pas1) 1.1=log 1.2=log1 .
Никак не могу найти свой косяк. Засунул showmessang и все верно выдает.....
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 for i := 1 to logpas.Count-1 do   begin
         st:=logpas[i];
      for j := 1 to 2 do   begin
      o:=Length(st);
      Label2.Caption:=inttostr(o);
  if o<>0 then
    begin
    st2:=copy(st,1,pos('^',st)-1);
    MyGrid.Cells[i,j]:= st2;
    delete(st,1,pos('^',st));
    o:=0;
    ShowMessage(st2+'+++'+st);
       end
       else
       MyGrid.Cells[i,j]:= st;
       end;
       end;
Добавлено через 35 минут
Собственная невнимательность , присваивал о новое значение не перед вторым циклом а внутри него
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2015, 08:41

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Собранное приложение завершается с ошибкой
Здравствуйте. Подскажите пожалуйста новичку. Взял приложение из учебника, переписал в Visual...

Программа завершается с ошибкой Killed
Программа завершается с ошибкой Killed, когда я выделяю очень много динамической памяти, но меньше...

Запуск джоба завершается с ошибкой
Всем привет! Сегодня столкнулся с ситуёвиной - при инициализации пакета выполняется запрос,...

Запрос GET idHTTP завершается c ошибкой
Здравствуйте! Делаю программный доступ к интернет-ресурсу в С++ Builder 2009 c использованием...

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

Процесс записи DVD-R завершается с ошибкой
Здравствуйте! Без всяких видимых причин перестали записываться диски. Процесс записи на DVD-R...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.