Уровень "Чайник"

Тема в разделе "WASM.BEGINNERS", создана пользователем Xshot, 20 ноя 2007.

  1. Xshot

    Xshot New Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    6
    Изначально просьба к модераторам раздела не удалять этот топик.
    В этом топике мне хотелось бы задавать вопросы которые затрудняют исследования (пока рано) и программированию под Win32.
    Прежде всего это мой первый язык программирования. Многое прочитал, многое ещё нет по техническим причинам (нет подходящей литературы в бумажном виде в моём городе), электронный вид задолбал (лучше воспринимается в тихой обстановке за кружечкой чая :)).
    На данном этапе пробую разобраться с тутами Iczelion-на.
    Сейчас у меня такой вопрос (изучаю окна). Как допустим создать окно которое выглядело бы нестандартно, т.е. Внутри был битмап заголовок битмапом. Какие библиотеки надо подключать, какие функции вызывать.
    Вопрос для тех кто уже пишет своё: "каким способом вы пишет - через invoke или каждый атрибут заталкиваете push-ем типа:
    invoke MessageBox, NULL, addr MsgBoxText, addr MsgBoxCaption, MB_OK
    или
    push 0
    push MsgBoxCaption
    push MsgBoxText
    push 0
    call MessageBox" как лучше привыкать писать в листенге?
    Пока всё но на самом деле вопросов куча + тележка.
     
  2. Jupiter

    Jupiter Jupiter

    Публикаций:
    0
    Регистрация:
    12 авг 2004
    Сообщения:
    532
    Адрес:
    Russia
    Добро пожаловать на форум.
    а распечатать?


    это правильно. только постарайся пройти все туторы от начала до конца, а потом уже задавать вопросы.
    т.к. получив базовые знания, некоторые вопросы отпадут сами собой


    посмотри сорсы ключегенов Canterwood'a

    в основном invoke, в некоторых случаях - call, при множестве повторяющихся вызовов и оптимизации пуша параметров
     
  3. Xshot

    Xshot New Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    6
    Ага спс.
    Насчёт изучить всего изелиона %) крыша поедет, т.к. он учит от простого к сложному, но дело в том что в этом "простом" трудно разобраться если не сталкивался с программированием. После того как нашёл справочник по АПИ я это понял. Каждая функция, структура, вкл. в себя есчё константы и т.д. и т.п. Таким образом я начал копать и получилось так, чтоб создать элементарное окно необходимо знать просто уйму переменных и доп. значений. Тупо сделать по мануалам (ничего не понимая, зато зная что WinMine - нужна для классификации окна, а как она работает-трам-парарам) и сказать что я освоил - не хочу, да и какой смысл. Смотерть чужие сорсы - честно говоря я не всё понимаю, к тому же там много нового и непонятного, и как там найти то что мне нужно :/
    Распечатать к сожалению книжки не могу нет возможности (на струйнике задолбишься распечатовать).
     
  4. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    Не зацикливайся долго на непонятных вещах, скомилируй, посмотри как работает, попробуй разобратся и дуй вперед. Со временем вернешься назад и все поймешь.
    Найди себе сенсея, хотя бы на первое время, который пояснит основные моменты.(это необязательное условие, но так все осваивается гораздо быстрее)
    Удачи!
     
  5. zl3p

    zl3p New Member

    Публикаций:
    0
    Регистрация:
    18 ноя 2007
    Сообщения:
    7
    изучать ассемблер для того, чтобы программировать мастдай -- ЖУТЬ, подумать страшно...
     
  6. jecxz

    jecxz New Member

    Публикаций:
    0
    Регистрация:
    23 фев 2006
    Сообщения:
    75
    Адрес:
    Brazil
    zl3p
    оо, зря вы так, если никогда так не делали, то обязательно попробуйте, плюсы очевидны (ну если вы конечно не аналог ms office пишете (хотя я и такое не исключаю :))
     
  7. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.734
    ассемблер единственно правильный путь для программиста ...
     
  8. zl3p

    zl3p New Member

    Публикаций:
    0
    Регистрация:
    18 ноя 2007
    Сообщения:
    7
    под жутью имелся ввиду не ассемблер, а виндовс -)
     
  9. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    asmlamo
    При таком нике и так категорично. :)
     
  10. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    лабы по асму лучше делоть под вин, чем пад дос, т.к. не надо возицо с такой фегней как получение строки из числа, формировать вывод руками.. да и в конечном счете отлаживать удобнее олей, чем тем же турбадебагерсом
     
  11. Xshot

    Xshot New Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    6
    На данном этапе так и получается. Смотришь в начало а там всё по полачкам разложенно и думаешь как всё эллементарно. ;)
    Спасибо огромное Bitfry за его "Дневник чайника" - очень классная штука Чтива1-3 на КракЛабе чтива 0 на сайте http://bitfry.narod.ru/
    Также спасибо Владимиру Соковикову-переведены большинство функций API (для новичков рекомендую), без него исследование было бы в слепую. http://vsokovikov.narod.ru/

    Вот это мне действительно очень помогло бы. Форум конечно хорошо, но сколько людей - столько и мнений, и узнать что-то конкретное бывает очень долго, а иногда и неправильно.

    Ну тут я вообщемто не понимаю. Любые высокоуровневые языки программирования в отладчике выходят совсем по другому, и понять как воздействует та или иная функция на стек на регистры, флаги - это помоему самое главное. Например пишишь ты прогу, собираешь, а она тебе какой-нибудь ЕРОР - заезжаешь в отладчик и трасируешь,трасируешь, пока не выскочит ошибка, а дальше тебе просто надо понимать с какого места мы вывалились. Может я не прав и программирование на С, Дэлфи и др. работают по своим законам? Просто освоив асс под Винду, хочу перейти к более высокоуровнему языку (но это будет не скоро, но терпения хватит).
    Пока продолжаю Тут 3-4 Iczelion-на, от скинов под обычное окно пока отказался, из-за недостаточности знаний.
    Спс всем!
     
  12. Nolipse

    Nolipse New Member

    Публикаций:
    0
    Регистрация:
    8 сен 2007
    Сообщения:
    2
    Просьба помочь, кто чем может. Учу асму по Зубкову. Вроде все более-менне понятно. Но тут проблемка с прогой, которая отключает КапсЛок, СкроллЛок, НамЛок.Компилится норм, но ниче она не отключает. По ходу, мож не по тому адресу находится байт состояния клавы(опечатки в этой книжке бывают :-((()?Привожу суть проги
    xor ax,ax
    mov ds,ax
    mov byte ptr ds:0417h,al.
    Или я шось не так делаю?Плиз помогите. Заранее благодареню
     
  13. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    Уважаемый Nolipse, может быть я и не прав, но наверное вы запускаете свою программу под Win, а то о чем написано у Зубкова, требует загрузки под DOS
     
  14. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Nolipse
    Не видя всей программы, сказать сложно, но в этом фрагменте кода нет вывода в порт, т.е. клава команды не получает, а значит, ничего отключить и не может.
     
  15. Nolipse

    Nolipse New Member

    Публикаций:
    0
    Регистрация:
    8 сен 2007
    Сообщения:
    2
    Не, загружаю я под эмулятором доса, а вся прога(9 строк =)) выглядит так:

    .model tiny
    .code
    org 100h
    start:
    xor ax,ax
    mov ds,ax
    mov byte ptr ds:0417h,al
    ret
    end start
    ИМХО, тут вывод-то в порт не обязателен, если можно изменить байт состояния клавы.Прога эта- пример Зубкого.
    Спасибо, что не осудили мое " чайничество" =).Заранее спасибо.
     
  16. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Это *.СОМ программа.
    Запусти в чистом DOS и всё будет меняться.
    Я тоже был удивлён что заменой байта состояния можно светодиоды включать/выключать - но реально работает :)
    Видно BIOS мониторит, или фиг его знает.
     
  17. Xshot

    Xshot New Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    6
    Господа програмисты помогите. Короче разбираюсь с тутами Зелиона и 3 уроке просто вывод окна на экран. Я хочу сделать свою иконку в заголовке. Добавляю в фай .rc свою иконку
    #define IDB_MYBITMAp 100
    IDB_MYBITMAp ICON "c:\Trening\1\PUC.ico"
    в листинге прописываю константу:
    .const
    IDB_MYBITMAp equ 100
    меняя в вызове функции лоад икон стандартную на IDB_MYBITMAp
    Правильно делал? Если да то как это компильнуть?
    Как в бат-ке прописать файл .rc
     
  18. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    Код (Text):
    1. cls
    2. if exist %1.exe del %1.exe
    3. if not exist %1.rc goto over1
    4. \masm32\bin\rc /v %1.rc
    5. \masm32\bin\cvtres /machine:ix86 %1.res
    6. \masm32\bin\ml /c /Cp /Gz /Ic:\masm32\include /coff /nologo %1.asm
    7. if errorlevel 1 goto TheEnd
    8. \masm32\bin\Link /SUBSYSTEM:WINDOWS /LIBPATH:c:\masm32\lib /NOLOGO %1.obj %1.res
    9. if errorlevel 1 goto TheEnd
    10. del %1.res
    11. goto TheEnd
    12. :over1
    13. \masm32\bin\ml /c /Cp /Gz /Ic:\masm32\include /coff /nologo %1.asm
    14. if errorlevel 1 goto TheEnd
    15. \masm32\bin\Link /SUBSYSTEM:WINDOWS /LIBPATH:c:\masm32\lib /NOLOGO %1.obj
    16. :TheEnd
    17. if exist %1.obj del %1.obj
    содержимое универсального бата, помещенного в Win/system32. Я работаю в far'e где у меня прописаны ассоциации с asm-файлами. То что касается подключения rc-файлов - даю им то же имя что и для asm-файлов и помещаю их в ту же папку подключение rc-файла посмотри строки 3-7 в батнике
     
  19. Xshot

    Xshot New Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    6
    Mikl__
    Спасибо

    Всё равно компилятор сообщает что не может найти иконку по данному в rc пути. Окнос меню собирает а к иконки не хочет подходить. Может я неправильно её описал?
     
  20. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    Xshot
    Держи! В аттаче сорц и ехе