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

Discussion in 'WASM.BEGINNERS' started by Xshot, Nov 20, 2007.

  1. Xshot

    Xshot New Member

    Blog Posts:
    0
    Joined:
    Nov 20, 2007
    Messages:
    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

    Blog Posts:
    0
    Joined:
    Aug 12, 2004
    Messages:
    532
    Location:
    Russia
    Добро пожаловать на форум.
    а распечатать?


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


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

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

    Xshot New Member

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

    Aspire New Member

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

    zl3p New Member

    Blog Posts:
    0
    Joined:
    Nov 18, 2007
    Messages:
    7
    изучать ассемблер для того, чтобы программировать мастдай -- ЖУТЬ, подумать страшно...
     
  6. jecxz

    jecxz New Member

    Blog Posts:
    0
    Joined:
    Feb 23, 2006
    Messages:
    75
    Location:
    Brazil
    zl3p
    оо, зря вы так, если никогда так не делали, то обязательно попробуйте, плюсы очевидны (ну если вы конечно не аналог ms office пишете (хотя я и такое не исключаю :))
     
  7. asmlamo

    asmlamo Well-Known Member

    Blog Posts:
    0
    Joined:
    May 18, 2004
    Messages:
    1,742
    ассемблер единственно правильный путь для программиста ...
     
  8. zl3p

    zl3p New Member

    Blog Posts:
    0
    Joined:
    Nov 18, 2007
    Messages:
    7
    под жутью имелся ввиду не ассемблер, а виндовс -)
     
  9. l_inc

    l_inc New Member

    Blog Posts:
    0
    Joined:
    Sep 29, 2005
    Messages:
    2,566
    asmlamo
    При таком нике и так категорично. :)
     
  10. Freeman

    Freeman New Member

    Blog Posts:
    0
    Joined:
    Feb 10, 2005
    Messages:
    1,385
    Location:
    Ukraine
    лабы по асму лучше делоть под вин, чем пад дос, т.к. не надо возицо с такой фегней как получение строки из числа, формировать вывод руками.. да и в конечном счете отлаживать удобнее олей, чем тем же турбадебагерсом
     
  11. Xshot

    Xshot New Member

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

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

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

    Nolipse New Member

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

    Mikl_ New Member

    Blog Posts:
    0
    Joined:
    Nov 14, 2006
    Messages:
    907
    Уважаемый Nolipse, может быть я и не прав, но наверное вы запускаете свою программу под Win, а то о чем написано у Зубкова, требует загрузки под DOS
     
  14. SII

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

    Blog Posts:
    0
    Joined:
    Oct 31, 2007
    Messages:
    1,483
    Location:
    Подмосковье
    Nolipse
    Не видя всей программы, сказать сложно, но в этом фрагменте кода нет вывода в порт, т.е. клава команды не получает, а значит, ничего отключить и не может.
     
  15. Nolipse

    Nolipse New Member

    Blog Posts:
    0
    Joined:
    Sep 8, 2007
    Messages:
    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

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

    Xshot New Member

    Blog Posts:
    0
    Joined:
    Nov 20, 2007
    Messages:
    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

    Blog Posts:
    0
    Joined:
    Nov 14, 2006
    Messages:
    907
    Code (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

    Blog Posts:
    0
    Joined:
    Nov 20, 2007
    Messages:
    6
    Mikl__
    Спасибо

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

    Mikl_ New Member

    Blog Posts:
    0
    Joined:
    Nov 14, 2006
    Messages:
    907
    Xshot
    Держи! В аттаче сорц и ехе