Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

RusFAQ.ru: программирование на языке Assembler

Выпуск № 414
от 12.11.2002, 02:30

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 1772
Отправлено ответов: 5579
Активность: 314.8 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Portnov
Статус: Профессиональный
Общий рейтинг: 118.14
URL: Мой сайтик...
[Подробней >>]
masquer
Статус: Профессиональный
Общий рейтинг: 153.43
[Подробней >>]
Maverick
Статус: Опытный
Общий рейтинг: 139.02
URL: Страница по асму и вирмейку
Телефон: 89039415024 (BiLine GSM)
[Подробней >>]
 
Beeblebrox
Статус: Профессиональный
Общий рейтинг: 112.89
URL: Beeblebrox / TMA HomePage
[Подробней >>]
Dron
Статус: Профессиональный
Общий рейтинг: 115.5
URL: Операционная система с нуля!
[Подробней >>]
baldr
Статус: Профессиональный
Общий рейтинг: 115.05
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]
 
St
Статус: Опытный
Общий рейтинг: 117.55
[Подробней >>]
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 155.33
[Подробней >>]
Supra
Статус: Доверительный
Общий рейтинг: 116.25
[Подробней >>]
 
Broken Sword
Статус: Профессиональный
Общий рейтинг: 130.62
URL: моя рассылка по Protected Mode
[Подробней >>]
Gibbel
Статус: Профессиональный
Общий рейтинг: 108.48
URL: Страничка обо мне и моих друзьях
[Подробней >>]
ASMодей
Статус: Профессиональный
Общий рейтинг: 119.86
[Подробней >>]
 
Dark_Lord
Статус: Профессиональный
Общий рейтинг: 127.57
[Подробней >>]
Топор
Статус: Профессиональный
Общий рейтинг: 113.12
URL: Хорошая Русская Металлическая команда
Телефон: (8462)500298
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 1722. Привет коллеги! Пишу для рассылок по Асму,Делфи и С++. Так что если комуто попаддет 2-3 раза вопрос,... (ответов: 3)
Вопрос № 1723. Уперся в простейший вопрос, но не могу нигде найти: как tasm и tlink определяют точку входа ("n... (ответов: 6)
Вопрос № 1724. Под Win98. Подскажите пожалуйста как определить печатает принтер или нет. Надо остановить прогу на в... (ответов: 4)
Вопрос № 1726. Вот черт, при ответе на вопрос 1711 немного ошибся: последняя переменная окружения (полное имя запущ... (ответов: 1)
Вопрос № 1727. Хай! Хм, ну чтож, будем дизассемблировать :) Дааа, интересно, как такие вирусы отлаживают и тестирую... (ответов: 1)
Вопрос № 1728. Здравствуйте эксперты! Нет ли у вас информации по ID3v1, ID3v2, ID3v2.3, ID3v2.4 тегам в mp3 файлах!... (ответов: 2)
Вопрос № 1731. Здравствуйте, уважаемые эксперты! Пытаюсь научиться программировать реестр с помощью вызова функций ... (ответов: 2)
Вопрос № 1732. По поводу вопроса №1719: поставил я там byte ptr и он конечно заткнулся :). Но то что моя проблема н... (ответов: 1)
Вопрос № 1733. Создал dos-прогу на асме по поиску и копированию в какую-либо директорию нужных мне файлов из Intern... (ответов: 4)
Вопрос № 1734. Здравствуйте. Как можно в реальном режиме адресовать за текущим сегментом? Т.е. у меня один огромный... (ответов: 7)

Вопросов: 10, ответов: 31


 Вопрос № 1722

Привет коллеги!
Пишу для рассылок по Асму,Делфи и С++.
Так что если комуто попаддет 2-3 раза вопрос, сильно не ругайтесь, хочется охватить всех знающих.
Требуется помощь алгоритмистов-математиков.
Задача:
Есть большой массив. 1-4мегабайта. Нужно посчитать ему что-то типа контрольной суммы, то есть проверка целостности.
Скорость подсчета КС не очень важна, но все равно должна быть быстрой.
Главное условие - при изменении одного бита в этом массиве нужен очень быстрый пересчет КС, причем есстественно таким образом, чтобы при расчете КС с нуля получалось то же самое...
То есть:
(Полный расчет КС исходного массива)+ (Изменение одного бита и перерасчет КС)==(Полный расчет КС измененного массива).
Задача облегчается тем, что после каждого изменения массива будет перерасчет КС. Осложняется тем, что изменение может быть как одного бита, так и всего байта.
Еще раз:при изменении одного бита в этом массиве нужен очень быстрый пересчет КС
Плиз, поделитесь алгоритмом такой КС.



