Привет всем, помогите пожалуйста... Обьясните принцип поиска текста и установки позиции в EDIT'e + выделение найденого слова. Если вдруг у кого завалялись то дайте примерчик пажалуйста. Заранее благодарю.
считать текст в буфер, пропарсить на предмет поиска нужного текста, если найден то будем иметь количество байт от начала буфера до начала текста, установить выделение тривиально - EM_SETSEL
один из вариантов, в данном случае позиции нулевых байтов пропускаются, т.к. писалось не для поиска текста только это masm, переделать под fasm тривиально Код (Text): ParseBuffer proc uses ebx edi esi lpString:DWORD, StringLength:DWORD, lpBuffer:DWORD, BufferLength:DWORD mov edi, lpString mov esi, lpBuffer mov ecx, StringLength mov ebx, ecx mov edx, esi add edx, BufferLength sub edx, StringLength inc edx @loop: cmp esi, edx je @not_found test ecx, ecx jz @found mov al, BYTE PTR [edi] test al, al jz @00h_found cmp BYTE PTR [esi], al je @parse sub edi, ebx add edi, ecx sub esi, ebx add esi, ecx inc esi mov ecx, ebx jmp @loop @parse: inc edi inc esi dec ecx jmp @loop @00h_found: inc edi inc esi dec ecx jmp @loop @not_found: xor eax, eax jmp @F @found: mov eax, esi sub eax, ebx sub eax, lpBuffer @@: ret ParseBuffer endp