Как преобразовать поле ввода в сборку числа? - PullRequest
0 голосов
/ 25 мая 2019

В TASM для Win32 у меня есть этот код:

;------- Edit1 Create ----------------
push    L 0
push    [hInstEdit1]
push    idEdit1
push    [newhwnd]
push    L 20
push    L 200
push    L 50
push    L 130
push    L WS_CHILD+WS_VISIBLE+WS_BORDER+ES_LEFT+ES_NOHIDESEL+ES_AUTOHSCROLL
push    L 0
push    offset EClassName
push    L 0
call    CreateWindowEx
mov [hEdit1],EAX

push    L SW_SHOW
push    [hEdit1]
call    ShowWindow
push    [hEdit1]
call    UpdateWindow

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

PS Думаю, вам нужно использовать функцию GetDlgItemInt

1 Ответ

0 голосов
/ 27 мая 2019

Вот путь, найденный в интернете

                            ; Input:
    mov esi, offset szMsg1  ; esi - str
    dec msgLength           
    mov ecx, msgLength      ; ecx - length str
                            ; Output:
                            ; EAX = integer value
string_to_int:
    xor ebx,ebx             ; clear ebx
next_digit:
    movzx eax, byte ptr [esi]
    inc esi
    sub al,'0'              ; convert from ASCII to number
    imul ebx,10
    add ebx,eax             ; ebx = ebx*10 + eax
    loop next_digit         ; while (--ecx)
    mov eax,ebx
...