Быстрый поиск
Введите фрагмент названия статьи для поиска
Вывод лога на Ассемблере
19.09.2008 | Категория: Образ мышления: Assembler | Автор: ManHunter
Если при работе вашей программы требуется вывод лога неопределенной длины, то это удобно делать в многострочном поле Edit. Преимущества такого способа налицо: можно мышкой выделить и скопировать любой кусок текста, средствами API получить весь текст целиком и сохранить в файл, быстро очистить окно лога и многое другое. Удобно делать все, кроме главного: добавление новых строчек в лог. Конечно, можно получать текст, в памяти добавлять к нему новые строчки и вставлять обратно. Но это долго, неудобно и требует дополнительных ресурсов, а для очень больших логов и вовсе неприемлемо. Поэтому воспользуемся следующей функцией:Code (Assembler) : Убрать нумерацию
- ;---------------------------------------------
- ; procedure AddLog
- ; void AddLog(hWnd:dword,CtrlID:dword,pStr:&string)
- ;---------------------------------------------
- proc AddLog hWnd:dword,CtrlID:dword,pStr:dword
- push eax
- invoke GetDlgItem,[hWnd],[CtrlID]
- or eax,eax
- jz .AddLog_1
- mov [CtrlID],eax
- invoke SendMessage,[CtrlID],EM_GETLINECOUNT,0,0
- dec eax
- invoke SendMessage,[CtrlID],EM_LINEINDEX,eax,0
- invoke SendMessage,[CtrlID],EM_SETSEL,eax,eax
- invoke SendMessage,[CtrlID],EM_REPLACESEL,FALSE,[pStr]
- .AddLog_1:
- pop eax
- ret
- endp
Читать статью целиком »
Просмотров: 5993 | Комментариев: 5
Готовим маки-суши (роллы)
16.09.2008 | Категория: А еще я туда ем! | Автор: ManHunter
Маки-суши (роллы)
Сегодня будем готовить маки-суши, или как их еще называют, роллы. Маки-суши, в свою очередь, подразделяются еще на два вида: хосо-маки (тонкие рулетики) и футо-маки (толстые рулетики).
Читать статью целиком »
Просмотров: 8623 | Комментариев: 10
Flash-навигация при отключенном Flash
15.09.2008 | Категория: Web-мастеру и не только | Автор: ManHunter
Последнее время технология Flash на сайтах становится все более популярной. Красивые анимированные меню, баннеры, и даже целые сайты выполнены на Flash. Не так давно я с интересом узнал, что изначально Flash создавался для просмотра анимированных порнушных мультиков и совершенно не предназначался для сайтостроительства. Предположим, вы относитесь к тому редкому виду дизайнеров, которые используют Flash "редко, но метко", и сделали на нем красивую навигацию для сайта. У большинства пользователей все работает как надо, ссылки, прописанные в Flash-кнопках открываются, в общем все замечательно. А что увидит пользователь сайта, если у него в браузере отключена поддержка Flash, например в целях безопасности или экономии трафика? Правильно, не увидит НИЧЕГО. Для решения проблемы предлагаю использовать следующий код:Code (HTML) : Убрать нумерацию
- <object type="application/x-shockwave-flash"
- data="images/contact_button.swf" width="100" height="30">
- <param name="menu" value="false" />
- <param name="quality" value="high" />
- <param name="wmode" value="transparent" />
- <param name="bgcolor" value="#ffffff" />
- <param name="movie" value="images/contact_button.swf" />
- <a href="contact.html"><img src="images/contact_button.gif" width="100"
- height="30" border="0" alt="Контакты" /></a>
- </object>
Просмотров: 5401 | Комментариев: 6
Перетаскивание окна за любое место
13.09.2008 | Категория: Образ мышления: Assembler | Автор: ManHunter
Перетаскивание окна за любое место, а не только за заголовок, реализуется очень просто, но смотрится очень эффектно. Тем более, что окно может быть вообще без заголовка. Для этого в обработчик окна надо добавить следующий код.Code (Assembler) : Убрать нумерацию
- ; Процедура обработчика окна
- proc DialogProc hwnddlg,msg,wparam,lparam
- ......
- ; Нажата левая кнопка мышки на окне?
- cmp [msg], WM_LBUTTONDOWN
- je drag_window
- ......
- drag_window:
- ; Освободить захват мыши окном в текущем потоке и
- ; восстановить обычную обработку ввода данных от мыши
- invoke ReleaseCapture
- ; Перенаправить сообщение передвижения мышью SC_MOVE на заголовок окна
- ; 61458 = SC_MOVE or HTCAPTION, в FASM по умолчанию не определено,
- ; поэтому сразу задается числовым значением
- invoke SendMessage,[hwnddlg],WM_SYSCOMMAND,61458,0
- ......
Читать статью целиком »
Просмотров: 7508 | Комментариев: 6
Поздравляю с Днем программиста!
12.09.2008 | Категория: Всякая всячина | Автор: ManHunter
Ура! Вот и наступил очередной профессиональный праздник! Всех коллег и "товарищей по цеху" сердечно поздравляю с этой красивой датой - 0x100 день года. На улице прохладно, так что купание в фонтане придется отложить :)
Просмотров: 3856 | Комментариев: 1