Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 52
от 26.02.2005, 14:30

Администратор:Калашников О.А.
В номере:Вопросов: 2, Ответов: 8


Вопрос № 17249: Уважаемые эксперты. Есть два массива Romsensor: array[0..29,0..7] of byte; Rom1 : array [0..8] of byte ; Подскажите как сравнить элементы этих массивов т.е. Допустим эелементы массива ROM1 12,22,33,44,34,23,11,11 И восемь элем...
Вопрос № 17278: как изменить цвет кнопки TButton?...

Вопрос № 17249
Уважаемые эксперты.
Есть два массива
Romsensor: array[0..29,0..7] of byte;
Rom1 : array [0..8] of byte ;
Подскажите как сравнить элементы этих массивов т.е.
Допустим эелементы массива ROM1 12,22,33,44,34,23,11,11
И восемь элементов из 29 массивов ROMSENSOR то же могут иметь эти же значения.
Как определить так ли это.
С уважением Антон.
Отправлен: 20.02.2005, 18:58
Вопрос задал: антон (статус: Посетитель)
Всего ответов отправлено: 4

Отвечает: SteelNick
Здравствуйте, антон!
Немного непонятный вопрос, конечно. Прежде всего, судя по всему,
Rom1 : array [0..7] of byte
Далее, если надо найти строку, которая равна Rom1, тогда напиши так:
------------------
for i:=0 to 29 do begin
for j:=0 to 7 do
if RomSensor[i,j]<>Rom1[i,j] then break;
if j=7 then begin
Row:=i;
Break;
end;
end;
------------------
Если все восемь значений строки будут равны, в Row будет записан номер строки и проверка прекратится. С помощью незначительной модификации можно добиться нахождения всех строк в Romsensor, равных Rom1.
Ответ отправил: SteelNick (статус: Практикант)
Отправлен: 20.02.2005, 19:57
Оценка за ответ: 4

Отвечает: Shizuku Tsukishima
Здравствуйте, антон!
Можно просто перебрать элементы в цикле, включив поиск через условие. Кстати, Ваш Romsensor[] - самый обыкновенный двумерный массив.
В приложении пример, который сравнивает элементы Rom1 с КАЖДЫМ из элементов Romsensor. Если необходимо проверить совпадает ли полностью какая-нибудь ИЗ СТРОК матрицы Romsensor с массивом Rom1, то мой пример можно легко модифицировать, включив в условие какую-нибудь переменную-флаг (boolean). Такой переменной изначально присваивается значение (ноль, например). Потом, если Ваше условие на одной из итераций не выполнилось, то флаг инвертирует своё значение (присваивается единица, для нашего примера). После значение переменной-флага анализируется и делается вывод - совпала строка матрицы с образцом или нет.

Приложение:

Ответ отправила: Shizuku Tsukishima (статус: 2-ой класс)
Отправлен: 21.02.2005, 11:33
Оценка за ответ: 5

Отвечает: Sh-st
Здравствуйте, антон!
var
i:Inrteger;
raven:boolean;
begin
raven:=true;
for i:=0 to 8 do
if romsensor[i]<>rom1[i] then
begin
raven:=false;
break;
end;
Ответ отправил: Sh-st (статус: 1-ый класс)
Отправлен: 21.02.2005, 15:04
Оценка за ответ: 4

Отвечает: Полховский Александр Владимирович
Здравствуйте, антон!
У тебя не совпадает размер массива Rom1 и размер ряда Romsensor. Если это опечатка, то тут всё просто: перебираем все ряды, а в каждом ряду - все ячейки. Простейший цикл for.
Допущу, всё-таки, что диапазон Rom1 от 0 до 7. И массивов там не 29, а 30. Ноль - тоже ячейка.

Приложение:

Ответ отправил: Полховский Александр Владимирович (статус: 9-ый класс)
Отправлен: 23.02.2005, 08:14


Вопрос № 17278
как изменить цвет кнопки TButton?
Отправлен: 21.02.2005, 13:55
Вопрос задал: I (статус: Посетитель)
Всего ответов отправлено: 4

Отвечает: Sh-st
Здравствуйте, I!
Надо перехватывать сообщение windows по перерисовке компонента или скачать простенький компонент на основе этого TButton. Полно компонентов на сайте www.torry.net
Ответ отправил: Sh-st (статус: 1-ый класс)
Отправлен: 21.02.2005, 15:16

Отвечает: Samum
Здравствуйте, I!
У стандартной TButton цвет изменить нельзя, но ты можешь создать класс-наследник от TButton и в нем обрабатывать смену цвета. Если будут проблемы - напиши, я вышлю пример (сюда его не пишу - довольно большой).
Ответ отправил: Samum (статус: Специалист)
Отправлен: 22.02.2005, 11:45

Отвечает: Гриценко Юрий Алексеевич
Здравствуйте, I!
Cв-во BackColor или что-то в этом роде, в студии нажми точку после имени переменной и просмотри св-ва класса их названия вполне понятны!
Ответ отправил: Гриценко Юрий Алексеевич (статус: 2-ой класс)
Отправлен: 22.02.2005, 21:49

Отвечает: Полховский Александр Владимирович
Здравствуйте, I!
Разве что нарисовать на её поверхности что-нить цветное (да хоть label) и все события этого цветного монстра перенаправить на кнопку, добавив немного анимации (нажатие/отжатие). А что, TBitBtn уже не модно ?
Ответ отправил: Полховский Александр Владимирович (статус: 9-ый класс)
Отправлен: 23.02.2005, 08:08


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Отписаться

В избранное