Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2012, 21:12   #1
Bondul
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 39
По умолчанию Разпознание "+" и "-" на картинке!

Помагите разабратся с ошибками [Error] Unit1.pas(99): Operator not applicable to this operand type и с [Error] Unit1.pas(101): Operator not applicable to this operand type

вот пример картинке

Код:
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  _w,_h, i, j: Integer;
begin
 With Image1.Picture.Bitmap.Canvas do
 _w := image1.Picture.Bitmap.Width;
 _h := Image1.Picture.Bitmap.Height;
 for i:= 0 to _w-1 do
 for j:= 0 to _h-1 do
begin
  if Image1.Picture.Bitmap.Canvas.Pixels[i, j] = clBlack  and (x>i) and (x<i) then  /// Вот здесь вылезает у меня ошыбка [Error] Unit1.pas(99): Operator not applicable to this operand type
  label1.Caption:='Это -';
  if Image1.Picture.Bitmap.Canvas.Pixels[i, j] = clBlack  and (x>i) and (x<i) and (y>j) and (y<j) then   /// и Вот здесь вылезает у меня ошыбка [Error] Unit1.pas(101): Operator not applicable to this operand type
  label2.Caption:='Это +';
end;
end;

end.
Изображения
Тип файла: bmp 222.bmp (34.3 Кб, 182 просмотров)
Bondul вне форума Ответить с цитированием
Старый 07.03.2012, 21:22   #2
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Скобки поставь
Код:
if  (Image1.Picture.Bitmap.Canvas.Pixels[i, j] = clBlack)
В смысл кода не вникал, но что-то я не понял как x будет одновременно и больше и меньше i
_SERGEYX_ вне форума Ответить с цитированием
Старый 07.03.2012, 21:32   #3
Bondul
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 39
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
Скобки поставь
Код:
if  (Image1.Picture.Bitmap.Canvas.Pixels[i, j] = clBlack)
В смысл кода не вникал, но что-то я не понял как x будет одновременно и больше и меньше i
Да действительно скобок не хватало

Цитата:
В смысл кода не вникал, но что-то я не понял как x будет одновременно и больше и меньше i
А вот сетем ещё нужно разобратся есле кто знает подскажите пожалуйста!

Последний раз редактировалось Bondul; 07.03.2012 в 21:35.
Bondul вне форума Ответить с цитированием
Старый 07.03.2012, 21:38   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

(x>i) and (x<i) и разбираться нечего, никогда не выполнится
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчитать количество букв "й", "ы" и "я", содержащихся в заданной строке. VoltZZZ Помощь студентам 2 01.03.2012 23:39
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. воваава Помощь студентам 3 01.12.2011 12:50
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04