Вопрос отправлен: 06.11.2002, 11:26
Отправитель: Sensey

[Следующий вопрос >>] [Список вопросов]

Отвечает Portnov

Здравствуйте, Sensey!
Если я вас правильно понял, вам подойдет алгоритм под названием "XOR обыкновенный". Операция xor обладает несколькими удобными свойствами... В частности, она одна из самых быстрых. Идея алгоритма - предельно проста: xor'ите все байты (можно слова, двойные слова,... - не суть важно) в массиве данных. Ну, я буду считать, что вы xor'ите байты. Тогда, если известно, что, например, в некотором байте (номер байта даже не важен!) изменился (т.е. фактически обратился), скажем, третий бит, то достаточно в байте-результате обратить третий бит! Если изменилось больше одного бита - проблема усложняется линейно: надо только обратить в результате биты с номерами изменившихся...
С уважением, Portnov.

Ответ отправлен: 07.11.2002, 11:22
Отправитель: Portnov


Отвечает masquer

Здравствуйте, Sensey!
Элементарный CRC32, вот не особо оптимизировал, но достаточно шустрый.
.data
...
crc32tab dd 256 dup(?)
crc dd 0
...
.code
...
mov ecx, 256
mov edx, 0EDB88320h
@@BL:
mov eax, ecx
push ecx
mov ecx, 8
@@SL:
shr eax, 1
jnc @F
xor eax, edx
@@:
loop @@SL
pop ecx
mov crc32tab[ecx*4], eax
loop @@BL
mov esi, offset teststr
xor eax, eax
dec eax
mov ecx, 9
@@next:
xor edx, edx
mov dl, byte ptr [esi]
xor dl, al
shr eax, 8
xor eax, crc32tab[edx*4]
inc esi
dec ecx
jcxz @@exit
jmp @@next
@@exit:
not eax
mov [crc], eax

Ответ отправлен: 06.11.2002, 11:52
Отправитель: masquer


Отвечает Maverick

Приветствую Вас, Sensey!
В книге Юрова "Ассемблер Практикум" есть алгоритмы и программы по вычислению CRC. Ты их смотрел? Пойдут?
Если надо, то мыль, скину исходники.
Maverick@nightmail.ru


Ответ отправлен: 06.11.2002, 15:43
Отправитель: Maverick


 Вопрос № 1723

Уперся в простейший вопрос, но не могу нигде найти: как tasm и tlink определяют точку входа ("no entry point" от tlink).
Проблема в дизассемблированном файле (IDA). Несколько сегментов кода плюс несколько сегментов данных. Оригинальный вход через начало первого сегмента данных, затем push,push,retf и переход таким образом на другую процедуру, а оттуда в процедуру инициализации в другой сегмент.
Так вот как я ни называл: public start, proc main и т.д. все по барабану. А как вообще ассемблер понимает, где у него точка входа?



Вопрос отправлен: 06.11.2002, 12:44
Отправитель: Vladimir

[Следующий вопрос >>] [Список вопросов]

Отвечает Beeblebrox

Доброе время суток, Vladimir!
Если в конце программы END START, то метка START - входная.

Ответ отправлен: 06.11.2002, 13:06
Отправитель: Beeblebrox


Отвечает Dron

Приветствую Вас, Vladimir!
Надо в конце программы написать
end start или main или что у тебя является точкой входа.


Ответ отправлен: 06.11.2002, 12:51
Отправитель: Dron


Отвечает baldr

Здравствуйте, Vladimir!
Все просто, как три рубля - поставь в конце директиву END ИМЯМЕТКИ, а
в начале - саму эту метку, она и будет точкой входа.


Ответ отправлен: 06.11.2002, 23:40
Отправитель: baldr


