Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.12.03;
Скачать: [xml.tar.bz2];

Вниз

Проверка заполненности ячеек компонента 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.058 c
2-1163577126
DragonIG
2006-11-15 10:52
2006.12.03
Как можно из-под программы переписать строковые ресурсы в DLL


1-1161688783
SlavaK
2006-10-24 15:19
2006.12.03
Делал ли кто подобный компонент или просто класс


2-1163620421
Magister Crazy
2006-11-15 22:53
2006.12.03
Проблемы со StringGrid


2-1163795260
Ded222
2006-11-17 23:27
2006.12.03
как удалить файл ?


1-1160324072
flaxe
2006-10-08 20:14
2006.12.03
Несколько вопросов по компоненту TWebBrowser.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский