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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2010, 23:10   #1
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию Вызов метода в asm вставке.

Добрый вечер. Помогите пожалуйста переделать данный код в asm вставку:
Код:
rad :=80;
cx := image1.Top;// + 80;
cy := image1.Left+ 80;
ang := 0;
while ang <= pi*2 do begin
  ang:=ang + spd;
  x:=cx + Round(Cos(ang) * rad);
  y:=cy + Round(Sin(ang) * rad);
  image1.Canvas.Pixels[x-1, y]:=clRed;
  image1.Canvas.Pixels[x, y]:=clRed;
  image1.Canvas.Pixels[x+1, y]:=clRed;
  image1.Canvas.Pixels[x, y-1]:=clRed;
  image1.Canvas.Pixels[x, y]:=clRed;
  image1.Canvas.Pixels[x, y+1]:=clRed;
Проблема в том, что я не знаю как в asm вызвать
Код:
image1.Canvas.Pixels[x, y+1]:=clRed;
Знать бы это с остальным разберусь.
Страх это слабость и потому, кто испугался уже побежден.
Mixasik вне форума Ответить с цитированием
Старый 20.02.2010, 00:18   #2
InternetStranger
php / delphi
Форумчанин
 
Аватар для InternetStranger
 
Регистрация: 10.06.2007
Сообщений: 175
По умолчанию

А ты поставь на понравившуюся строку контрольную точку останова (BreakPoint), запускай программу, когда она остановится на этой точке жмешь Ctrl+Alt+C -> увидишь как твою задачу решил компилятор ))
G.Azamat { Web Development / Computer simulation }
Начинающий программист думает, что в килобайте 1000 байтов, а законченный уверен, что в километре 1024 метра.
InternetStranger вне форума Ответить с цитированием
Старый 20.02.2010, 02:07   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Второй метод - обратиться в тему АСМ, но там вряд ли этим будут заниматься...
Да и кусок кода никак не подходит под понятие ассемблерной оптимизации...
mihali4 вне форума Ответить с цитированием
Старый 20.02.2010, 10:42   #4
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Mixasik, в Винде ассемблер и API неотъемлемая часть, поэтому можно сделать так:
Код:
Form1.Image1.Canvas.Pixels
Будет равно на AsmApi:
Код:
invoke SetPixel, hdc, x, y, dword ptr mycolor
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
mootools: вызов метода класса в цикле each toXx JavaScript, Ajax 1 18.03.2009 19:20
вопрос по вставке в ячейку fidot Microsoft Office Excel 2 26.12.2008 04:07
Изменение ссылок при вставке Strannik79 Microsoft Office Excel 4 10.09.2007 14:31
Вызов Метода из др. модуля Mickle Общие вопросы Delphi 2 10.05.2007 23:41