Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 295
от 20.06.2002, 00:10
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 485 Отправлено ответов: 1308 Активность: 269.6 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Blackeye Статус: Профессиональный Общий рейтинг: 119.97 URL: Delphi, my programms... [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 160.2 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 148.69 [Подробней >>] |
bin Статус: Начальный Общий рейтинг: 103.29 [Подробней >>] |
Portnov Статус: Доверительный Общий рейтинг: 168.88 [Подробней >>] |
Gibbel Статус: Доверительный Общий рейтинг: 109.6 [Подробней >>] |
Sensey Статус: Профессиональный Общий рейтинг: 146.58 Телефон: +38 (0572) 41-76-04 дом. [Подробней >>] |
Alex Статус: Доверительный Общий рейтинг: 110.18 [Подробней >>] |
Dark_Lord Статус: Опытный Общий рейтинг: 120.45 Телефон: 36 30 3862503 [Подробней >>] |
Александр Статус: Опытный Общий рейтинг: 116.48 [Подробней >>] |
Zloy Статус: Доверительный Общий рейтинг: 105.34 [Подробней >>] |
vitya Статус: Опытный Общий рейтинг: 116.94 [Подробней >>] |
Vint by Shz Статус: Доверительный Общий рейтинг: 113.83 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 437. Добрый день Эксперты. У меня возник вопрос: Как вывести на экран данные к примеру функции 32h (инфо... (ответов: 4)
Вопрос № 438. Помогите с такой проблемой: под Win32 необходимо запустить чужое приложение и дождаться его выполнен... (ответов: 3)
Вопрос № 439. Привет всем! у меня тут возник такой вопрос: как создать окно типа как у Builderа или Delphi??? Т.е.... (ответов: 4)
Вопрос № 440. Уважаемые эксперты! У меня такая проблема: Я хочу написать программу и разместить ее в MBR, но у мен... (ответов: 1)
Вопрос № 442. Тов. эскперты,пробейте этой статье путевку в жизнь.Кажется re666_im7 спрашивал про это: http://bugtr... (ответов: 4)
Вопрос № 443. Плз., помогите разобраться начинающему программисту! Нужно реализовать след задачу: увеличить в N ра... (ответов: 2)
Вопрос № 444. Здравствуйте Эксперты! Если у кого есть информация о построение файла .bmp или .jpg прошу помочь! Ну... (ответов: 5)
Вопрос № 445. Уважаемые эксперты,не могу сообразить,как вытянуть имена дисководов из массива,в который их пихает G... (ответов: 3)
Вопрос № 446. Уважаемые эксперты,пытаюсь разобраться с чтением/записью в файл (Win32),в одной статье прочитал <...... (ответов: 4)
Вопрос № 447. Уважаемые эксперты,буду крайне благодарен,если подскажете как проиграть avi-шку в SDK? Заранее благо... (ответов: 1)
Вопрос № 448. Уважаемые эксперты,подскажите,плз,как вставить строку во всплывающее меню на Desktop’e? Заранее благ... (ответов: 2)
Вопрос № 449. Уважаемые эксперты,я искренне благодарен за Ваше желание помочь,пришла масса ответов,беда в том,что ... (ответов: 1)
Вопрос № 450. Уважаемые эксперты,прошлый раз задавал вопрос и эксперт Vitya попросил уточнить,уточняю: подскажите,... (ответов: 2)
Вопрос № 451. Уважаемые эксперты,в описании ф-ии SetWindowText говорится,что с ее помощью нельзя менять текст в др... (ответов: 4)
Вопрос № 452. Здраствуйте гОСпоДа Эксперты... Скажите плизз как сделать так чтобы размер создаваемого мной окна бы... (ответов: 5)
Вопросов: 15, ответов: 45
Вопрос № 437 |
Добрый день Эксперты.
У меня возник вопрос:
Как вывести на экран данные к примеру функции 32h (информация ДОС о диске), 21h прерывания.
Пробовал 09h, 21h прерывания, не выходит.
Большое спасибо.
Приложение:
Вопрос отправлен: 15.06.2002, 10:22
Отправитель: EvilBit (TipOk@NewMail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Blackeye
Приветствую Вас, EvilBit!
А в чем проблема? Читаешь из буфера данные, преобразуещь данные для вывода в ASCII симолы и выводишьна экран. Как выводить хексы на экран прочитай в предыдущих рассылках
Ответ отправлен: 15.06.2002, 22:39
Отправитель: Blackeye
Отвечает masquer
Здравствуйте, EvilBit!
функция 09 выводит строку ASCII с завершающим $, а у тебя число, а не строка.
Ответ отправлен: 15.06.2002, 16:39
Отправитель: masquer
Отвечает Broken Sword
Добрый день, TipOk!
А чего оно собснно должно выходить то ? Запомни, все что касается вывода - должно быть представлено в ASCII кодах, и никак иначе!!! А инфа то возвращается в числовых значениях !!! т.е. если у тебя размер сектора в байтах 512, то это не значит, что если вывести слово '512' на экран то оно его так и выведет, должно быть по крайней мере что то типа 35 31 32 (ASCII-кода)
Ответ отправлен: 15.06.2002, 14:59
Отправитель: Broken Sword
Отвечает bin
Дмюоме аоекз ъяпми, EvilBit!
Жмамоуэ номюмачй - ле аьсмдуп (пмблее дмйтлм аьсмдупщ дч ле пм), пчи у ле аьхдеп. А ноуймтелуу, з пчи дякчв, ияъми уц TechHelp'ч, ч пчк тейпьк нм беолмкя мнуъчл ыпмп "юйми улрмокчфуу дуъич цчномэеллмжм яъпомхъпач". У аъз улрч а ыпмк юймие лчсмдупъз ле а ASCII имдчс(пм, бпм кь аудук лч ыиочле), ч ичи еъпщ. Дйз аьамдч улрь пеюе лчдм номбупчпщ ъмдеотукме пмжм уйу улмжм ияъич, ноемюочцмачпщ а ASCII имд, нмъпчаупщ а имлех "$" у пмйщим пмждч аьамдупщ 09h 21h. Кмтлм у юец ючиъч лм дояжуку ънмъмючку (40h 21h,...).
Ответ отправлен: 16.06.2002, 15:12
Отправитель: bin
Вопрос № 438 |
Помогите с такой проблемой: под Win32 необходимо запустить чужое приложение и дождаться его выполнения.
Вопрос отправлен: 15.06.2002, 13:27
Отправитель: Gibbel
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Здравствуйте, Gibbel!
Используй CreateProcess, затем WaitForSingleObject
Ответ отправлен: 15.06.2002, 16:46
Отправитель: masquer
Отвечает Portnov
Приветствую Вас, Gibbel!
Мнэ-э... Ну, что я могу предложить... Имеется ф-ция CreateProcess... Счаз, посмотрю, может, есть у меня что-нибудь про нее... Ага, если коротко, запускает программу с кучей всяких параметров и регулировок. А вот GetExitCodeProcess()... Ну, ясно, наверное, по названию - взять ExitCode. Сам, правда, не пробовал, но думаю, что можно CreateProcess(), а потом GetExitCodeProcess() для этого процесса - в цикле, видимо... Подробности - в Win32.hlp или в MSDN. Ну, можно также WinExec() и LoadModule(), но тут безо всякого дожидания.
С уважением, Portnov
Ответ отправлен: 15.06.2002, 15:25
Отправитель: Portnov
Отвечает Blackeye
Доброе время суток, Gibbel!
В начале проги вызываешь что тебе нужно с помощью ShellExecute, эта функция потом возвращает handle созданного окна. Создаешь таймер и постоянно проверяешь с помощью FindWindow есть ли это окно на экране. Если нет продолжаешь работу проги
Ответ отправлен: 15.06.2002, 22:39
Отправитель: Blackeye
Вопрос № 439 |
Привет всем!
у меня тут возник такой вопрос: как создать окно типа как у Builderа или Delphi??? Т.е. такое в котором сверху одно меню и тулбар, а вместо остального рабочий стол? (кто видел, тот поймёт).
Если есть исходник подобного буду рад :)
Вопрос отправлен: 15.06.2002, 15:10
Отправитель: Zloy (zloy-site@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Blackeye
Добрый день, Zloy!
А в чем то проблема. Создаешь главное окно и кучку дочерних. Потом изменяшь размеры формы и ее месторасположение.
Ответ отправлен: 15.06.2002, 20:48
Отправитель: Blackeye
Отвечает masquer
Доброе время суток, Zloy!
А что необычного в том окне? Определи размеры экрана по горизонтали и создавай окно.
Ответ отправлен: 15.06.2002, 16:47
Отправитель: masquer
Отвечает Gibbel
Добрый день, Zloy!
Ну, в тех дельфях, которые я видел просто окно состояло из одного тулбара (высота клиентской области == 0)
А так, можешь в классе окна hBrush=NULL задать.
Ответ отправлен: 15.06.2002, 15:29
Отправитель: Gibbel
Отвечает Portnov
Приветствую Вас, Zloy!
Такого я не делал, но первое, что приходит в голову - меню и тулбар в главном окне соотв. формы, а все остальное, если надо, в дочерних. Только проблемы будут со всяким сворачиванием/разворачиванием... Ну, помните, у того же Delphi - нажмете "развернуть", а оно только подергается чуть и все. А так... Ведь если в Delphi щелкнуть по desktop'у, окно неактивным станет, так что вроде правильное направление мысли... Просто окно вверху экрана располагать.
С уважением, Portnov.
Ответ отправлен: 15.06.2002, 15:32
Отправитель: Portnov
Вопрос № 440 |
Уважаемые эксперты!
У меня такая проблема: Я хочу написать программу и разместить ее в MBR, но у меня не получается работать с переменными. Допустим я хочу вывести на экран строку, а вместо нее у меня на экране появляется нечто другое. Как мне это исправить?
Вопрос отправлен: 15.06.2002, 16:37
Отправитель: Sergey
[Следующий вопрос >>] [Список вопросов]
Отвечает Portnov
Здравствуйте, Sergey!
Вообще-то довольно странный вопрос... Вот скажите пожалуйста, как я могу найти ошибки в вашей программе, не видя кода? Но вообще кое-что могу сказать. Раз собираетесь размещать прогу в MBR, то, видимо, загружать ее хотите до ОС. А поэтому надо поаккуратнее с досовскими прерываниями, точнее, вообще вызывать их нельзя, т.к. DOS еще нету в памяти. Но сейчас, насколько я понимаю, ваша проблема не в этом, т.к. вы, видимо, тестируете программу, просто запуская ее безо всяких там MBR. Кроме банальной опечатки может еще вот что быть: вероятно, вы писали код так, что ассемблер считал смещения с нуля (т.е. без org 100h), а пытаетесь запускать как COM-программу, тогда ошибки будут несомненно. Но это не знаю, т.к. не видел исходника и не знаю, как вы тестировали прогу.
С уважением, Portnov.
Ответ отправлен: 15.06.2002, 17:48
Отправитель: Portnov
Вопрос № 442 |
Тов. эскперты,пробейте этой статье путевку в жизнь.Кажется re666_im7 спрашивал про это:
http://bugtraq.ru/library/programming/invisible.html
(о сокрытии программы в NT/2K)
Вопрос отправлен: 15.06.2002, 19:12
Отправитель: Death
[Следующий вопрос >>] [Список вопросов]
Отвечает Sensey
Здравствуйте, Death!
Я первый получил, поэтому отправляю :)
Я все-таки думаю, что мои коллеги кнопку "Подробней" жмут :)
Ответ отправлен: 15.06.2002, 19:50
Отправитель: Sensey
Отвечает masquer
Добрый день, Death!
Пробивать нечего - частный случай, хотя и имеет смысл, как вариант, естественно. Если я правильно помню, re666_im7 спрашивал не совсем про это.
Ответ отправлен: 15.06.2002, 21:29
Отправитель: masquer
Отвечает Portnov
Доброе время суток, Death!
Где-то я про это читал... Эгэ, да ведь именно по этому адресу! По-моему, неплохая статья, интересующимся рекомендую почитать. А вообще, для интересующихся подобными темами неплохой сайт.
С уважением, Portnov.
Ответ отправлен: 16.06.2002, 11:05
Отправитель: Portnov
Отвечает Alex
Хоть мне re666_im7 и не нравится, но тем не менее...
Ответ отправлен: 16.06.2002, 04:46
Отправитель: Alex
Вопрос № 443 |
Плз., помогите разобраться начинающему программисту!
Нужно реализовать след задачу: увеличить в N раз введенный с клавиатуры символ.
Т. е. введенный символ (для упрощения - строчный) нужно рассмотреть как матрицу, если не ошибаюсь, 10Х8 пикселей, для каждого пикселя считать цвет и передать этот цвет в качестве параметра функции, которая, соответственно, нарисует соотв. пикселю большой квадрат.
Курсор перед вводом символа переведен в заданную точку.
Не могли бы вы привести пример куска кода, который считывал бы пиксель матрицы ( c номером (координатами) [a,b] и задавал значение переменной К - 0 или 1 в завис. от черного или белого цвета пикселя? В моих источниках работа с графикой описана, мягко говоря, неважно... Была бы очень признательна :)
Вопрос отправлен: 15.06.2002, 20:40
Отправитель: Ata (atalokkean@yandex.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Dark_Lord
Здравствуйте, Ata!
Символы находятся по адресу 0:007с
Ответ отправлен: 15.06.2002, 21:16
Отправитель: Dark_Lord
Отвечает Portnov
Здравствуйте, Ata!
Ну, для чтения символа, думаю, вам подойдут ф-ции типа Fn01h/Int21h, Fn08h/Int21h . Такие ф-ции вернут только скан-код или ASCII-код символа, безо всяких там матриц. Нужно по ASCII коду найти эту самую матрицу и выводить ее. Как найти - зависит от модели видеоадаптера и видеорежима, но суть одна - видеоадаптер хранит где-то в памяти список этих матриц, причем одна точка соотв. 1-му биту. Подробностей и тонкостей много, за ними в TechHelp. На счет вывода всей этой радости - опять же много от чего зависит, но, думаю, тот же TechHelp вам поможет, правда, не до конца. Исходниками пусть другие швыряются :), у меня что-то по этому поводу есть, но не я писал, и сам еще толком не разобрался.
С уважением, Portnov.
Ответ отправлен: 16.06.2002, 11:07
Отправитель: Portnov
Вопрос № 444 |
Здравствуйте Эксперты!
Если у кого есть информация о построение файла .bmp или .jpg прошу помочь! Нужно прогу просмотра для доса сотварить!
Вопрос отправлен: 15.06.2002, 21:14
Отправитель: Dark_Lord
[Следующий вопрос >>] [Список вопросов]
Отвечает Portnov
Добрый день, Dark_Lord!
Тэ-экс... Про BMP было что-то... Ну, в несколько страннном синтаксисе, но, думаю, поймете:
char[2] FileId
longint FileSize
longint reserved
longint ImgOffset
longint HeaderSize
longint ImgWidth
longint ImgHeight
word NumPlanes ;Always 1
word PixelDepth; Bites per pixel
longint Compression ;0=no compression, 1=RLE-8-bit, 2=RLE-4-bit
longint BitmapSize; Size of image data in bytes
longint HResolution; Usual ignored
longint VResolution
longint UsedColors
longint SignificantColors
Ну, типы данных тут как в Pascal. Надеюсь, поможет...
С уважением, Portnov.
Ответ отправлен: 16.06.2002, 11:07
Отправитель: Portnov
Отвечает masquer
Добрый день, Dark_Lord!
bmp в MSDN описан, а jpg в инете описание точно есть, там ищи
Ответ отправлен: 15.06.2002, 21:36
Отправитель: masquer
Отвечает Александр
Добрый день, Dark_Lord!
Информация про .bmp файл гораздо доходчивее, короче и информативнее. А для .jpg есть официальные модули(исходники) от Joint Picture Expert Group. Хотя для того чтобы реализовать минимальную поддержку этого формата всего этого может и не надо, хотя трудностей с восприятием системы кодирования и без того хватает. Лови на свой ящик.
Ответ отправлен: 18.06.2002, 19:44
Отправитель: Александр
Отвечает Zloy
Здравствуйте, Dark_Lord!
Вот только щас заглянул на "Исходники". Там глянь:
http://www.sources.ru/cpp/graphics/graph_converter.shtml
Сам правда не смотрел, но вроде то что надо....
Ответ отправлен: 18.06.2002, 16:03
Отправитель: Zloy
Отвечает Gibbel
Добрый день, Dark_Lord!
В MSDN есть достаточно подробное описание .bmp
Ответ отправлен: 17.06.2002, 09:47
Отправитель: Gibbel
Вопрос № 445 |
Уважаемые эксперты,не могу сообразить,как вытянуть имена дисководов из массива,в который их пихает GetLogicalDriveStrings.Ни разу еще не видал таких массивов.
Заранее благодарен, Leo
Вопрос отправлен: 15.06.2002, 22:48
Отправитель: Leo (a.leo@37.com)
[Следующий вопрос >>] [Список вопросов]
Отвечает Portnov
Добрый день, Leo!
Во-первых, надеюсь, понятно, что эта ф-ция возвращает не масив, а указатель на него. А про сам массив... Очень похоже на строку окружения DOS. Как вытянуть... Это в зависимости от того, что именно надо. Если надо список в произвольном формате, то он уже есть. Если надо проверить, есть ли в системе диск с данной буквой, надо проверять каждый элемент массива. А вообще по работе с окружением DOS (а этот массив сильно похож, элементы разделяются '', массив заканчивается "") могу отослать к основной рассылке, №23.
С уважением, Portnov.
Ответ отправлен: 16.06.2002, 11:08
Отправитель: Portnov
Отвечает masquer
Приветствую Вас, Leo!
Ты бы лучше, чем составлять заранее список вопросов, потратил бы пару минут на посещение msdn в инете, если локальной копии нет.
После выполнения функции в eax - длина строки, а в буфере строки с нулевым разделителем
c:
Ответ отправлен: 15.06.2002, 23:14
Отправитель: masquer
Отвечает vitya
Добрый день, Leo!
Делается это так: там не строка а массив строк. Простейший способ получения будет следующим на Си
TCHAR buf[128];
TCHAR bufOut[26][4];//максимум 26 букв ну и 4 символа d:'0'
TCHAR * pCurr = buf;
DWORD dw = GetLogicalDriveStrings(128, buf);
unsigned int iIndex = 0;
while (pCurr - &buf[0] < dw)
{
//например так, или сразу обработка какая нужна
strcpy(bufOut[i++], pCurr);
pCurr += strlen(pCurr) + 1; //+1 для того что бы обойти нуль
}
//усе
Ответ отправлен: 17.06.2002, 08:52
Отправитель: vitya
Вопрос № 446 |
Уважаемые эксперты,пытаюсь разобраться с чтением/записью в файл (Win32),в одной статье прочитал
<... Все, что нам нужно - это загpуженный в память HTM*-файл (пpомаппиpованный, если вы хотите, но это не обязательно):
; input:
; ...
; ESI = Указатель на HTML-код (в памяти), где необходимо искать
; ...
seekit:cmp dword ptr [esi],'iam"' ; Ищем подстpоку '"mailto:'
... >
Отсюда вопрос: 1. как получить адрес файла для чтения/записи,скажем,как ‘dest’ в:
cld
mov esi, offset source
mov edi, offset dest
mov ecx, 5
rep movsb
Пробовал обращаться с hFile’oм ф-ии CreateFile как с адресом – не получается.
2. Можно ли как-то обойтись без ReadFile/WriteFile?
Заранее благодарен, Leo
Вопрос отправлен: 15.06.2002, 22:44
Отправитель: Leo (a.leo@37.com)
[Следующий вопрос >>] [Список вопросов]
Отвечает Portnov
Доброе время суток, Leo!
1.Весь этот длинный вопрос по сути сводится к следующему: как найти адрес прочитанных данных? Я чего-то не очень понял, если вы создаете файл CreateFile(), то откуда по адресу hFile окажутся прочитанные данные? А вот если вы читаете файл ReadFile(), то ведь одним из аргументов передаете указатель на область, куда надо читать! Этот указатель и используйте потом. Насчет же hFile вообще, по-моему, он указывает на некоторую служебную (для Win) структуру, описывающую файл, как FCB в ДОС. Если у вас проблемы с вызовом ф-ций, см. Win32.hlp или MSDN.
2. Насколько я помню, в Win были какие-то ф-ции более низкого уровня, что-то вроде _hopen, _hread.... Но я не думаю, что они вам нужны.
С уважением, Portnov.
Ответ отправлен: 16.06.2002, 11:09
Отправитель: Portnov
Отвечает masquer
Здравствуйте, Leo!
1. Что значит - адрес файла? hFile - это хендл файла, а не адрес.
2. Можешь воспользоваться MMF (MemoryMappedFile)
Ответ отправлен: 15.06.2002, 23:10
Отправитель: masquer
Отвечает vitya
Добрый день, Leo!
Как там и написанно нужно сделать маппинг. А именно делаешь следующую последовательность вызовов функций:
1. hFile = CreateFile();
2. hMapping = CreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 0, NULL); //только для чтения открыт
3. char * pMapping = (char *) MapViewOfFile(hMapping, FILE_MAP_READ, 0, 0, 0);
//тут вся твоя работа с файлом
4. UnmapViewOfFile(pMapping);
5. CloseHandle(hMapping);
6. CloseHandle(hFile);
теперь все это осталось сделать с помощью push and call
Или invoke.
Ответ отправлен: 17.06.2002, 08:57
Отправитель: vitya
Отвечает Gibbel
Доброе время суток, Leo!
Почитай в MSDN про File Mapping.
Ответ отправлен: 17.06.2002, 09:50
Отправитель: Gibbel
Вопрос № 447 |
Уважаемые эксперты,буду крайне благодарен,если подскажете как проиграть avi-шку в SDK?
Заранее благодарен, Leo
Вопрос отправлен: 15.06.2002, 22:45
Отправитель: Leo (a.leo@37.com)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Здравствуйте, Leo!
mciSendString
Ответ отправлен: 15.06.2002, 23:37
Отправитель: masquer
Вопрос № 448 |
Уважаемые эксперты,подскажите,плз,как вставить строку во всплывающее меню на Desktop’e?
Заранее благодарен, Leo
Вопрос отправлен: 15.06.2002, 22:47
Отправитель: Leo (a.leo@37.com)
[Следующий вопрос >>] [Список вопросов]
Отвечает Portnov
Приветствую Вас, Leo!
Вроде бы можно чего-то там в реестре указать для этого. Но не что попало, а создать COM-объект, зарегистррировать его в системе, а уж потом искать, где в реестре есть ветвь наподобие DesktopContextMenuHandlers, и там где-то прописывать GUID вашего объекта. Соответственно нужно знать, какой там интерфейс из объекта вызывает Win при выборе пункта, да и вообще нужно неплохо разбираться в технологии COM.
PS. У меня у самого прикол случился из этой серии. Я где-то чавой-то нечайно в реестре не то удалил, и теперь у меня в проводнике нету пункта "создать". Приходится выкручиваться, т.к. систему переставлять неохота.
С уважением, Portnov.
Ответ отправлен: 16.06.2002, 11:10
Отправитель: Portnov
Отвечает masquer
Добрый день, Leo!
GetDesktopWindow, затем AppendMenu (или InsertMenu) - подробности в МСДН
Ответ отправлен: 15.06.2002, 23:32
Отправитель: masquer
Вопрос № 449 |
Уважаемые эксперты,я искренне благодарен за Ваше желание помочь,пришла масса ответов,беда в том,что во всех ответах – видна только первая строка,так что помощи я так и не получил,к сожалению.К вопросу о том,что я писал вначале на английском,это было не для того,чтобы повыделываться,во-первых,я сейчас временно в Англии (может быть у кого какие просьбы/поручения – буду рад быть чем-то полезным),во-вторых,в их сети не было возможности установить Русский язык,администратор был против (редиска).Почему же почта приходит в таком виде? F1! J
Заранее благодарен, Leo
Вопрос отправлен: 15.06.2002, 22:43
Отправитель: Leo (a.leo@37.com)
[Следующий вопрос >>] [Список вопросов]
Отвечает Portnov
Добрый день, Leo!
А вы уверены, что в HTML-формате рассылку получаете? Не удивлюсь, если узнаю, что у Subscribe.ru опять какие-то проблемы с переводом в текстовый формат. А так...
С уважением, Portnov.
Ответ отправлен: 16.06.2002, 11:11
Отправитель: Portnov
Вопрос № 450 |
Уважаемые эксперты,прошлый раз задавал вопрос и эксперт Vitya попросил уточнить,уточняю: подскажите,плз,где можно скачать литературу,чтобы разобраться с принципом работы SMTP и т.д.,имеется в виду последовательность работы с ф-ми по отправке/получении эл. почты и всего,что к этому относится.В MSDN эти ф-ии только описываются,а по поводу того,как они взаимодействуют – ни слова,примеров,кстати,тоже нет,так что разобраться не получается.
Упоминалось о каком-то RFC,не растолкуете что это такое?
Заранее благодарен, Leo
Вопрос отправлен: 15.06.2002, 22:50
Отправитель: Leo (a.leo@37.com)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Доброе время суток, Leo!
RFC - request for comment. Набирай в любом поисковике.
Ответ отправлен: 15.06.2002, 23:23
Отправитель: masquer
Отвечает vitya
Приветствую Вас, Leo!
В MSDN нет ничего подобного да и не должно быть. Тебе должны быть известны функции работы с сокетами. После чего ты просто говоришь с сервером. Что бы послать файл делаешь вот так:
предположим ты уже соединился с SMTP сервером, посылаешь ему следующие строчки:
HELO
//получаешь ответ
mail from:you@server.com
//получаешь ответ
rcpt to:recevier@anotherserver.com
//опять ответ
data
//oтвет
//тут идут твои данные (только текст ) в конце .
quit
вот собственно и все.
для подробностей http://moon.yerphi.am/RFC/rfc821.html
это именно тот рфц о котором ты и спрашивал.
Ответ отправлен: 17.06.2002, 09:08
Отправитель: vitya
Вопрос № 451 |
Уважаемые эксперты,в описании ф-ии SetWindowText говорится,что с ее помощью нельзя менять текст в другом приложении.А как можно было бы поместить свой текст из своей проги,скажем в открытом кем-то другим, Notepad’e?Не в заголовке,а в Edit Controls’e?
Заранее благодарен, Leo
Вопрос отправлен: 15.06.2002, 22:51
Отправитель: Leo (a.leo@37.com)
[Следующий вопрос >>] [Список вопросов]
Отвечает Vint by Shz
Добрый день, Leo!
Не чего не путаеш?? Вот есть ещё и такое описание:
Функция SetWindowText
Описание:
function SetWindowText(Wnd: HWnd; Str: PChar);
Устанавливает название заголовка для окна или текст оpгана упpавления с помощью стpоки, указанной в Str.
Паpаметpы:
Wnd: Идентификатоp окна или оpгана упpавления.
Str: Стpока (заканчивающаяся пустым символом).
Ответ отправлен: 16.06.2002, 20:18
Отправитель: Vint by Shz
Отвечает masquer
Добрый день, Leo!
Тебе нужно получить описатель окна (Edit Control - это тоже окно). Как, все зависит от того, откуда вызывается твоя программа, можно например найти по классу окна FindWindow, потом добраться до нужного контрола и применять SetWindowText
Ответ отправлен: 15.06.2002, 23:20
Отправитель: masquer
Отвечает Portnov
Здравствуйте, Leo!
Кажется, для этого можно использовать хуки, но точно не знаю, не работал с ними. А SetWindowText() действительно не поможет.
С уважением, Portnov.
Ответ отправлен: 16.06.2002, 11:11
Отправитель: Portnov
Отвечает Gibbel
Здравствуйте, Leo!
SetWindowText действительно не работает, если пытаешься задать текст для окна, принадлежащего другому процессу. А вот если послать окну сообщение WM_SETTEXT функцией SendMessage, то все ОК.)
Ответ отправлен: 17.06.2002, 09:55
Отправитель: Gibbel
Вопрос № 452 |
Здраствуйте гОСпоДа Эксперты...
Скажите плизз как сделать так чтобы размер создаваемого мной окна был фиксирован.. те пользователь не мог его сменить.
и 2)есть ли какие нибудь существенные отличия при программиравании на Асме на процессорах AMD-(DUron)
Вопрос отправлен: 15.06.2002, 23:35
Отправитель: DrGenius (drgenius@nm.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Dark_Lord
Здравствуйте, DrGenius!
1)Вторая переменная загружаемая перед инициализацией окна обычно выглядит, как h_redraw or v_redraw!? Заменить на ноль!
2)Существенных отчичий нет, только MMX и SSE использовать не получится, однако будет 3DNow!
Ответ отправлен: 15.06.2002, 23:45
Отправитель: Dark_Lord
Отвечает masquer
Здравствуйте, DrGenius!
1. В функции CreateWindow стили укажи правильно, например WS_BORDER, WS_CAPTION, WS_DLGFRAME, WS_OVERLAPPED, главное чтоб было без WS_SIZEBOX или WS_THICKFRAME.
2. Учитывай, что есть поддержка инструкций 3DNow!, нет SSE2 и SSE1 (кроме AthlonXP). Ну и работа с памятью имеет свои специфические особенности. За подробностями - на сайт AMD
Ответ отправлен: 16.06.2002, 00:35
Отправитель: masquer
Отвечает Blackeye
Здравствуйте, DrGenius!
1)Создай окно с параметрами WS_OVERLAPPED or WS_SYSMENU, или можно еще с другими
2)Можно 3DNow Extensions юзать
Ответ отправлен: 16.06.2002, 07:48
Отправитель: Blackeye
Отвечает Portnov
Приветствую Вас, DrGenius!
1) Насколько я помню, во флагах окна при его создании указывается что-то вроде "тип границы". Сейчас не помню названия, но там есть константы для обычного окна (sizeable), "тонкой" границы (т.е. свернуть/развернуть можно, а размер изменить нельзя, потом для границы диалога - это уж совсем без возможности изменить размер,ну и так далее. В Win32.hlp или MSDN это наверняка есть. А вообще, если не горит,можете подождать, вроде Вал.Ик. собрался продолжать с основной рассылкой, там уж скоро, наверное, будет про создание окон.
2) Насколько я знаю, нет, т.к. фирма-производитель заявляет, что Duron полностью совместим с х86-ми. Но, тем не менее, подозреваю, что там есть какие-нибудь дополнительные инструкции, к-рых нет у х86-х. А все инструкции х86-х у Duron'а точно есть.
С уважением, Portnov.
Ответ отправлен: 16.06.2002, 11:12
Отправитель: Portnov
Отвечает Gibbel
Здравствуйте, DrGenius!
1) Можно создать окно без рамки, например, или обрабатывать сообщение WM_GETMINMAXINFO. Вообще, решений много - зависит от фантазии и того, что надо получить.
2) Если не используешь команд, специфичных только для этого процессора, то нет.
Ответ отправлен: 17.06.2002, 09:59
Отправитель: Gibbel
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (50) C / C++ (29) Perl (9) Delphi (15) Pascal (27) Basic / VBA (16) Java / JavaScript (7) PHP (7) MySQL / MSSQL (8) |
Пользователю Windows 95/98/Me (48) Windows NT/2000/XP (34) "Железо" (40) Поиск информации (21) |
Администратору Windows NT/2000/XP (16) Linux / Unix (10) |
Юристу Гражданское право (11) Семейное право (5) Трудовое право (6) КоАП (3) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||