Отвечает --- Нет данных ---

Добрый день, Vladimir!
Ну стандартная точка входа - это функция main или WinMain, вот функцию с таким именем ассемблер или компилятор и считает точкой входа. Ааа... может ты забыл про директиву END? В конце этой директивы должно быть имя метки, и ЕЩЕ где-то в программе тоже должна быть эта метка, вот в том месте и будет точка входа. Пример:
start: mov ax, bx ; вот здесь точка входа


END start


Ответ отправлен: 06.11.2002, 21:47
Отправитель: --- Нет данных ---


Отвечает St

Привет, Vladimir!
Обычно в начале программы пишется что-нибудь типа метка Start:, а в конце программы End Start
В com-файлах метка пишется обычно после org 100, а в exe-файлах там, где нужно начать программу - то есть до этого места может быть и другой код, но начинаться будет с места где стоит метка.
St

Ответ отправлен: 06.11.2002, 15:09
Отправитель: St


Отвечает Bob Johnson

Доброе время суток, Vladimir!
В конце асм файла пишешь
end _имя метки_, при этом _имя метки_ будет точкой входа, например:
...
start:
...
end start


Ответ отправлен: 09.11.2002, 17:04
Отправитель: Bob Johnson


 Вопрос № 1724

Под Win98.
Подскажите пожалуйста как определить печатает принтер или нет. Надо остановить прогу на время печати и когда принтер закончит лист продолжить. Именно печатает, а не может принять задание в очередь.



Вопрос отправлен: 06.11.2002, 14:06
Отправитель: Andy BitOff

[Следующий вопрос >>] [Список вопросов]

Отвечает Supra

Доброе время суток, Andy BitOff!
Может, посмотреть на принтер ----- шутка, но в любой есть
доля правды. А вообще обратись к порту и потребуй!!!!!


Ответ отправлен: 10.11.2002, 12:43
Отправитель: Supra


Отвечает Bob Johnson

Доброе время суток, Andy BitOff!
На старых принетрах (типа матричного) это, скорее всего, невозможно. Потому что Centronix такой возможности не предусматривал. На новых принтерах - может быть, но зависит от модели принтера. Да у тебя, скорее всего, та же проблема, что была и у меня давно с матричным принтером Samsung - если ему послать на печать сразу больше одного листа, то у второго листа отсутствует верхнее поле. Я ее так и не решил - отправлял на печать по одному листу.


Ответ отправлен: 09.11.2002, 17:04
Отправитель: Bob Johnson


Отвечает Broken Sword

Здравствуйте, Andy BitOff!
незнаю, кроме бита 7 279h порта больше ничего не подходит...

Ответ отправлен: 06.11.2002, 14:57
Отправитель: Broken Sword


Отвечает Maverick

Здравствуйте, Andy BitOff!
Как определить? Посмотреть на лист:)))
Не понял, ты хочешь написать прогу?
Можно организовать через порты интерфейса Centronics.
Там есть бит состояния "Нет бумаги"
Если надо доку, то мыль.
Maverick@nightmail.ru

Ответ отправлен: 06.11.2002, 15:39
Отправитель: Maverick


 Вопрос № 1726

Вот черт, при ответе на вопрос 1711 немного ошибся: последняя переменная окружения (полное имя запущенной проги)завершается одним нулем, а ПРЕПОСЛЕДНЯЯ - завершается четырьмя байтами: 0, 0, 1, 0. Вот когда они встретятся в конце очередной переменной окружения, значит она предпоследняя, а значит следующая переменная окружения будет последней и как раз будет содержать полное имя файла.
Кто-нить, ответьте на это, а то неудобно, млин, не туда глянул, когда отвечал на вопрос 1711



Вопрос отправлен: 06.11.2002, 21:54
Отправитель: Atmion

[Следующий вопрос >>] [Список вопросов]

Отвечает Maverick

Доброе время суток, Atmion!


Ответ отправлен: 07.11.2002, 06:42
Отправитель: Maverick


 Вопрос № 1727

