Как быстро очистить буфер?

Тема в разделе "WASM.BEGINNERS", создана пользователем Processor, 22 мар 2008.

  1. Processor

    Processor New Member

    Публикаций:
    0
    Регистрация:
    15 мар 2008
    Сообщения:
    46
    Подскажите, как проще и короче
    полностью очистить буфер
    не уничтожая его

    bufer db 129 dup (?)

    ЗЫ

    xor bufer, bufer
    не подсказывайте, уже пробовал.
    :)
     
  2. ALLeX

    ALLeX Member

    Публикаций:
    0
    Регистрация:
    21 окт 2004
    Сообщения:
    141
    Адрес:
    Ukraine
    stosd
     
  3. Processor

    Processor New Member

    Публикаций:
    0
    Регистрация:
    15 мар 2008
    Сообщения:
    46
    Не понял.
    stosd ведь сохранят регистр в памяти.

    Мне нужно убрать из буфера неизвестную строку, чтолбы буфер был пустой.

    С каким параметром использовать эту директиву?
     
  4. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    lea edi,Buffer
    mov ecx,SizeOf Buffer
    xor eax,eax
    rep stosb
     
  5. Processor

    Processor New Member

    Публикаций:
    0
    Регистрация:
    15 мар 2008
    Сообщения:
    46
    Вопросик
    Вот вторая строка, что это значит?
    mov ecx,SizeOf Buffer
    Счётчик, равный размеру буфера?
     
  6. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
  7. Processor

    Processor New Member

    Публикаций:
    0
    Регистрация:
    15 мар 2008
    Сообщения:
    46
    Спасибочки, MSoft
    Всё ясно.
    Главное ведь - не повторить, а понять...
     
  8. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    mov dword ptr [buffer], 0

    ты ведь туда строку записываешь.
    Как я понимаю, функциями lstrcat / GetWindowTextA / и пр.

    В твоем случае простого дворда вначале буфера с головой хватит.
     
  9. Freeman

    Freeman New Member

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

    Processor New Member

    Публикаций:
    0
    Регистрация:
    15 мар 2008
    Сообщения:
    46
    Да нет, наверное этого мало будет.

    Тут вот какое дело:
    Я (после выбора файла в OpenFileDialog)
    из эдит-бокса ввожу в этот самый буфер адрес выбраного файла.
    Конкретного размера нету конечно, но что не короткий. то это точно.

    И вот я чего побаиваюсь:
    Вот я закончил операцию с файлом.
    Нужно выбрать другой файл.
    Если я в следующий раз кину в этот же буфер другой адрес файла, который будет короче первого, то часть первого адреса ведь останется, (раз она длиннее).
    И будет нехорошо.
    Наверное, стоит очистить буфер?
     
  11. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    все будет нормально.
     
  12. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    API функция с помошью которой ты короткую строку в буфер добавляешь, в конце этой строки ставит ноль, и всё будет нормуль
     
  13. Processor

    Processor New Member

    Публикаций:
    0
    Регистрация:
    15 мар 2008
    Сообщения:
    46
    А! Понятно.
    То-то я заметил, что когда кидаешь из эдитбокса в буфер, она по-любому добавляет в конец нулевой символ... Тогда бояться нечего.
     
  14. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    и не надо тратить лишнии инструкции для очистки