Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаются все вопросы, связанные с программированием на Ассемблере как общего так и конкретного характера.
 
важное примечание
для тех кто считает, что здесь место халявных исполнений курсовых и лабораторных работ.
тут обычно помогают тем, кто сам хоть что-то пытается понять и сделать, но что-то не понимает, что-то не получается...
ведь ассемблер изучают и задачки на нём дают обычно не менеджерам по продажам и даже не всем физ.-мат. специальностям
вы сами избрали этот путь? вот и идите по нему сами, ножками... с ручками и с головой...
 
короче, тут не сборище придурков-альтруистов, которым нечего делать и они ждут-не дождутся когда вы их попросите
что-то сделать _за_ вас
если позарез надо и вы даже готовы заплатить, тогда вам сюда
удачи
 
некоторые ресурсы
http://www.wasm.ru/ Самый популярный русскоязычный ресурс. https://wasm.in/
Ассемблер - книги (ASM, Assembler)
 
Просьба все большие листинги оформлять тегом more.
 
если вам вдруг не отвечают или ответ вас не устраивает
и вообще полезно прочитать всем спрашивающим

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:42 29-11-2006 | Исправлено: akaGM, 17:44 11-06-2020
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 
а как сделать чтоб тут папка определнная открывалась??? ну тут просто возможности нет для поля такого. но в тоже время как то делается в некоторых программах

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 10:07 14-08-2010 | Исправлено: bomzzz, 10:08 14-08-2010
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz

Цитата:
ну тут просто возможности нет для поля такого

Как это нет? А pidlRoot в BROWSEINFO на что?
 
И вообще, это уже не по ассемблеру разговор, а по WinAPI.

----------
0 программистов ругал сердитый шеф
Потом уволил одного, и стало их FF

Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 11:42 14-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ах ах ах не по ассемблеру.
Подробнее...

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 12:42 14-08-2010 | Исправлено: bomzzz, 14:50 14-08-2010
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz

Цитата:
менял значение pidlRoot от 0 до 26 кажется, но точно меньше 30.

Наугад, что ли? Для этого есть SHParseDisplayName.
Но если тебе надо не ограничить диапазон поиска, а просто изначально выставить на определённую папку, делай callback функцию для SHBrowseForFolder, лови в ней BFFM_INITIALIZED и отправляй окну BFFM_SETSELECTION (или BFFM_SETEXPANDED, сам смотри) с искомой папкой.

Цитата:
так что ответ не в тему

А я сразу сказал, что это в тему по WinAPI.

----------
0 программистов ругал сердитый шеф
Потом уволил одного, и стало их FF

Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 13:27 14-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
попробую. почему на угад - 1 2 3 4 5... что тут угадывать
 
Добавлено:
если тут никто не ответит может и там спрошу. но пример на паскале мне не нужен
http://www.masm32.com/board/index.php тут лучше спросить сразу напишут код
 
Добавлено:
оказывается есть еще один параметр который можно опустить - как раз папка открываемая по умолчанию. на паскале (или делфи??) она называется root а на ассемблере как то по другому. наверно надо в библиотеках поискать, если она там вообще есть
 
Добавлено:
Windows.inc

Цитата:
 
BROWSEINFOA STRUCT
 hwndOwner      dd ?
 pidlRoot       dd ?
 pszDisplayName dd ?
 lpszTitle      dd ?
 ulFlags        dd ?
 lpfn           dd ?
 lParam         dd ?
 iImage         dd ?
BROWSEINFOA ENDS
BROWSEINFO equ <BROWSEINFOA>
 

масм этого параметра не поддерживает.
http://www.rsdn.ru/article/files/dotnet/bfdlg.xml#E5AAC  - если тут не врут конечно
 
Добавлено:
http://msdn.microsoft.com/en-us/library/bb762115(VS.85).aspx
http://msdn.microsoft.com/en-us/library/bb773205(v=VS.85).aspx
может врут а может не врут

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 13:40 14-08-2010 | Исправлено: bomzzz, 14:52 14-08-2010
Abs62



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz

Цитата:
оказывается есть еще один параметр который можно опустить

Да нет такого параметра. Я же сказал, как это делается - через callback. И по ссылке на RSDN именно так и сделано.

----------
0 программистов ругал сердитый шеф
Потом уволил одного, и стало их FF

Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 15:40 14-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://www.manhunter.ru/assembler/236_tyuning_funkcii_shbrowseforfolder.html
нашел пример на фасме. теперь все понятно
 
Добавлено:
сделал
 
Добавлено:
szOkButton    db  "Колбаса",0
а как на масме сделать, чтоб строка была в юникоде?
на фасме вот так  
szOkButton    du  "Колбаса",0
 
Добавлено:

Цитата:
 
Продолжаю потихоньку осваивать внутренности Windows 7. В новой системе появилась такая приятная фича интерфейса, как отображение прогресса выполнения какого-нибудь действия прямо на кнопке приложения в панели задач. Впервые я увидел это в программе Total Commander при копировании и переносе файлов, сразу очень захотелось узнать как это делается и научиться делать самому. К сожалению, во всех доступных мне интернетах были найдены только примеры для Delphi, .NET и прочих языков высокого уровня. Пришлось лезть в отладчик и запасаться железным терпением, зато в результате получилось вполне рабочее решение. Для управления элементами панели задач в Windows 7 используется COM-интерфейс ITaskBarList3. Как обычно, никаких описаний в FASM нет, и все необходимое нужно искать самому или портировать с других языков.
 