Хай!
Хм, ну чтож, будем дизассемблировать :)
Дааа, интересно, как такие вирусы отлаживают и тестируют, дык компов не напосешся. Я себе надыбал 386 на опыты, но там нет Flash Bios :(
А чтоб никто не "подредактировал" твой биос, нужно на плате поставить перемычку-запретить запись Flash Bios. Весь прикол в том, что изготовители по умолчанию оставляют ее на разрешении записи. Потому то и были столь печальные последствия после wincih95.
P.S.Имел ввиду охотников за вирумейкерами :)



Вопрос отправлен: 07.11.2002, 07:10
Отправитель: Maverick

[Следующий вопрос >>] [Список вопросов]

Отвечает baldr

Доброе время суток, Maverick!
Ну, как отлаживают - можно представить... Сначала разбираешься просто с записью в BIOS - какой-нибудь
параметр меняешь и все... Если получилось, то все ОК, в BIOS можно и не лезть... Просто заводишь кусок
памяти, копируешь в него весь BIOS, а потом пытаешься изменить его так, чтобы он заработал так,
как тебе надо (или вообще никогда больше не заработал :-//). После этого всего оба этих куска
компонуешь между собой, идешь к соседу, предлагаешь ему новую программу "для халявного просмотра
порносайтов", бежишь домой, запираешь дверь и через стенку слушаешь звуки удара молотком по
монитору... :)
P.S. Нафиг им это надо? Все, что мы тут говорим они давно знают... Вообще же им выгоднее писать
свои обновления для антивирусных баз уже после того, как вирус разошелся по свету, так что торопиться
им незачем...


Ответ отправлен: 08.11.2002, 00:40
Отправитель: baldr


 Вопрос № 1728

Здравствуйте эксперты!
Нет ли у вас информации по ID3v1, ID3v2, ID3v2.3, ID3v2.4 тегам в mp3 файлах!? Если есть, поделитись линками или на мыло(ilya.div[sobaka]nm.ru) чего пошлите.:) Заранее спасибо!
PS: Кстати, одна компания заявила свои права на этот :-) смайлик, теперь каждый должен заплатить по 5$ за его использование. Хе-Хе, на 5 баксов попал!
--
С уважением, ILYA D.



Вопрос отправлен: 07.11.2002, 15:29
Отправитель: ILYA D.

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Приветствую Вас, ILYA D.!
ID3v1 находится в конце MP3 файла и занимает 128 байт. Под каждое поле отведено определенное количество байт. Туда записываются строки символов. Вот кажется так.
P.S. Эта компания, случайно, не FidoNet называется?


Ответ отправлен: 09.11.2002, 17:02
Отправитель: Bob Johnson


Отвечает Maverick

Доброе время суток, ILYA D.!
:-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-):-)
Ну давайте, вгоняйте меня в долги, вгоняйте.
P.S. Интересный формат эл. адреса :)


Ответ отправлен: 08.11.2002, 08:37
Отправитель: Maverick


 Вопрос № 1731

Здравствуйте, уважаемые эксперты!
Пытаюсь научиться программировать реестр с помощью вызова функций WinApi из ассемблера - с трудом идет (первый раз под форточки программирую) и застопорился - не могу понять как создавать параметры у ключа (те что на правой панели регедита отображаются - связка параметр-значение) и присваивать им значения. В приложении листинг программы, от которой я ожидал данного эффекта, но в результате я получаю еще один ключ remote с параметром "По умолчанию" и значением 321. Не подскажете какие функции WinApi надо применять для создания параметров ключей и присваивания им значений? и если можно буду рад любой информации о программировании реестра - будь то ссылка или собственные исходники с комментариями, а то задолбали примеры с созданием окошек, как будто кроме них ничего не программируется.druid_@rambler.ru


Приложение:


