Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2007, 00:16   #1
student_63
Пользователь
 
Аватар для student_63
 
Регистрация: 07.11.2007
Сообщений: 92
Сообщение Помогите со стринг гридом

Мне нужно построить цепочку элементов в матрице,выделяя,по условию, элемент другим цветом. читал про метод DrawCell, здесь это не подходит. У меня не выделяется ячейка, помогите, пожалуйста.
Вот кусок моего кода:

repeat
bool:= true;
for uRow:= 1 to k+1 do
begin
if StringGrid2.Cells[uCol,uRow] = '0*' then
begin
StringGrid2.Canvas.Brush.Color := clRed;
break;
end
else
begin
bool:=false;
break;
end;
for uCol:= 1 to k+1 do
if StringGrid2.Cells[uCol,uRow] = '0^' then
begin
StringGrid2.Canvas.Brush.Color := clRed;
StringGrid2.Cells[i,j]:= '0^';
break;
end;
end;
until bool = false;
Я уверен, вы согласитесь со мной... что если
со страницей 534 мы встречаемся во второй главе, то первая глава должна быть невыносимо длинной.
- ШЕРЛОК ХОЛМС
student_63 вне форума Ответить с цитированием
Старый 26.11.2007, 07:55   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

http://www.programmersforum.ru/showthread.php?t=8416
_Dmitry вне форума Ответить с цитированием
Старый 26.11.2007, 13:18   #3
student_63
Пользователь
 
Аватар для student_63
 
Регистрация: 07.11.2007
Сообщений: 92
По умолчанию

Да по этой ссылке пишут, что ячейки автоматически будут цвет изменять во время выолнения программы, а у меня это отдельная процедур, которая может вообще не использоваться!!!
Я уверен, вы согласитесь со мной... что если
со страницей 534 мы встречаемся во второй главе, то первая глава должна быть невыносимо длинной.
- ШЕРЛОК ХОЛМС
student_63 вне форума Ответить с цитированием
Старый 26.11.2007, 13:34   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
здесь это не подходит.... а у меня это отдельная процедур, которая может вообще не использоваться!!!
Это как? Что ты хочеш выделить?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.11.2007, 18:10   #5
student_63
Пользователь
 
Аватар для student_63
 
Регистрация: 07.11.2007
Сообщений: 92
По умолчанию

Короче вот такая ситуация, у меня есть процедура, к которой переходят в том случае,если строка, содержащая невыделенный нуль не содержит 0*, то переходим к этой процедуре.
В этой процедуре строим цепочку элементов (Вот эти то элементы и надо выделять как-нибудь) берем этот нолик,выделяя его, потом ищем в этом столбце 0*,опять же выделяя его,потом в этой строке простой нолик и т.д.Вот,а если использовать метод DrawCell, то у меня в ходе выполнения всей программы будут выделяться ВСЕ 0*,ЧТО МНЕ НЕ НУЖНО.ой, вроде нормально изложил, помогите пожалуйста,скоро сдавать
Я уверен, вы согласитесь со мной... что если
со страницей 534 мы встречаемся во второй главе, то первая глава должна быть невыносимо длинной.
- ШЕРЛОК ХОЛМС
student_63 вне форума Ответить с цитированием
Старый 03.12.2007, 13:22   #6
Павлик
Пользователь
 
Регистрация: 03.12.2007
Сообщений: 12
По умолчанию

Код:

var OldColor:TColor;
begin

OldColor:=StringGrid2.Canvas.Brush.Color;
  repeat
      bool:= true;
      for uRow:= 1 to k+1 do
         begin
           if StringGrid2.Cells[uCol,uRow] = '0*' then
              begin
               StringGrid2.Canvas.Brush.Color := clRed;
               break;
              end
                else
                 begin
                  StringGrid2.Canvas.Brush.Color := OldColor;
                  bool:=false;
                  break;
                 end;
           for uCol:= 1 to k+1 do
            if StringGrid2.Cells[uCol,uRow] = '0^' then
              begin
               StringGrid2.Canvas.Brush.Color := clRed;
               StringGrid2.Cells[i,j]:= '0^';
               break;
              end;
         end;
      until bool = false;
no comments
Павлик вне форума Ответить с цитированием
Старый 03.12.2007, 17:41   #7
student_63
Пользователь
 
Аватар для student_63
 
Регистрация: 07.11.2007
Сообщений: 92
По умолчанию

Спасибо большое,сейчас попробую,если кому будет интересно выложу(как доделаю) исходник "Задачи о назначениях" венгерским методом
Я уверен, вы согласитесь со мной... что если
со страницей 534 мы встречаемся во второй главе, то первая глава должна быть невыносимо длинной.
- ШЕРЛОК ХОЛМС
student_63 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стринг UnD)eaD)Snake Общие вопросы Delphi 5 08.10.2007 08:29