![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Здраствуйте, у меня такой вопрос.
как мне организовать поиск пустых ячеек в стринггриде и каким-нибудь образом их выделить. поиск с 5й строки по 278 столбец.. знаю что там нужно мучить функцию pos но ума не приложу как... заранее благодарен извините за такой вот вопрос... |
|
#2
|
|||
|
|||
|
не надо её мучать, если Length(ячейка) = 0 - значит она пустая, ну а всё остальное - циклом.
|
|
#3
|
|||
|
|||
|
Код:
var
i, j : integer;
begin
for i := 5 to StringGrid11.RowCount - 1 do
for j := 1 to StringGrid11.ColCount - 1 do
if Length(StringGrid11.Cells[i,j]) = 0 then
Begin {Выделение ячейки}
End;с длиной стрики = 0 разобрался, а выделить ту самую пустую ячейку как? Последний раз редактировалось Мишка-90, 27.04.2011 в 13:15. |
|
#4
|
|||
|
|||
|
вот так видимо:
Код:
if Length(StringGrid11.Cells[i,j]) = 0 then begin StringGrid11.Col := j; StringGrid11.Row := i; break; // обрывает цикл, что бы остановится на выделенной ячейке end; Последний раз редактировалось Assistant, 27.04.2011 в 13:34. |
|
#5
|
|||
|
|||
|
в результате оно проверяет только 1 столбец.
сделал так: Код:
if Length(StringGrid11.Cells[j,i]) = 0 then Begin
StringGrid11.Cells[j,i] := '0';
StringGrid11.Col := j;
StringGrid11.Row := i;
break;
ShowMessage('Пустая ячейка ');но не всю таблицу.. и фокус мгновенно пропадает. сообщение сделал, для того чтобы увидеть фокус (чтобы быстро всю таблицу не пробежало) |
|
#6
|
|||
|
|||
|
тогда убери break; фокус будет пропадать из-за ShowMessage, тогда сделай за место ShowMessage так, убери break; и:
перед циклом Код:
Memo1.Lines.Clear; Код:
Memo1.Lines.Add('Пустая ячека ' + IntToStr(j) + ', ' + IntToStr(i); |