Вопрос отправлен: 07.11.2002, 21:30
Отправитель: druid_ (druid_@rambler.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Gibbel

Приветствую Вас, druid_!
Используй RegSetValueEx.

Ответ отправлен: 08.11.2002, 10:03
Отправитель: Gibbel


Отвечает masquer

Добрый день, druid_!
На, что-то из своего, что-то из твоего кода.
.data
subsubKey db "remote",0
subkey db "SOFTWAREmasquer est",0
Result dd 0
Disposition dd 123
.code
start:
invoke RegCreateKey, HKEY_CURRENT_USER, addr subkey, addr Result
invoke RegSetValueEx, Result, addr subsubKey,0,REG_DWORD, addr Disposition, 4
invoke RegCloseKey, Result
invoke ExitProcess,0
end start

Ответ отправлен: 08.11.2002, 11:07
Отправитель: masquer


 Вопрос № 1732

По поводу вопроса №1719: поставил я там byte ptr и он конечно заткнулся :). Но то что моя проблема не в этом могу сказать с уверенностью на 100%, т.к. проверял я под отладчиком байт он там и раньше посылал. Жаль, правда, что в нашей рассылке экспертам чужие проги длинее 15 строк разбирать неохота :(. Хотя это собственно и понятно...



Вопрос отправлен: 08.11.2002, 02:05
Отправитель: Lapot

[Следующий вопрос >>] [Список вопросов]

Отвечает Maverick

Доброе время суток, Lapot!
Да я и не говорил, что проблема в этом, просто бросилось в глаза. А насчет неохота, так старайся писать с комментариями, самому же потом проще будет. Я например на память мало чего помню, а каждый раз лезть в справочник...на это уходит уйма времени.
Это, так сказать правила хорошего тона при программировании.
Погляжу твою прогу, мож и скажу чего дельного :)


Ответ отправлен: 08.11.2002, 08:37
Отправитель: Maverick


 Вопрос № 1733

Создал dos-прогу на асме по поиску и копированию в какую-либо директорию нужных мне файлов из Internet кэша- папки Temporary Internet Explorer (10МБ). Почему-то функция 4Eh не находит нужный файл в этой
папке(взводит CF), хотя файл с заданными критериями там присутствует.
Для теста пробовал с ДРУГИМИ ПАПКАМИ, прога находит
всё что надо!!!
Как же "вскрыть" этот ИНТЕРНЕТОВСКИЙ КЭШ. Или у него особая
структура и 4Еh не поможет.
Подскажите аналогичную функцию по поиску файлов в WIn32.
Напишу тогда её под маздай.



Вопрос отправлен: 08.11.2002, 02:15
Отправитель: Speedy Gonsalez

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Здравствуйте, Speedy Gonsalez!
FindFirstFile, FindNextFile и FindClose. Работать с функциями несложно - я думаю, что даже проще чем в досе.
А файл может не находится потому что он скрытый или что-то в этом роде. Посмотри внимательно атрибуты файла, который ищещь и того, который надо найти.


Ответ отправлен: 09.11.2002, 17:03
Отправитель: Bob Johnson


Отвечает ASMодей

Доброе время суток, Speedy Gonsalez!
Может ты неправильно установил атрибуты файла при поиске?
По-моему там все файлы имеют атрибут "скрытый".


Ответ отправлен: 08.11.2002, 09:57
Отправитель: ASMодей


Отвечает Dark_Lord

Здравствуйте, Speedy Gonsalez!
FindFirstFile - передаётся два параметра, указатель на структуру приёма информации и строку с именем файла. Структура должна быть следующей:
_WIN32_FIND_DATA struct
DWORD dwFileAttributes
FILETIME ftCreationTime
FILETIME ftLastAccessTime
FILETIME ftLastWriteTime
DWORD nFileSizeHigh
DWORD nFileSizeLow
DWORD dwReserved0
DWORD dwReserved1
TCHAR cFileName[ MAX_PATH ]
TCHAR cAlternateFileName[ 14 ]
WIN32_FIND_DATA;
FindNextFile - тоже два параметра, та-же структура и значение возвращённое после FindFirstFile


Ответ отправлен: 09.11.2002, 09:30
Отправитель: Dark_Lord


Отвечает Maverick

Приветствую Вас, Speedy Gonsalez!
Эх, еслиб еще посылали критичные места кода.
Это функция ищет файлы с короткими именами.


Ответ отправлен: 08.11.2002, 08:38
Отправитель: Maverick


 Вопрос № 1734

Здравствуйте.
Как можно в реальном режиме адресовать за текущим сегментом?
Т.е. у меня один огромный массив (около 300 Кб). Допустим я установил на него fs (fs:0 = начало массива). Могу я извратится и получить элемент массива по адресу fs:esi при esi = 01ffff? Я пробовал с префиксами 66h, 67h - ни фига. Виснит или Win выдает ошибку, а без префиксов просто берет смещение si. Pmode и XMS не предлогать.
Спасибо.