какой полезный сайтик

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 00:34 15-08-2010 | Исправлено: bomzzz, 02:20 15-08-2010
semiono



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите мне всё вместе собрать ShellExecute() и GetCommandLine()
Есть небольшой набросок, не уверен, что хороший код, но если можно поправьте.
Однако, мне хотелось бы обработку ключей добваить... и при этом то, что уже есть не сломать.
 
Например, добавить обработку
--help
-options
-a
-b
/x
/z
итп. чтобы в секции '.data' определить ответ на эти ключи и юзать их в ShellExecute,
как параметры.
 
Подробнее...

Всего записей: 278 | Зарегистр. 12-08-2006 | Отправлено: 17:00 17-08-2010 | Исправлено: semiono, 17:03 17-08-2010
Benchmark



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz

Цитата:
szOkButton    db  "Колбаса",0
а как на масме сделать, чтоб строка была в юникоде?

 
можно "в лоб":
szOkButton dw "К","о","л","б","а","с","а",0
 

Цитата:
на фасме вот так  
szOkButton    du  "Колбаса",0  

 
На фасме если используешь юникодные inc-файлы (win32w*.inc или win64w*.inc), то можно еще так:
 
szOkButton  TCHAR  "Колбаса", 0

Всего записей: 6833 | Зарегистр. 01-10-2002 | Отправлено: 17:10 17-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
спс попробую. сделал в лоб
OKButton        db  12h, 04h, 4Bh, 04h, 31h, 04h, 40h, 04h, 30h, 04h, 42h, 04h, 4Ch, 04h,  0, 0
сосздал текстовый документ сохранил его в юникоде, открыд шестнадцетиричным редактором и переписал цифирки
 
 
Добавлено:
szOkButton dw "К","о","л","б","а","с","а",0  
так не работает
 
Добавлено:
szOkButton    TCHAR "Колбаса",0
и так не работает - но не ругается.
 
не работает в смысле кодировка нету - кракозябрины

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 01:37 18-08-2010 | Исправлено: bomzzz, 01:38 18-08-2010
Benchmark



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz

Цитата:
szOkButton dw "К","о","л","б","а","с","а",0  
так не работает

Интересно. В tasm работает.
 

Цитата:
szOkButton    TCHAR "Колбаса",0
и так не работает - но не ругается.
 
не работает в смысле кодировка нету - кракозябрины

Какой функцией выводишь этот текст ?

Всего записей: 6833 | Зарегистр. 01-10-2002 | Отправлено: 15:35 18-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
то есть? никакой вот так пишу и ассемблирую.
в каждом ассемблере по своему. в масме так не работает, или вообще никак, или как то по другому
 
Добавлено:
усилино погуглил советутют вот так
invoke ToUni,CTEXT("hello there"),addr myunibuff,512
 
а вот так
include     \masm32\macros\ucmacros.asm
WSTR        szOkButton,"Колбаса"
не работает, может я четане так делаю конечно

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 15:37 18-08-2010
Benchmark



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
Все, понял. Да, все правильно, для *W варианта русский текст сначала надо сконвертировать в юникод.  Иначе получится не то.

Всего записей: 6833 | Зарегистр. 01-10-2002 | Отправлено: 16:21 18-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну как то странно не сконвертировать строку при ассемблировании, а делать это каждый раз программно, а вдруг таких строк много.

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 16:26 18-08-2010
Benchmark



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ну как то странно не сконвертировать строку при ассемблировании

Согласен, но в FASM du ничего не конвертирует, а просто резервирует два байта и слепо кладет туда то, что дали.  
 
А табличка для русской кодировки вот: unicode.org/charts/PDF/U0400.pdf
Хотя через редактор быстрее.

Всего записей: 6833 | Зарегистр. 01-10-2002 | Отправлено: 16:44 18-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
данадеюсь этот юникод больше никогдане понадобится. он нужен в SHBrowseForFolder к которой как бы доступ через ж, и имя кнопки должно быть в юникоде. больше нигде не попадался этот юникод

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 16:48 18-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как создать вот такое окно
   
чтоб не было этой иконки и менюшки к ней привязанной, но в тоже время был крестик
   
 
никто не видел хелпа по окнам с картинками?
 
Добавлено:
и прибавлял и отнимал никак не могу к такому результату прити

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 13:30 19-08-2010 | Исправлено: bomzzz, 13:30 19-08-2010
Benchmark



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz

Цитата:
как создать вот такое окно
   
чтоб не было этой иконки и менюшки к ней привязанной, но в тоже время был крестик

 
Во-первых это должен быть диалог, а не окно (окна обязаны иметь иконку), т.е. создаваться процедурой вроде CreateDialog или DialogBoxParam, а не CreateWindow или CreateWindowEx.
 
Во-вторых у диалога должен быть выставлен стиль вроде  
WS_CAPTION+WS_POPUP+WS_SYSMENU+DS_MODALFRAME

Всего записей: 6833 | Зарегистр. 01-10-2002 | Отправлено: 15:17 19-08-2010 | Исправлено: Benchmark, 15:17 19-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
щас попробую - а то иконка только с крестиком убирается, я уж думал что крестик пририсовали кнопкой

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 15:19 19-08-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как отключить кеширование при чтении файла? при записи вроде вот так отключается
invoke CreateFile,File_Write,GENERIC_WRITE,0,0,CREATE_NEW,FILE_ATTRIBUTE_NORMAL OR FILE_FLAG_WRITE_THROUGH OR FILE_FLAG_NO_BUFFERING,0
но все равно кешируется (файл попадает в файл подкачки) - видимо при чтении, а там такого параметра нету - ни в OpenFile, ни в WriteFile, ни в WriteFileEx

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 14:33 21-08-2010 | Исправлено: bomzzz, 14:34 21-08-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru