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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2010, 05:23   #11
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

--=SaNitinDG=-
>Я смотрю там много макросов использоваться
Если с макросами не разберешься, то во вложении без всяких макросов
1) Программное создание диалога
2) Создание диалога через файл ресурсов
3) Создание диалога через заполнение структуры и DialogBoxIndirectParam
Вложения
Тип файла: rar dialogs.rar (10.4 Кб, 23 просмотров)
Mikl___ вне форума Ответить с цитированием
Старый 15.01.2010, 20:29   #12
--=SaNitinDG=-
Пользователь
 
Регистрация: 14.01.2010
Сообщений: 61
По умолчанию

Что делает вот эти макросы?
m2m MACRO M1, M2
push M2
pop M1
ENDM

return MACRO arg
mov eax, arg
ret
ENDM

stralloc MACRO ln
invoke SysAllocStringByteLen,0,ln
ENDM

strfree MACRO strhandle
invoke SysFreeString,strhandle
ENDM

QUAD MACRO name,value
.data
name QWORD value
.code
ENDM

И где там найти указатель на msctls_progress32, для Progress bara?
Опыт не пропьешь если он есть=)))
--=SaNitinDG=- вне форума Ответить с цитированием
Старый 16.01.2010, 03:20   #13
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Код:
m2m MACRO M1, M2
push M2
pop M1
ENDM
Пересылка из одной ячейки памяти в другую
Код:
return MACRO arg
mov eax, arg
ret
ENDM
Помещает в eax код выхода и выходит из подпрограммы.
Код:
stralloc MACRO ln
invoke SysAllocStringByteLen,0,ln
ENDM

strfree MACRO strhandle
invoke SysFreeString,strhandle
ENDM
Первый резервирует, а второй освобождает память у системы под какую-то строку.
Код:
QUAD MACRO name,value
.data
name QWORD value
.code
ENDM
Позволяет прямо в коде добавлять глобальные переменные переменные. Тоже самое, что записать значение сразу в секции с данными.
Цитата:
И где там найти указатель на msctls_progress32, для Progress bara?
В первом примере он, почему-то, в середине кода(aMsctls_progres). Во втором - в файле ресурсов, а в третьем - в начале (ProgressClass).
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 16.01.2010, 12:25   #14
--=SaNitinDG=-
Пользователь
 
Регистрация: 14.01.2010
Сообщений: 61
По умолчанию

Goodwin98
Толкова быстро понятна всё расписано.

А где можно почитать про создание макросов в масам32 какую литературу можно почитать по этому поводу?

У меня так и не получилась сделать рабочий прогресс бар в диалоговом окне созданном при помощи DialogBoxParam. В диалоговом окне созданном при помощи RegisterClassEx,CreateWindowEx прогресс бар сразу прекрасно работает. Вопрос по прежнему актуален как его вывести и сделать рабочим в окне данного типа? Желательно пример для RadASM
Опыт не пропьешь если он есть=)))

Последний раз редактировалось --=SaNitinDG=-; 16.01.2010 в 12:37.
--=SaNitinDG=- вне форума Ответить с цитированием
Старый 16.01.2010, 13:22   #15
Д'якон
Форумчанин
 
Регистрация: 05.12.2007
Сообщений: 236
По умолчанию ---

ProgressBar - это коммон контрол. Перед вызовом DialogBoxParam вызови функцию InitCommonControlsEx и подключи comctl32.lib comctl32.inc
Д'якон вне форума Ответить с цитированием
Старый 16.01.2010, 13:43   #16
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Попробуй это
Вложения
Тип файла: rar progress.rar (2.4 Кб, 26 просмотров)
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 16.01.2010, 18:52   #17
--=SaNitinDG=-
Пользователь
 
Регистрация: 14.01.2010
Сообщений: 61
По умолчанию

ProgressBar - это коммон контрол. Перед вызовом DialogBoxParam вызови функцию InitCommonControlsEx и подключи comctl32.lib comctl32.inc
Уж куда я эту функу тока не ставил, не срабатывал прогресс бар, у меня ни с ней не без неё. Три ночи убил на прогресс бар и наконец, Салют!!!

Ну, это капец , нишьтяк ,ништековский, всё ура заработал прогресс бар пёс смердящий(животное).

Goodwin98
Сразу видно руку профессионала, пару строчек кода и вуаля прагрес бар пашет, вод бы мне так тоже научиться шарить в Ассемблере .

А я кажется понял, где собака зарыта в API SendDlgItemMessage, без неё не как. Интересно как вы это узнали, что надо SendDlgItemMessage использовать вместо CreateWindowEx.
Опыт не пропьешь если он есть=)))
--=SaNitinDG=- вне форума Ответить с цитированием
Старый 16.01.2010, 21:31   #18
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Это шаблон радасма DialogApp, на диалоге у которого добавили прогрессбар и кнопку.
Цитата:
А я кажется понял, где собака зарыта в API SendDlgItemMessage, без неё не как. Интересно как вы это узнали, что надо SendDlgItemMessage использовать вместо CreateWindowEx.
Вообще-то SendDlgItemMessage тут вместо GetDldItem + SendMessage.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
порты на Assemblere Dimon Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 11 13.04.2010 17:36
Progress bar SKS Компоненты Delphi 10 15.08.2009 21:09
Progress Bar без рамки. Mitron Компоненты Delphi 5 21.01.2008 16:33
Progress Bar Alexander X Компоненты Delphi 2 17.12.2007 03:18