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

Вниз

Проверка заполненности ячеек компонента TStringGrid   Найти похожие ветки 

 
kat_nik ©   (2006-11-16 19:40) [0]

Здравствуйте! Есть TStringGrid. В него вносятся данные. Эти данные нужно записать в двумерный динамический массив, размеры которого зависят от количества заполненных ячеек TStringGrid. Как определить количество строк, в которых есть записи, чтобы остальные (пустые) не учитывать? И каким образом вообще проверяется заполненность ячейки?


 
API ©   (2006-11-16 19:43) [1]

Как насчет проверить значение в ячейке на неравенство пустой строке?
Ячейки входят в строки или в столбцы. Проверяй в цикле, ага?


 
kat_nik ©   (2006-11-16 19:57) [2]

Ага? Просто думалось, что есть путь короче. Все равно СПАСИБО!


 
KilkennyCat ©   (2006-11-16 20:09) [3]

> есть путь короче


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


 
kat_nik ©   (2006-11-16 20:30) [4]

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


 
Kolan ©   (2006-11-16 20:32) [5]

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

Да ну - геморой...особо не выиграешь, а ошибки могут быть..
А если стерли? Сразу удалять из массива.


 
KilkennyCat ©   (2006-11-16 21:23) [6]

> [5] Kolan ©   (16.11.06 20:32)


> А если стерли? Сразу удалять из массива.


а не пофиг ли? если у меня на событии изменения состяния ячейки висит что-то подобное array[col, row] := grid.cells[col, row];, то что меня еще должно волновать? Пусть стирают, заменяют, что угодно делают - если в конце идет заполнение массива, то результат будет идентичным. Разумеется, возможно, на основании массива потом делается откат изменений. В этом случае, конечно, не подходит. Ибо он всегда будет идентичным гриду. Поэтому и добавил: если не противоречит логике работы.


 
KilkennyCat ©   (2006-11-16 21:28) [7]

Но вообще, каюсь, я усложнил задачу. Невнимательно прочел тему. Судя по всему, пустая ячейка между заполненными вовсе не означает пустой элемент массива.


 
RASkov   (2006-11-16 22:45) [8]

Если это разовая процедура то можно и так:
SetLength(Arr, Grid.RowCount, Grid.ColCount);
ArrCount:=0;
Затем пробежаться по строкам и если хоть одна ячейка не "" то добавить в массив и INC(ArrCount);
По окончанию заново установить размер массива с учетом ArrCount. Т.е. меняется только одно измерение.
Проверить можно так:
for R:= 0 to Grid.RowCount-1 do
for C:= 0 to Grid.ColCount-1 do
 if Trim(Grid.Cell[C,R])<>"" then begin INC(ArrCount);....


 
kat_nik ©   (2006-11-17 17:26) [9]

Большое спасибо всем откликнувшимся!!!
(Предложение от RASkov"a в моем случае было самым подходящим)



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

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

Наверх




Память: 0.49 MB
Время: 0.028 c
2-1163158594
Kolan
2006-11-10 14:36
2006.12.03
Как заставить DBGrid выравнивать ячейки по тексту.


2-1163504867
MishaLukash
2006-11-14 14:47
2006.12.03
TCustomDBGrid? видел только в хелпе


2-1163348719
PHPDeveloper
2006-11-12 19:25
2006.12.03
копирование участка изображения


2-1163044004
TMemoUser
2006-11-09 06:46
2006.12.03
Можно ли в TMemo сделать подчёркивание волнистой линиией как в Во


2-1163756985
q3
2006-11-17 12:49
2006.12.03
SQL: объединить timestamp