Вопрос отправлен: 08.11.2002, 02:25
Отправитель: Илья

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Добрый день, Илья!
Для этого тебе нужно переходит в так называемый "нереальный режим". Для этого процессор переводится в защищенный режим, там создается один огромный сегмент данных (т.е. обычно база 0 и предел 4Гб) и загружается в сегментный регистр. После этого осуществляется обратный перезод в обычный реальный режим. Тогда по этому сегментному регистру можно адресовать больше, чем 64к. Иначе - никак. Только писать программу под 32-разрядный ДОС (т.е. использовать ДОС-экстендер). А префикс 66 - это просто изменение размера данных (67 - адреса), т.е. если была команда mov [bx], ax и ты написал перед ней в 16-разрядной проге 66, то получится mov [bx], eax, а если 67 - mov [ebx], ax, а если и 66 и 67 - mov [ebx], eax. Вот и все. Ассемблер в состоянии расставить префиксы сам, когда ты пишешь ему нужные инструкции.


Ответ отправлен: 09.11.2002, 17:03
Отправитель: Bob Johnson


Отвечает Broken Sword

Приветствую Вас, Илья!
Мало ли де у тя ошибки могут быть. Вышли код

Ответ отправлен: 08.11.2002, 14:31
Отправитель: Broken Sword


Отвечает Топор

Доброе время суток, Илья!
Ну, во-первых, если ты говоришь, "Win выдаёт ошибку", то ни о каком реальном режиме речи быть не может. DOS-сеанс Windows выполняется в виртуальном 86, который от реального отличается так же, как резиновая женщина от настоящей. Далее. Разрядность исполнения команд определяется т. н. теневыми регистрами (тут пусть меня поправят, если надо, могу и сбрехнуть), короче, определённый бит надо выставить. В реальном (настоящем) режиме делается так - переводят в 32-битный защищённый и быстренько обратно, при этом остаются и правила адресации реального режима, и 32-разрядность, и такой режим имеет своё название - большой реальный (Big Real Mode) или даже "нереальный" (unreal) (;-). Вот тогда и играй с 32-разрядной адресацией.


Ответ отправлен: 08.11.2002, 11:50
Отправитель: Топор


Отвечает ASMодей

Здравствуйте, Илья!
В реальном режиме процессор может использовать только 16-битные
сегменты, то есть максимум 65536 байт. Чтобы обратиться к
следующему сегменту нужно либо увеличить сегментный регистр
на 1000h, либо использовать нереальный режим.


Ответ отправлен: 08.11.2002, 09:57
Отправитель: ASMодей


Отвечает masquer

Доброе время суток, Илья!
Гы-гы, запихнув что-то в fs:[0] ты SEH frame установил под виндой, т.е. ничего работать точно не будет. Что под досом делать - тебе посоветуют...

Ответ отправлен: 08.11.2002, 11:12
Отправитель: masquer


Отвечает Supra

Приветствую Вас, Илья!
Если ВИН пишет ошибку, то это не ДОС-прога.
Да надо и прогу увидеть или поконкретней


Ответ отправлен: 10.11.2002, 12:40
Отправитель: Supra


Отвечает Maverick

Доброе время суток, Илья!
.386
Есть такая байда в твоем коде?
Трудно найти ошибку в чужом коде, невидя его.(Первый Постулат Maverick'a)


Ответ отправлен: 08.11.2002, 08:38
Отправитель: Maverick



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (42)
C / C++ (29)
Perl (9)
Delphi (14)
Pascal (21)
Basic / VBA (10)
Java / JavaScript (12)
PHP (10)
MySQL / MSSQL (8)
Пользователю
Windows 95/98/Me (29)
Windows NT/2000/XP (20)
"Железо" (27)
Поиск информации (13)
Администратору
Windows NT/2000/XP (11)
Linux / Unix (15)
Юристу
Гражданское право (9)
Семейное право (5)
Трудовое право (4)
КоАП (4)

Отправить вопрос всем экспертам выбранной рассылки.




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное