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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

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

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

после того как меняю
Код:
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,432
По умолчанию

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

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

Цитата:
тоесть как я нарисовал это оптимальный вариант для масма?
Нет, не оптимальный. Оптимальный тебе 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
По умолчанию

как пел Высоцкий: "а если дуб как дерево, родишься баобабом и будешь баобабом тищу лет, пока помрешь"
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,432
По умолчанию

Ну а чего непонятного то именно:
Цитата:
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 Кб, 32 просмотров)
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 11.06.2010, 02:45   #27
zverozavr
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 22
По умолчанию

Спасибо тебя огромнейшее!!!
теперь хоть можно,почти с чистой душой, ложиться спать завтра буду разбираться что да как и что доделать
П.С. ты чем его компилил? О.О даже тот батник что в архиве не компилирует ... мож дело в том что у меня 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,432
По умолчанию

Ну тык это, смотрите свой windows.inc.
Структуры
Код:
msg	MSGSTRUCT <?>
wc	WNDCLASS2 <?>
должны быть описаны там.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 12.06.2010, 00:21   #29
zverozavr
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 22
По умолчанию

Код:
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
По умолчанию

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


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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