Сам себе Iczelion

Тема в разделе "WASM.BEGINNERS", создана пользователем Mikl_, 11 май 2007.

Метки:
  1. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Закат солнца вручную или так ли уж нужен линкер
    Одни ассемблеры (tasm, masm, wasm (Open Watcom assembler), GoAsm, POAsm (Pelle Orinius macro assebmler)) состоят из "полного комплекта": ассемблер, линкер и компилятор ресурсов. Другие (lzasm, a86) используют "чужие" линкеры и компиляторы ресурсов. Третьи (FASM, nasm) создают бинарный файл и за счет макросов добавляют ему MZ, PE, ELF- заголовки и ресурсы.
    Пробуем при очередном переписывании уроков Iczeliona обойтись без линкера и компилятора ресурсов. Сразу предупреждаю: написано и проверено на WinXP SP2, точно не пойдет на Win95/98 и Win2k. Если есть желающие проверить под Vista напишите пожалуйста о результатах, поправках и замечаниях. Все exe собирались строкой "nasmw hello.asm -o hello.exe"
    В аттаче сорц и ехе урока с MessageBox. Размер ехе 342 байта
    (продолжение следует)
     
  2. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Урок 3. Вывод окошка. В аттаче сорц и ехе. Размер ехе 541 байт.
     
  3. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Вывод вращающейся надписи в окно. Сорц и ехе. Размер ехе 1306 байт. nagoa+.inc можно взять здесь http://visual-assembler.pt.vu/
     
  4. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    4, 5, 6, 7 уроки Iczeliona с небольшими исправлениями (сорц и ехе)
     
  5. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Забавы с курсором и иконкой
     
  6. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Урок 8 создание меню разными способами
     
  7. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Уроки 9-14
     
  8. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    MDI приложение. Добавлены Next, Previous, Close All
     
  9. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    Mikl___

    ntut_10-01
    Наверное, все-таки стоило вылечить неполноценный "Our First Dialog Box" Iczelion-а, заменив DefWindowProc на DefDlgProc...

    ntut_10-02
    "Our Second Dialog Box" не закрывается с заголовка и обоих меню, только только кнопкой "Exit"...

    Увязнув в ЭкстраСпае, просто не мог пройти мимо... фу, какой нелепый образ получился :)
     
  10. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    kero
    В аттаче исправленный вариант урока 10-1 (Замена DefWindowProc -> DefDlgProc)
    Урок 10-2 -- не знаю, где исправлять:dntknw: Было сделано по Iczelion'y, у Sulaiman сделано аналогично, на моем компьютере закрывается из системного меню, при нажатиии по "крестику" на диалоге и собственно через "Exit" в меню. Подскажите, где я ошибся.
    Урок 10-3 создание диалога через DialogBoxIndirectParam - 1) не понимаю почему не отрабатывает копка "Say Hello" хотя кнопка "Exit" работает :dntknw:
    2) как лучше прицепить в этом случае меню? Может быть через LoadMenuIndirect?
    Если Вы не возражаете - я использую примеры из main variants
    Каково Ваше мнение о #24
    Не понял о чем это?
     
  11. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    >Не понял о чем это?

    Да у меня картинка: "увязнув в" + "просто не мог пройти мимо" :)

    На вопросы отвечу ближе к вечеру, сейчас не могу...
     
  12. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    Mikl___

    Не надо меня на большое "Вы" :)

    Но ведь для DialogBox* (не CreateDialog*) - EndDialog, а не DestroyWindow?
    Может, на вашем компе - на самом деле не закрывается, а ломается? Процесс убит?
    Но если действительно закрывается... может, обозначились ограничения на данный способ сборки exe?
    (Кнопка "Exit" закрывает потому, что там, кажется, просто ret).
    У меня (на XP-pro-sp2) 10-3 не закрывается в точности как 10-2...
    Насчет кнопки "Say Hello" - почему не хочет сходу не уловил. Для меня сложность еще и в том, что нет под рукой nasm-а.
    На всякий случай: мне кажется, лучше не использовать для id контролов диалога родные ему IDABORT 3, IDRETRY 4, IDIGNORE 5 не вполне по назначению, диалог может неправильно понять :)
    Насчет LoadMenuIndirect - почему бы и нет (например, в HTLab (часть HTSpy) - вроде OK).
    Насчет main variants - об чем речь :)
    Насчет #24 - а знаете, ведь никогда особо не вчитывался в этот урок, может, и там не все ладно, надо будет посмотреть :)
     
  13. Loginanton

    Loginanton New Member

    Публикаций:
    0
    Регистрация:
    8 май 2008
    Сообщения:
    74
    Народ, а может кто переписать урок 8. Хочу узнать как создавать меню не через файл ресурсов. Только напишите пожалуйста максимально читабельно, а то я чайник :)
     
  14. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
  15. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Создание динамического меню на nasmw без линкера (в аттаче сорц и ехе - размер 1566 байт)
     
  16. Shoorup

    Shoorup Member

    Публикаций:
    0
    Регистрация:
    20 сен 2007
    Сообщения:
    109
    Mikl___ планируешь ли ты написать про PE?
     
  17. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Shoorup
    Всё уже до нас написано:) Просто остается экспериментировать на живых РЕ-файлах - а вдруг прокатит... То, что я попробовал на nasm, можно безболезнено перенести на masm и другие ассемблеры
     
  18. driver

    driver New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    302
    Уважаемый Mikl___ , в Ваших постах чувствуется мастерство, опыт и глубокий ум.

    не могли бы Вы добавить в урок про РичЭдит функцию "justification" ? всё остальное в принципе... и так сойдёт

    спасибо , в любом случае...
     
  19. TOLSTOPUZ

    TOLSTOPUZ New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2008
    Сообщения:
    509
    :)
    Тогда уж - Глубокоуважаемый господин Mikl ...

    ------------------------------------

    Mikl, ты молодец!
    P.S.
    Вот что тут привлекает в этой идее Mikl-а переработать Икзилиона - это то, что он проверяет все примеры на работоспособность.
    А у Иклизиона кое-что может устареть, (например некоторые функции использования памяти) кое-что не работать вообще (мало ли ошибка) , и т.д.
     
  20. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Урок 23. Иконка в system tray "Как помещать иконки в system tray и как создавать/использовать всплывающее меню" переделанная "классика" и два варианта на nasmw без линкера и компилятора ресурсов