Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поле для ввода и кнопка 
:(
    Опции темы
W4FhLF
Дата 20.12.2006, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 1
Всего: 121



Код

    .386
    .model flat,stdcall
    option casemap:none

WinMain    proto :DWORD,:DWORD,:DWORD,:DWORD

include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib

    .data
ClassName    db    "MyClass",0
Zagolovok        db    "Hello",0
ButtonClassName    db    "button",0
ButtonText    db    "Click me",0
EditClassName    db    "edit",0
lpFmtd        db    "%d",0
    .data?
hinstance HINSTANCE ?
CommandLine LPSTR ?
hwndButton HWND ?
hwndEdit1 HWND ?
hwndEdit2 HWND ?
buf    db    512 dup(?)

    .const
ButtonID    equ    1
EditId        equ    2

    .code
start:
    invoke    GetModuleHandle,NULL
    mov    hinstance,eax
    invoke    GetCommandLine
    mov    CommandLine,eax
    invoke    WinMain,hinstance,NULL,CommandLine,SW_SHOWDEFAULT
    invoke    ExitProcess,eax

WinMain    proc    hinst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:DWORD,CmdShow:DWORD
LOCAL    wc:WNDCLASSEX
LOCAL    msg:MSG
LOCAL    hwnd:HWND
    mov    wc.cbSize,SIZEOF WNDCLASSEX
    mov    wc.style,CS_HREDRAW or CS_VREDRAW
    mov    wc.lpfnWndProc,offset WndProc
    mov    wc.cbClsExtra,NULL
    mov    wc.cbWndExtra,NULL
    push    hinst
    pop    wc.hInstance
    mov    wc.hbrBackground,COLOR_BTNFACE+1
    mov    wc.lpszMenuName,NULL
    mov    wc.lpszClassName,offset ClassName
    invoke    LoadIcon,NULL,IDI_APPLICATION
    mov    wc.hIcon,eax
    mov    wc.hIconSm,eax
    invoke    LoadCursor,NULL,IDC_ARROW
    mov    wc.hCursor,eax
    invoke    RegisterClassEx,addr wc
    invoke    CreateWindowEx,WS_EX_CLIENTEDGE,addr ClassName,\
        addr Zagolovok,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,\
        CW_USEDEFAULT,300,200,NULL,NULL,hinst,NULL
    mov    hwnd,eax
    invoke    ShowWindow,hwnd,SW_SHOWNORMAL
    invoke    UpdateWindow,hwnd
.WHILE TRUE
    invoke    GetMessage,addr msg,NULL,0,0
.BREAK .IF(!eax)
    invoke    TranslateMessage,addr msg
    invoke    DispatchMessage,addr msg
.ENDW
    mov    eax,msg.wParam
    ret
WinMain    endp

WndProc    proc    hwnd:HWND,uMsg:UINT,wParam:WPARAM,lParam:LPARAM
.IF uMsg==WM_DESTROY
    invoke    PostQuitMessage,NULL
.ELSEIF uMsg==WM_CREATE
    invoke    CreateWindowEx,WS_EX_CLIENTEDGE,addr EditClassName,\
        NULL,WS_CHILD or WS_VISIBLE or WS_BORDER or ES_LEFT or\
        ES_AUTOHSCROLL,50,35,200,25,hwnd,8,hinstance,NULL
    mov    hwndEdit1,eax
    invoke    CreateWindowEx,WS_EX_CLIENTEDGE,addr EditClassName,\
        NULL,WS_CHILD or WS_VISIBLE or WS_BORDER or ES_LEFT or\
        ES_AUTOHSCROLL,50,105,200,25,hwnd,8,hinstance,NULL
    mov    hwndEdit2,eax
    invoke    SetFocus,hwndEdit1
    invoke    CreateWindowEx,NULL,addr ButtonClassName,addr ButtonText,\
        WS_CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON,
        75,70,140,25,hwnd,ButtonID,hinstance,NULL
    mov    hwndButton,eax
.ELSEIF uMsg==WM_COMMAND
    mov    eax,wParam
    .IF ax==ButtonID
        shr    eax,16
            .IF ax==BN_CLICKED
            push    esi
            push    edi
            push    ebx
            invoke    GetWindowText,hwndEdit1,addr buf,512
            invoke    lstrlen,addr buf
            mov    esi,eax
            xor    edi,edi
            xor    eax,eax
            xor    ebx,ebx
            mov    cx,10
l1:
            mov    bl,byte ptr buf[edi]
            sub    bl,'0'
            jb    error
            cmp    bl,9
            ja    error
            mul    cx
            add    eax,ebx
            inc    edi
            cmp    edi,esi
            jb    l1
            push eax
            invoke    GetWindowText,hwndEdit2,addr buf,512
            invoke    lstrlen,addr buf
            mov    esi,eax
            xor    edi,edi
            xor    eax,eax
            xor    ebx,ebx
            mov    cx,10
l2:
            mov    bl,byte ptr buf[edi]
            sub    bl,'0'
            jb    error
            cmp    bl,9
            ja    error
            mul    cx
            add    eax,ebx
            inc    edi
            cmp    edi,esi
            jb    l2
            pop    ebx
            add eax,ebx
            invoke    wsprintf,addr buf,addr lpFmtd, eax
            invoke    MessageBox,hwnd,addr buf,addr Zagolovok,MB_OK
            pop    ebx
            pop    edi
            pop    esi
error:
            .ENDIF
    .ENDIF
.ELSE
    invoke    DefWindowProc,hwnd,uMsg,wParam,lParam
    ret
.ENDIF
    xor    eax,eax
    ret
WndProc    endp

end    start



--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
PosiTive
Дата 20.12.2006, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 11.12.2006

Репутация: нет
Всего: нет



anwe, W4FhLF,
жду номера ваших кошельков. 
PM MAIL   Вверх
W4FhLF
Дата 20.12.2006, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 1
Всего: 121



PM

*думает какой же он алчный smile*


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
anwe
Дата 20.12.2006, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 748
Регистрация: 2.9.2006

Репутация: 8
Всего: 23



PosiTive, да ладно тебе smile 
PM MAIL   Вверх
PosiTive
Дата 20.12.2006, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 11.12.2006

Репутация: нет
Всего: нет



anwe, ну тогда просто человеческое спасибо  smile 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0689 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.