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

Работа с закрашенной областью stringgrid

16.02.2016, 08:02. Просмотров 298. Ответов 9
Метки нет (Все метки)

Имеется двумерный массив (stringgrid). В массиве я выделяю различными цветами несколько областей(DrawCell). Есть ли у меня возможность проверять только закрашенные области (по очереди) и наоборот проверять всю матрицу кроме закрашенных областей. (Конкретно по заданию мне нужно найти внутри закрашенных областей любые символы и потом проверить что бы в матрице вне закрашенных областей были только пустые ячейки.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2016, 08:02
Ответы с готовыми решениями:

Написать приложения для рисования эллипсов с закрашенной внутренней областью
Написать приложения для рисования эллипсов с закрашенной внутренней областью.

Работа с областью system tray
Помогите пожалуста решить задачу: написать программу, которая будет добавлять иконку в область...

StringGrid работа с TStrings и исключение "превышение размера StringGrid"
предположим есть TStringGrid и у него 10 строк и 2 колонки и есть TStringList и в нем 15 строк ...

Delphi 7 Stringgrid Нужно сделать цикл для заполнения Stringgrid данными из другого Stringgrid
Нужно чтобы из Stringgrid1 данные переносились в Stringgrid2 Но ТОЛЬКО ПО УСЛОВИЮ Таблицы...

Работа с StringGrid
Приветствую. =) Есть StringGrid и мне нужно изучить и получить наиболее легко запоминающийся код...

9
qwertehok
2906 / 2554 / 680
Регистрация: 29.08.2013
Сообщений: 17,298
16.02.2016, 08:49 2
выносите закрашенные области в массив и проверяйте либо только массив, либо весь грид, но без массива?
0
krapotkin
4114 / 3430 / 1160
Регистрация: 14.04.2014
Сообщений: 16,437
Записей в блоге: 17
16.02.2016, 09:14 3
мой любимый совет
не храните данные на экране
это ваши данные, они откуда-то попали в грид, и вы по какаому-то принципу его раскрашивали
так и используйте не грид, а ваши данные и ваши принципы
тогда задача решится сама собой
0
Puporev
Модератор
58902 / 44590 / 30777
Регистрация: 18.05.2008
Сообщений: 106,840
16.02.2016, 09:24 4
Цитата Сообщение от symbians60v5 Посмотреть сообщение
Имеется двумерный массив (stringgrid).
Это глупость. Имеется двумерный массив, например a:array of array of integer; и StringGrid для вывода элементов массива на экран. Все действия, как пишет krapotkin, проводятся с массивом, а в таблице(таблицах) отображаются эти действия.
0
16.02.2016, 09:24
Narimanych
777 / 555 / 275
Регистрация: 23.03.2015
Сообщений: 1,915
16.02.2016, 11:43 5
Цитата Сообщение от Puporev Посмотреть сообщение
StringGrid для вывода элементов массива на экран
А если StringGrid заполняется вручную?

Добавлено через 5 минут
Как написал г-н krapotkin,
Цитата Сообщение от krapotkin Посмотреть сообщение
они откуда-то попали в грид, и вы по какаому-то принципу его раскрашивали
-вот что неоходимо уточнить
0
Puporev
Модератор
58902 / 44590 / 30777
Регистрация: 18.05.2008
Сообщений: 106,840
16.02.2016, 11:56 6
Цитата Сообщение от Narimanych Посмотреть сообщение
А если StringGrid заполняется вручную?
Ну и пусть, данные из таблицы считываются в массив и уже с ним проводятся манипуляции.
Пусть это целые числа, в таблице нет фиксированных строк и столбцов.
Delphi
1
2
3
4
5
6
7
8
9
var a:array of array of integer;
     m,n,i,j:integer;
.....................................
m:=StringGrid1.RowCount;
n:=StringGrid1.ColCount;
setlength(a,m,n);
for i:=0 to m-1 do
for j:=0 to n-1 do
a[i,j]:=strtoint(StringGrid1.Cells[j,i]);
0
qwertehok
2906 / 2554 / 680
Регистрация: 29.08.2013
Сообщений: 17,298
16.02.2016, 12:03 7
а почему нельзя работать с StringGrid1.Cells[j,i], не запихивая данные в массив?
0
Puporev
Модератор
58902 / 44590 / 30777
Регистрация: 18.05.2008
Сообщений: 106,840
16.02.2016, 12:07 8
Цитата Сообщение от symbians60v5 Посмотреть сообщение
В массиве я выделяю различными цветами несколько областей(DrawCell).
Ну не в массиве, а в таблице, а по какому принципу и как вы их выделяете? Их же нельзя просто так взять и покрасить.

Добавлено через 4 минуты
Цитата Сообщение от qwertehok Посмотреть сообщение
а почему нельзя работать с StringGrid1.Cells[j,i], не запихивая данные в массив?
Да можно, но до тех пор, пока что-то там не "испортили", а массив хранит данные до конца работы программы.
Можно например провести какие-то разовые вычисления типа найти максимум или сумму чего-то...
0
krapotkin
4114 / 3430 / 1160
Регистрация: 14.04.2014
Сообщений: 16,437
Записей в блоге: 17
16.02.2016, 15:48 9
если данные заполняются вручную, поверьте, лучше им все равно попадать и в массив. желательно сразу
0
northener
пофигист широкого профиля
3655 / 2455 / 664
Регистрация: 15.07.2013
Сообщений: 14,632
16.02.2016, 17:01 10
Ну вдогонку и мой любимый совет. У стринггрид уже есть двумерный массив Objects, каждый элемент которого ассоциирован с соответствующей ячейкой.
0
16.02.2016, 17:01
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2016, 17:01

Работа с StringGrid
Есть вопрос!!! Как сделать так чтобы я мог и вносить данные с клавиатуры это...

работа с stringgrid
Всем привет! Первая программа с stringgrid у меня не получается число привязать к ячейке:(.Вот...

Работа по StringGrid-ам
Доброго времени суток, форумчане! Подскажите пожалуйста решение следующей проблемы. Исходные...


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

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

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