Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 25655
Рейтинг: 2085
#151: 2010-07-07 11:02:09 ЛС | профиль | цитата
Assasin писал(а):
Это как расшифровывается

ЕМНИП -- Если Мне Не Изменяет Память
карма: 19

0
Ответов: 8594
Рейтинг: 795
#152: 2011-02-10 15:52:48 ЛС | профиль | цитата
Мало приходилось работать с картинками: Как получить цвет пикселя внутри IC code_22491.txt
Компилятор писал(а):
hiInlineCode_5280AF0.pas(30) Error: Undeclared identifier: 'GetPixel'

карма: 18

0
файлы: 1code_22491.txt [1.1KB] [162]
Ответов: 16884
Рейтинг: 1237
#153: 2011-02-10 16:22:09 ЛС | профиль | цитата
Леонид, может GetPixels?
карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 3464
Рейтинг: 233
#154: 2011-02-10 16:27:40 ЛС | профиль | цитата
bmp.pixels[x,y] ?
карма: 0

0
Ответов: 8594
Рейтинг: 795
#155: 2011-02-10 16:47:30 ЛС | профиль | цитата
Ура! FColor := bmp1.Pixels[5, 5];
Спасибо, коллеги!
карма: 18

0
Ответов: 8594
Рейтинг: 795
#156: 2011-02-28 11:48:54 ЛС | профиль | цитата
Опять IC Разбираю файл по косточкам компонентами -- всё получается, но долго. Решил открыть файл и разобрать его внутри IC, но чего-то недоучил, ошибка
компилятор писал(а):
hiasm_4.04b184\Elements\delphi\code\hiMainForm_24C22D0.pas(178) Error: Undeclared identifier: 'doOpenFile'
code_22733.txt
В примере две моих попытки, а ответ один и тот же Кто сможет подсказать?
карма: 18

0
файлы: 1code_22733.txt [1.9KB] [149]
Ответов: 1376
Рейтинг: 197
#157: 2011-02-28 12:02:02 ЛС | профиль | цитата
Леонид, входная точка IC называется doOpenFile, а внутри она зовётся doOpen
карма: 1

0
Ответов: 8594
Рейтинг: 795
#158: 2011-02-28 12:20:26 ЛС | профиль | цитата
foksov, ну надо же СПАСИБО!
Не первый раз "в упор не вижу", пора на покой
карма: 18

0
Ответов: 1841
Рейтинг: 366
#159: 2011-04-16 20:50:42 ЛС | профиль | цитата
Собственно пока появилось свободное время решил по изучать IC (delphi)
Появился вот такой вопрос по мере изучения...
Имеется задача: необходимо вывести чётные и не чётные числа соответственно на точки onTrue и onFalse.
И имеется 4 варианта решения этой задачи, но вопрос заключается в том, какой из этих 4 вариантов лучше всего выбрать для решения выше указанной задачи и почему

Те самые 4 варианта... (перезалил)

Add(InlineCode,7330169,126,350)
{
WorkPoints=#6:doWork|
EventPoints=#6:onTrue|7:onFalse|
DataPoints=#3:int|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses Kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|34: onTrue,onFalse,int:THI_Event;|45: procedure doWork(var dt:TData;idx:Word);|1: |5: end;|0:|14:implementation|29:procedure THiAsmClass.doWork;|7: begin|142: //if (ToIntegerEvent(int) mod 2) = 0 then _hi_OnEvent(onTrue, ToIntegerEvent(int)) else _hi_OnEvent(onFalse, ToIntegerEvent(int)); //V-1.1|4: |143: //if (ReadInteger(dt, int) mod 2) = 0 then _hi_OnEvent(onTrue, ReadInteger(dt,int)) else _hi_OnEvent(onFalse, ReadInteger(dt,int)); //V-1.2|4: |160: //if (ToIntegerEvent(int) mod 2) = 0 then _hi_CreateEvent(dt, @onTrue, ToIntegerEvent(int)) else _hi_CreateEvent(dt, @onFalse, ToIntegerEvent(int)); //V-2.1|4: |161: //if (ReadInteger(dt, int) mod 2) = 0 then _hi_CreateEvent(dt, @onTrue, ReadInteger(dt,int)) else _hi_CreateEvent(dt, @onFalse, ReadInteger(dt,int)); //V-2.2|6: end;|4:end.|
}
карма: 1
0
Ответов: 3464
Рейтинг: 233
#160: 2011-04-16 21:01:39 ЛС | профиль | цитата
CriDos, А почему все закомментированно?
карма: 0

0
Ответов: 1841
Рейтинг: 366
#161: 2011-04-16 21:19:16 ЛС | профиль | цитата
Ivann, ну так подходящий вариант потом раскомментируется
------------ Дoбавленo в 21.19:
обновил пост с выложенными вариантами (вложил всё в IC и заменил в начале 2-у вариантах ReadInteger(dt, int) на ToIntegerEvent(int))
карма: 1
0
Ответов: 8594
Рейтинг: 795
#162: 2011-04-16 22:02:35 ЛС | профиль | цитата
CriDos, я всегда стараюсь экономить время, тем более при чтении с верхних точек, поэтому когда вычисление или чтение встречается более одного раза предпочитаю обозначить переменную и в неё вычислить (прочитать). А как лучше вывести наружу подскажет nesco -- гораздо более опытен
карма: 18

0
Разработчик
Ответов: 25655
Рейтинг: 2085
#163: 2011-04-16 22:18:47 ЛС | профиль | цитата
Леонид писал(а):
А как лучше вывести наружу подскажет nesco

А чего вывести-то надо Да и версию исправленную давай
------------ Дoбавленo в 22.18:
Леонид писал(а):
я всегда стараюсь экономить время, тем более при чтении с верхних точек

Если не в цикле, то не имеет смысла, потери быстродействия будут крайне незначительные
карма: 19

0
Ответов: 8594
Рейтинг: 795
#164: 2011-04-16 23:13:06 ЛС | профиль | цитата
nesco, конечно, но смысл всё равно есть в привычке и культуре
карма: 18

0
Ответов: 16884
Рейтинг: 1237
#165: 2011-04-16 23:13:54 ЛС | профиль | цитата
CriDos,лучше пятый способ:
procedure THiAsmClass.doWork;
var i:integer;
begin
i:= ToIntegerEvent(int);
If Odd(i) then _hi_OnEvent(onFalse, i) else _hi_OnEvent(onTrue,i);
end;
или так:
procedure THiAsmClass.doWork;
var i:integer;
begin
i:=ToIntegerEvent(int);
Case Odd(i) of
True : _hi_OnEvent(onFalse,i);
False: _hi_OnEvent(onTrue,i);
end;
end;

карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
Голосовали:CriDos
Сообщение
...
Прикрепленные файлы
(файлы не залиты)