Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler
Регистрация

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


Присылайте нам Донат :), напишите за что прислали )


Ответ
 
Опции темы
Старый 10.06.2010, 22:17   #21
zverozavr
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 22
Репутация: 18
По умолчанию

после того как меняю
Код:

invoke MoveToEx,hDC,50,60,pCOORD
        invoke LineTo,hDC,40,50
        invoke LineTo,hDC,40,40
        invoke LineTo,hDC,50,30
        invoke LineTo,hDC,60,40
        invoke LineTo,hDC,60,50
        invoke LineTo,hDC,50,60

        invoke MoveToEx,hDC,10,10,pCOORD
        invoke LineTo,hDC,10,80
        invoke LineTo,hDC,80,80

на
Код:

POINT poly[4];
poly[0].x =10;
poly[0].y =30;
poly[1].x =30;
poly[1].y =30;
poly[2].x =30;
poly[2].y =60;
poly[3].x=10;
poly[3].y=30;
Polyline(hdc, poly , 4); рисуем четырехугольник

получаю
Код:

D:\stub\controls.asm(111) : error A2179: structure improperly initialized
D:\stub\controls.asm(111) : error A2008: syntax error : in structure
D:\stub\controls.asm(112) : error A2008: syntax error : [
D:\stub\controls.asm(113) : error A2008: syntax error : [
D:\stub\controls.asm(114) : error A2008: syntax error : [
D:\stub\controls.asm(115) : error A2008: syntax error : [
D:\stub\controls.asm(116) : error A2008: syntax error : [
D:\stub\controls.asm(117) : error A2008: syntax error : [
D:\stub\controls.asm(118) : error A2008: syntax error : [
D:\stub\controls.asm(119) : error A2008: syntax error : [
D:\stub\controls.asm(120) : error A2008: syntax error : Polyline

я чтото делаю не так?
zverozavr вне форума   Ответить с цитированием
Старый 10.06.2010, 22:45   #22
Ulex
Непрофессионал
Профессионал
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Адрес: город Н-ск.
Сообщений: 1,423
Репутация: 1104
По умолчанию

Конечно не так. Mikl___ вам для Delphi код привёл.
А у вас АСМ. Синтаксис учитывайте.
__________________
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума   Ответить с цитированием
Старый 10.06.2010, 22:55   #23
zverozavr
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 22
Репутация: 18
По умолчанию

да вот и я смотрю что чтото не то ... лазию по справочникам и не чего путного найти не могу
тоесть как я нарисовал это оптимальный вариант для масма?
Ulex, можешь дать ссылку на какойнить справочник по синтаксису под асм, чтобы лишний раз не флудить на форуме а задавать уже конкретные вопросы если что не получается ... просто у меня тоже трабла с функциями которые ты написал ... в твоём исходнике я их нашёл а вот что вырезать а что нет я не пойму
zverozavr вне форума   Ответить с цитированием
Старый 10.06.2010, 23:31   #24
Ulex
Непрофессионал
Профессионал
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Адрес: город Н-ск.
Сообщений: 1,423
Репутация: 1104
По умолчанию

Цитата:
тоесть как я нарисовал это оптимальный вариант для масма?
Нет, не оптимальный. Оптимальный тебе Mikl___ посоветовал.
Пойми суть простую - на масм-е или на Delphi тут разница будет только в синтаксисе. Так как эта функция Polyline она не Делфовая, она Виндовая (WinApi). И код её находится в одной из системных библиотек. А ты её просто вызываешь. Какая программа её вызывает (на Delphi, на С++, на ASM), ей всё равно. А вот для тебя, как для программиста, разница заключается в синтаксисе языка, который ты используешь.
Вызвать функцию WinApi на делфи будет так:
Код:

Polyline(hdc, poly , 4); рисуем четырехугольник

Тоже самое на MASM-е с использованием макроса invoke:
Код:

invoke Polyline, [hdc], addr [poly], 4 ;рисуем четырехугольник

Справка, которая всегда под боком в *\masm32\HELP - вот здесь их кучка.
Если будешь писать под WIN, обязательно достань справочник по WinApi функциям, или милости просим в MSDN.
__________________
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума   Ответить с цитированием
Старый 11.06.2010, 02:10   #25
zverozavr
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 22
Репутация: 18
По умолчанию

как пел Высоцкий: "а если дуб как дерево, родишься баобабом и будешь баобабом тищу лет, пока помрешь"
Ulex, спасибо тебе большое за помощь но чую это бесполезно или лыжи не едут или всёже я не допонял ....
пролазил все WinAPI справочники, был на МСДНе ... функции почитал, а вот как их использовать на Масме не понял
Код:

invoke Polyline, [hdc], addr [poly], 4

я так понял что ещё чтото создавать надо чтобы на
Код:

addr [poly]

реагировал, а вот что я не догоню и всё
пробывал делать как Mikl___ написал, только через invoke - 0 имоций ...

Сегодня уже сдавать работе в 2д дальше будет хуже ... через неделю 3д 2 лабы, через 3 недели 3д моделирование семестровая ... а препод даже элементарные вещи сама не знает ... говорит "вот если бы я у вас вела 1с, то смоглабы помоч, а так - делайте сами я посмотрю как у вас получится"
zverozavr вне форума   Ответить с цитированием
Старый 11.06.2010, 02:23   #26
Ulex
Непрофессионал
Профессионал
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Адрес: город Н-ск.
Сообщений: 1,423
Репутация: 1104
По умолчанию

Ну а чего непонятного то именно:
Цитата:
The Polyline function draws a series of line segments by connecting the points in the specified array.
BOOL Polyline(
HDC hdc, // handle of device context
CONST POINT *lppt, // address of array containing endpoints
int cPoints // number of points in the array
);

Parameters
hdc
Identifies a device context.
lppt
Points to an array of POINT structures. Each structure in the array identifies a point in logical space.
cPoints
Specifies the number of points in the array. This number must be greater than or equal to two.
Второй параметр - адрес массива с точками, т.е. массива, содержащего структуры POINT. Вот их и надо было определить.

Деджи архивчик, накидал по быстрому:
Вложения
Тип файла: rar Pentagon.rar (5.5 Кб, 24 просмотров)
__________________
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума   Ответить с цитированием
Старый 11.06.2010, 02:45   #27
zverozavr
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 22
Репутация: 18
По умолчанию

Спасибо тебя огромнейшее!!!
теперь хоть можно,почти с чистой душой, ложиться спать завтра буду разбираться что да как и что доделать
П.С. ты чем его компилил? О.О даже тот батник что в архиве не компилирует ... мож дело в том что у меня 10й масм стоит?

Код:

 Assembling: D:\123\Pentagon\pentagon.asm
D:\123\Pentagon\GlobUninitData.asm(3) : error A2008: syntax error : msg
D:\123\Pentagon\GlobUninitData.asm(4) : error A2008: syntax error : wc
D:\123\Pentagon\pentagon.asm(73) : error A2006: undefined symbol : wc
D:\123\Pentagon\pentagon.asm(73) : error A2114: INVOKE argument type mismatch :
argument : 1
D:\123\Pentagon\pentagon.asm(85) : error A2006: undefined symbol : msg
D:\123\Pentagon\pentagon.asm(85) : error A2114: INVOKE argument type mismatch :
argument : 1
D:\123\Pentagon\pentagon.asm(88) : error A2006: undefined symbol : msg
D:\123\Pentagon\pentagon.asm(88) : error A2114: INVOKE argument type mismatch :
argument : 1
D:\123\Pentagon\pentagon.asm(89) : error A2006: undefined symbol : msg
D:\123\Pentagon\pentagon.asm(89) : error A2114: INVOKE argument type mismatch :
argument : 1
D:\123\Pentagon\pentagon.asm(92) : error A2006: undefined symbol : msg
D:\123\Pentagon\pentagon.asm(92) : error A2114: INVOKE argument type mismatch :
argument : 1
D:\123\Pentagon\pentagon.asm(52) : error A2006: undefined symbol : wc
D:\123\Pentagon\pentagon.asm(53) : error A2006: undefined symbol : wc
D:\123\Pentagon\pentagon.asm(54) : error A2006: undefined symbol : wc
D:\123\Pentagon\pentagon.asm(55) : error A2006: undefined symbol : wc
D:\123\Pentagon\pentagon.asm(59) : error A2006: undefined symbol : wc
D:\123\Pentagon\pentagon.asm(64) : error A2006: undefined symbol : wc
D:\123\Pentagon\pentagon.asm(67) : error A2006: undefined symbol : wc
D:\123\Pentagon\pentagon.asm(69) : error A2006: undefined symbol : wc
D:\123\Pentagon\pentagon.asm(71) : error A2006: undefined symbol : wc
D:\123\Pentagon\pentagon.asm(72) : error A2006: undefined symbol : wc
_
Assembly Error


Последний раз редактировалось Stilet; 11.06.2010 в 13:10.
zverozavr вне форума   Ответить с цитированием
Старый 11.06.2010, 22:20   #28
Ulex
Непрофессионал
Профессионал
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Адрес: город Н-ск.
Сообщений: 1,423
Репутация: 1104
По умолчанию

Ну тык это, смотрите свой windows.inc.
Структуры
Код:

msg	MSGSTRUCT <?>
wc	WNDCLASS2 <?>

должны быть описаны там.
__________________
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума   Ответить с цитированием
Старый 12.06.2010, 00:21   #29
zverozavr
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 22
Репутация: 18
По умолчанию

Код:

MONMSGSTRUCT STRUCT
  cb        DWORD      ?
  hwndTo    DWORD      ?
  dwTime    DWORD      ?
  htask     DWORD      ?
  wMsg      DWORD      ?
  wParam    DWORD      ?
  lParam    DWORD      ?
  dmhd      DDEML_MSG_HOOK_DATA <>
MONMSGSTRUCT ENDS

Код:

WNDCLASSEX STRUCT
  cbSize            DWORD      ?
  style             DWORD      ?
  lpfnWndProc       DWORD      ?
  cbClsExtra        DWORD      ?
  cbWndExtra        DWORD      ?
  hInstance         DWORD      ?
  hIcon             DWORD      ?
  hCursor           DWORD      ?
  hbrBackground     DWORD      ?
  lpszMenuName      DWORD      ?
  lpszClassName     DWORD      ?
  hIconSm           DWORD      ?
WNDCLASSEX ENDS

WNDCLASSA STRUCT
  style             DWORD      ?
  lpfnWndProc       DWORD      ?
  cbClsExtra        DWORD      ?
  cbWndExtra        DWORD      ?
  hInstance         DWORD      ?
  hIcon             DWORD      ?
  hCursor           DWORD      ?
  hbrBackground     DWORD      ?
  lpszMenuName      DWORD      ?
  lpszClassName     DWORD      ?
WNDCLASSA ENDS

WNDCLASS  equ  <WNDCLASSA>

вот всё что с ними есть ...
zverozavr вне форума   Ответить с цитированием
Старый 11.11.2012, 03:40   #30
Денис18
Новичок
 
Регистрация: 11.11.2012
Сообщений: 1
Репутация: 10
По умолчанию

Доброго времени суток . Помогите пожалуйста!
Нам задали лабораторную по ООП нужно написать программу 5-ти угольник и нужно чтобы он передвигался,менял цвет и радиус. я не пойму как описать этот 5-ти угольник.Заранее спасибо
Денис18 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рисование Granus Общие вопросы Delphi 2 24.12.2008 08:44
Рисование TriCERATOP Помощь студентам 5 28.11.2008 16:09
Рисование... HunterMan Win Api 10 30.04.2008 23:46


01:08.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru