Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 692
от 26.01.2004, 22:30
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 4876 Отправлено ответов: 13674 Активность: 280.4 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Евгений Иванов Статус: Профессиональный Общий рейтинг: 136.75 URL: Super Assembler Software Телефон: Пчёлка +7 905 6601206 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 116.52 [Подробней >>] |
VOVAN Статус: Доверительный Общий рейтинг: 108.42 [Подробней >>] |
vitya Статус: Профессиональный Общий рейтинг: 108.51 [Подробней >>] |
Gibbel Статус: Профессиональный Общий рейтинг: 105.99 URL: Savage Metal Club - жизнь в стиле рок-н-ролл Телефон: +7 901 710 3146 [Подробней >>] |
dr_dolphin Статус: Опытный Общий рейтинг: 113.01 [Подробней >>] |
ASMодей Статус: Профессиональный Общий рейтинг: 112.17 [Подробней >>] |
never_again Статус: Опытный Общий рейтинг: 125.1 [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 146.12 URL: Программирование [Подробней >>] |
_vt Статус: Профессиональный Общий рейтинг: 117.81 URL: Тест [Подробней >>] |
SedHg Статус: Доверительный Общий рейтинг: 114.87 [Подробней >>] |
Artemy Статус: Опытный Общий рейтинг: 116.15 Телефон: 8 905 549 38 66 [Подробней >>] |
Dark_Lord Статус: Профессиональный Общий рейтинг: 110.26 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 4838. Здравствуйте, эксперты. Я тут застрял на одной проблеме. значит так. Я перехватываю 9 прерывание и б... (ответов: 2)
Вопрос № 4839. Здравствуйте! сразу извиняюсь за вопрос. скачал MASM6.12, распаковал, проинсталировал, а как програм... (ответов: 1)
Вопрос № 4840. Уважаемые эксперты! Вопрос конечно не имеет отношение к Ассемблеру, но думаю что с ним обращаться на... (ответов: 2)
Вопрос № 4841. Здравствуйте! Что такое RISC процессоры?... (ответов: 3)
Вопрос № 4842. Привет всем .Помогите написать ,пожалуйста ,процедуру или функцию перевода больших целых чисел из 1... (ответов: 2)
Вопрос № 4844. Добрый день. Подскажите пожалуйста как можно програмным методом проверить включен ли режим NumLock и... (ответов: 3)
Вопрос № 4849. Да в том то и проблема, что состояние светодиода мне абсолютно не важно... Мне главное сделать так, ... (ответов: 1)
Вопрос № 4850. Не могу добавить многопоточность в сервер. В одном потоке все работало, попытался вынести соединение... (ответов: 1)
Вопрос № 4852. Здравствуйте , уважаемые Эксперты. Помогите пожалуйста написать резидентную программу на ассембли.За... (ответов: 3)
Вопрос № 4855. Здравствуйте, уважаемые эксперты! Объясните пожалуйста по подробней что такое виртуальная память и ч... (ответов: 3)
Вопрос № 4857. Добрый вечер! Прошу разяснить мне, во что скомпилируется следующий код на С (отрывок драйвера ви... (ответов: 2)
Вопрос № 4859. Здравствуйте,уважаемые! Как программа может изменить вид указателя мыши (просто стрелка) в Windows ... (ответов: 5)
Вопросов: 12, ответов: 28
Вопрос № 4838 |
Здравствуйте, эксперты. Я тут застрял на одной проблеме. значит так. Я перехватываю 9 прерывание и бросаю его на свой обработчик. Простые клавиши работают нормально, но у меня не получается отличить простые клавиши от тех которые посылают первый скан код 0Е. Т.Е. я получаю этот скан код (0Е), но дальше эти клавишт работают как простые... Например стрелка "Влево" работает как клавиша "6" на цифровой клавиатуре, а моей программе нужно, чтоб все клавиши работали отдельно друг от друга...
Пример того, что я делаю в приложении.
Приложение:
Вопрос отправлен: 18.01.2004, 17:00
Отправитель: Мое имя
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Здравствуйте, Мое имя!
Во первых, pusha не сохраняет сегментные регистры.
У тебя DS плавает!
Во вторых, нужно сбрасывать клавиатуру каждый раз в прерывании!
Вот и всё!
Удачи!
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 18.01.2004, 23:35
Отправитель: Евгений Иванов
Отвечает Ayl
Добрый день, Мое имя!
Для клавиатур 101+ (которыми мы сейчас обычно и пользуемся) часть клавиш (дополнительные стрелки, панель дополнительных управляющих клавиш, правые Alt и Ctrl) генерируют такую последовательность скен-кодов: E0h (не 0Eh, а именно E0h. Кстати, в коде у тебя написано правильно), 2Eh (код правой клавиши Shift), E0h, код, соответствующей клавиши на 84-кнопочной клавиатуре.
Т.о., чтобы обработать эти клавиши, тебе нужно завести флаг, который будет устанавливаться при получении кода 0Eh и при получении другого кода анализировать его состояние. Если код будет 2Eh - пропускать. Если же что-то другое - преобразовывать. Кстати, при отпускании дополнительных клавиш также формируется 4 кода: E0h, AEh (код отпускания правого Shift\'а), E0h, 80h + код первоначальной клавиши.
Учти еще, что кнопка Pause формирует такую последовательность кодов: E1h, 1Dh, 45h при нажатии и E1h, 9Dh, C5h при отпускании.
Ответ отправлен: 19.01.2004, 11:15
Отправитель: Ayl
Вопрос № 4839 |
Здравствуйте!
сразу извиняюсь за вопрос. скачал MASM6.12, распаковал, проинсталировал, а как программа запускается в упор не могу найти. и ещё, как вообще пользоваться асмом? (то есть конечно не как проги писать, а как с самим компилятором работать) если напишите что-нибудь дельное, буду бесконечно благодарен!!!!
Вопрос отправлен: 18.01.2004, 18:20
Отправитель: ZX
[Следующий вопрос >>] [Список вопросов]
Отвечает VOVAN
Доброе время суток, ZX!
кидаешь исходник в одну папку с компилятором
пуск--выполнить--cmd---enter
откроется сеанс msdos'а.
там пишешь:
cd disk:каталог_где_лежит_исходник_с_компилятором enter
после этого ты перескочишь в папку с компилятором. теперь можешь писать
ml.exe cool_programm.asm /AT
или
masm.exe cool_programm.asm
link.exe cool_programm.obj /t
всё намного проще, если у тебя есть far:
просто копируешь, заходишь в папку, в ком. строке пишешь
ml.exe cool_programm.asm /AT
или
masm.exe cool_programm.asm
link.exe cool_programm.obj /t
получаешь .соm-файл, если написал прогу без ошибок (-:
Ответ отправлен: 19.01.2004, 11:55
Отправитель: VOVAN
Вопрос № 4840 |
Уважаемые эксперты!
Вопрос конечно не имеет отношение к Ассемблеру, но думаю что с ним обращаться надо именно сюда.
Не могу разобраться с стандартом шифрования ГОСТ 28147-89. По моим соображениям получается, что шифруется только половина текста, т.к. младшая часть становиться на место старшей. Допустим текст в кодировке ASCII т.е. части состоят из четырех символов, попадается слово в младшей части из 4-х букв, т.о. оно не шифруется что ли?
Заранее спасибо.
Вопрос отправлен: 19.01.2004, 07:23
Отправитель: Pasha
[Следующий вопрос >>] [Список вопросов]
Отвечает vitya
Приветствую Вас, Pasha!
Насколько я помню, в стандарте шифрования несколько раундов - то есть, во втором раунде блоки меняются местами и теперь шифруется другая часть.
Ответ отправлен: 19.01.2004, 08:55
Отправитель: vitya
Отвечает Gibbel
Доброе время суток, Pasha!
Мда, действительно не по теме. Интересно, а чем вы руководствовались, задавая вопрос по шифрованию в рассылку по Ассемблеру, при том, что есть рассылка по Криптографии.
Ответ отправлен: 19.01.2004, 14:42
Отправитель: Gibbel
Вопрос № 4841 |
Здравствуйте!
Что такое RISC процессоры?
Вопрос отправлен: 19.01.2004, 09:28
Отправитель: Александр
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Здравствуйте, Александр!
RISC - Reduced Instruction Set Computing, вычисления с сокращенным набором команд. RISC-архитектура - архитектура процессоров, построенная на основе сокращённого набора команд. Характеризуется наличием команд фиксированной длины, большого количества регистров, операций типа регистр-регистр, а также отсутствием косвенной адресации. Концепция RISC разработана Джоном Коком (John Cocke) из IBM Research, название придумано Дэвидом Паттерсоном (David Patterson).
CISC - Complex Instruction Set Computer - процессор со сложным набором команд. CISC - традиционная архитектура процессоров в противоположность RISC-процессорам. Процессоры семейств 80х86 и 680х0 относятся к CISC-процессорам, однако часто внутри самих CISC-процессоров используется RISC-архитектура.
Ответ отправлен: 19.01.2004, 11:22
Отправитель: Ayl
Отвечает Евгений Иванов
Приветствую Вас, Александр!
команды выполняются за такт. физически.
без всяких ухищрений.
много регистров.
мало команд для одного типа.
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 20.01.2004, 00:01
Отправитель: Евгений Иванов
Отвечает dr_dolphin
Приветствую Вас, Александр!
Процессоры с сокращенным набором команд (Reduced Instruction Set Computing).
Отличается высокой скоростью работы, большим регистровым массивом, а также высокой эффективностью выполнения инструкций. Обычно применяются в высокопроизводительных рабочих станциях и мощных серверах.
Пока !
Ответ отправлен: 20.01.2004, 08:14
Отправитель: dr_dolphin
Вопрос № 4842 |
Привет всем .Помогите написать ,пожалуйста ,процедуру или функцию перевода больших целых чисел из 10-й с/с в 2-ую .Число дано в виде строки.Длина числа <= 255 знаков . Например:s1='1212212187773647646700094000054657780037' нужно перевести в 2-ую с/с.
Вопрос отправлен: 19.01.2004, 16:22
Отправитель: Seiphirot (Seiphirot@tut.by)
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Приветствую Вас, Seiphirot!
Все просто...
Тебе нужны следующие функции:
1. Функция преобразования строки в массив чисел (255 элементов). Она пишется элементарно, даже не нужен второй массив. Просто из каждого символа строки вычитаешь символ нуля (\'0\').
2. Деление большого числа, представленного в виде массива цифр, на 2. Это тоже нетрудно написать, просматриваешь строку слева направо и делишь одну или 2 подряд идущие цифры на 2. Остатки сохраняешь в строке для результата. Учти, что при этом число будет записано в обратном порядке.
Алгоритм решения прост. Сначала вызываешь 1-ю функцию, потом в цикле - вторую до тех пор, пока частное не станет равным 1.
Ответ отправлен: 19.01.2004, 18:22
Отправитель: Ayl
Отвечает Евгений Иванов
Добрый день, Seiphirot!
дели столбиком.
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 20.01.2004, 01:47
Отправитель: Евгений Иванов
Вопрос № 4844 |
Добрый день. Подскажите пожалуйста как можно програмным методом проверить включен ли режим NumLock и если да, то выключить его. Состояние светодиода я и сам могу сменить, а вот режим переключить чегой-то не получается.
Вопрос отправлен: 19.01.2004, 23:04
Отправитель: oo0U0oo
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Добрый день, oo0U0oo!
могу посоветовать только просто выключай в любом случае светодиод.
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 20.01.2004, 19:59
Отправитель: Евгений Иванов
Отвечает dr_dolphin
Здравствуйте, oo0U0oo!
За переключение режима отвечает клавиатурный драйвер операционной системы, поэтому уточните пожалуйста в какой ОС вы пытаетесь это сделать.
До встречи....
Ответ отправлен: 20.01.2004, 08:17
Отправитель: dr_dolphin
Отвечает Ayl
Добрый день, oo0U0oo!
Если твоя программа работает в ДОС, то тогда состояние клавиш отображается в области BIOS по адресу 0:417 и занимает 2 байта. Установленные биты обозначают следующее:
байт 0:417
----------
7 - Insert
6 - Caps Lock
5 - Num Lock
4 - Scroll Lock
3 - Alt нажата
2 - Ctrl нажата
1 - Left Shift нажата
0 - Right Shift нажата
Также этот байт можно получить через функцию 2 прерывания 16h
Байт 0:418
----------
7 - Insert нажата
6 - Caps Lock нажата
5 - Num Lock нажата
4 - Scroll Lock нажата
3 - состоянии паузы
2 - SysReq нажата
1 - Left Alt нажата
0 - Left Ctrl нажата
Получить этот байт с помощью прерывания нельзя, хотя функция 12h прерывания 16h возвращает 16-битное значение, показывающее статус клавиш-переключателей:
15 - SysReq нажата
14 - Caps Lock нажата
13 - Num Lock нажата
12 - Scroll Lock нажата
11 - Right Alt нажата
10 - Right Ctrl нажата
9 - Left Alt нажата
8 - Left Ctrl нажата
7 - Insert
6 - Caps Lock
5 - Num Lock
4 - Scroll Lock
3 - Alt нажата
2 - Ctrl нажата
1 - Left Shift нажата
0 - Right Shift нажата
Ответ отправлен: 20.01.2004, 11:58
Отправитель: Ayl
Вопрос № 4849 |
Да в том то и проблема, что состояние светодиода мне абсолютно не важно... Мне главное сделать так, чтоб при запуске программы NumLock был выключен и потом, если, во время работы программы, пользователь случайно (или нарочно) нажмёт на клавишу NumLock, чтобы это было проигнорировано программой или просто опять выключить режим NumLock...
Вопрос отправлен: 20.01.2004, 21:52
Отправитель: oo0U0oo
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Добрый день, oo0U0oo!
Обработчик 9-го прерывания.
Всё это можно сделать.
А состояние - по адресу 0:417h, 0:418h
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 21.01.2004, 21:11
Отправитель: Евгений Иванов
Вопрос № 4850 |
Не могу добавить многопоточность в сервер. В одном потоке все работало,
попытался вынести соединение в отдельную нить, но accept выдает ошибку.
Объявил глобально не только listensock, но и все переменные из WinMain, результат тот же.
В какой-то статье читал, что если пишешь на C/C++, то вместо CreateThread надо юзать _beginthreadex, но с ней другие проблемы.
С потоками никогда не работал. ПОЖАЛУЙСТА, ПОМОГИТЕ РАЗОБРАТЬСЯ.
P.S. исходники переписывались с асм'а, так что не оффтопик.
Приложение:
Вопрос отправлен: 20.01.2004, 21:50
Отправитель: softsnap
[Следующий вопрос >>] [Список вопросов]
Отвечает ASMодей
Здравствуйте, softsnap!
А зачем же ты сразу после создания потока вызываешь функцию WSACleanup? Ты же сам и не даешь потоку ничего сделать.
Вот тебе цитата из описания WSACleanup в MSDN:
"In a multithreaded environment, WSACleanup terminates Windows Sockets operations for all threads."
Эту функцию надо вызывать уже после того, как все потоки отработают.
Ответ отправлен: 21.01.2004, 06:34
Отправитель: ASMодей
Вопрос № 4852 |
Здравствуйте , уважаемые Эксперты.
Помогите пожалуйста написать резидентную программу на ассембли.Задача состоит в следующем:
после нажатия на клавиатуре знака CTRL-F1 (скан код 94) ,и его появления в очереди клавиатуры , начиная с этого момента и в дальнейшем все маленькие литеры будут заменяться на большие.
после нажатия на клавиатуре знака CTRL-F2 (скан код 95) ,и его появления в очереди клавиатуры прекратится замена литер.
CTRL-F1 и CTRL-F2 необходимо удалять из очереди клавиатуры.
то есть после запуска программы если я нажму на CTRL-F1
и нажму на клавиатуре 'a' то на экране она отпечатается как 'A'.
Заранее благодарен.
Вопрос отправлен: 21.01.2004, 10:40
Отправитель: Владислав (starvk@bezeqint.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Здравствуйте, Владислав!
Думаю, что тебе нужно действовать так.
Пишешь обработчик прерывания 16h следующим образом:
1. Проверяешь номер функции. Если он равен 0 или 10h, то начинаешь обработку, иначе передаешь управление старому обработчику.
2. - Здесь номер функции 0 или 10h (ожидание нажатия клавиши) -
2.1. Вызываешь старый обработчик и проверяешь код нажатой клавиши
2.2. Если нажат Ctrl+F1, то устанавливаешь флаг перевода в верхний регистр и снова вызываешь старый обработчик. Возвращаешься к п.2.2
2.3. Если нажат Ctrl+F2, то снимаешь флаг перевода и снова вызываешь старый обработчик. Возвращаешься к п.2.2
2.4. - Сюда попадаешь, если не нажаты Ctrl+F1 или Ctrl+F2 -
Проверяешь флаг. Если он установлен - меняешь регистр (скорее всего проще использовать таблицу перекодировки)
2.5. Выходишь из обработчика прерывания
Вообще-то можно поступить и другим способом:
1. Обрабатываешь прерывание от клавиатуры (int 9).
2. Проверяешь, что нажата клавиша F1 и установлен флаг нажатия Ctrl
3. Если это так, то устанавливаешь флаг нажатия клавиши Caps Lock. Теперь обработка перевода в верхний регистр будет автоматически производится стандартным обработчиком прерывания 9
4. Если же нажата клавиша F2 и установлен флаг нажатия Ctrl, то сбрасываешь флаг нажатия Caps Lock
При такой реализации ты также можешь ввести дополнительный флаг, который будет показывать, производилось ли нажатие Ctrl+F1 и Ctrl+F2 для корректного сброса флага Caps Lock.
4/
Ответ отправлен: 21.01.2004, 16:25
Отправитель: Ayl
Отвечает Евгений Иванов
Приветствую Вас, Владислав!
см. на моём сайте программу CLSF11.
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 22.01.2004, 01:44
Отправитель: Евгений Иванов
Отвечает never_again
Доброе время суток, Владислав!
Заведе переменную которая будет принимать значение 20Н при нажатии на CTRL-F1 и 0H при нажатии на CTRL-F2. А символы потом просто ксорь с этой переменной.
Ответ отправлен: 22.01.2004, 15:30
Отправитель: never_again
Вопрос № 4855 |
Здравствуйте, уважаемые эксперты!
Объясните пожалуйста по подробней что такое виртуальная память и чем она отличается от физической.
Вопрос отправлен: 22.01.2004, 17:46
Отправитель: sniffer
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Добрый день, sniffer!
Ее размер не ограничен физически присутствующей в компьютере памятью - механизм виртуальной памяти позволяет выгружать из физической памяти страницы на диск, а на освободившееся место загружать другие. Это, конечно, замедляет работу компьютера, зато позволяет запускать большее количество программ одновременно.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 25.01.2004, 21:14
Отправитель: Bob Johnson
Отвечает never_again
Доброе время суток, sniffer!
А тем, что виртуальная память это твой жесткий диск. В принципе система имеет право использовать его целиком под свои нужды, но обычно берёт себе пару-тройку сот мегабайт и на этом останавливается. Ты, кстати, можешь вообще запретить системе использовать виртуальную память, но это не рекомендуется делать ни программистами Майкрософта, ни мною и думаю остальные эксперты меня поддержут (естественно ИМХО).
Ответ отправлен: 22.01.2004, 18:01
Отправитель: never_again
Отвечает dr_dolphin
Доброе время суток, sniffer!
Виртуальное адресное пространство это та пямять которая может быть адресована впринципе. Т.е. это та область памяти к которой можно обратиться через шину адреса компьюьера. Например Pentium может адресовать 2^36 байт, с использованием страничной адресации и постаничной подкачки информации с диска в память.
Физическая память - это память которая реально имеется на компьютере обычно (128,256,512 Мб и т.д). Ее объем обычно меньще виртуального адресного пространства компьютера.
А вообще для более детального объяснения этих терминов рекомендую мануалы фирмы Intel по процессорам с архитектурой IA-32.
Пока...
Ответ отправлен: 23.01.2004, 12:30
Отправитель: dr_dolphin
Вопрос № 4857 |
Добрый вечер!
Прошу разяснить мне, во что скомпилируется следующий код на С (отрывок драйвера видио карты S3 trio для linux компилятор gcc 2.94).
Если знаете то обязательно напишите про строки отмеченные "!!"
Приложение:
Вопрос отправлен: 22.01.2004, 21:47
Отправитель: Alexej
[Следующий вопрос >>] [Список вопросов]
Отвечает _vt
Добрый день, Alexej!
> во что скомпилируется следующий код на С
В машинный код! :-)
По приведенному куску ничего сказать нельзя - он неполный! Да и любой С будет компилировать это по разному.
--- E-Man 1.5+ : Life begins at 1000 MHz!
Ответ отправлен: 24.01.2004, 00:17
Отправитель: _vt
Отвечает SedHg
Здравствуйте, Alexej!
Какой-то странный вопрос %). Вам что лень самому посмотреть
во что это компилируется ...
Да и вообще это рубрика "Ассемблер"...
Ответ отправлен: 24.01.2004, 00:44
Отправитель: SedHg
Вопрос № 4859 |
Здравствуйте,уважаемые! Как программа может изменить вид указателя мыши (просто стрелка) в Windows на произвольное изображение (здесь не имеется ввиду изменение вида указателя на "стандартные" формы, как песочные часы и т.д.)? Спасибо огромное за ответ!
Вопрос отправлен: 22.01.2004, 22:20
Отправитель: Александр
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Здравствуйте, Александр!
SetCursor
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 22.01.2004, 23:35
Отправитель: Евгений Иванов
Отвечает Artemy
Добрый день, Александр!
Используй API LoadCursor и SetCursor.
Ответ отправлен: 23.01.2004, 09:44
Отправитель: Artemy
Отвечает Bob Johnson
Доброе время суток, Александр!
SetCursor.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 25.01.2004, 21:15
Отправитель: Bob Johnson
Отвечает dr_dolphin
Здравствуйте, Александр!
Загрузить его из файла ресурса и сделать активным в твоем приложении.
Пока.
Ответ отправлен: 23.01.2004, 12:30
Отправитель: dr_dolphin
Отвечает Dark_Lord
Здравствуйте, Александр!
LoadCursor(instl; curName/curID); - для загрузки курсора
SetCursor(hCursor); - для установки курсора!
Ответ отправлен: 23.01.2004, 16:30
Отправитель: Dark_Lord
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (23) C / C++ (17) Perl (3) Builder / Delphi (17) Pascal (17) Basic / VBA (6) Java / JavaScript (4) PHP (14) Криптография (5) WinAPI (10) Радиоэлектроника (4) |
Пользователю Windows 95/98/Me (41) Windows NT/2000/XP (58) "Железо" (32) Поиск информации (19) |
Администратору Windows NT/2000/XP (31) Linux / Unix (10) |
Юристу Гражданское право (17) Семейное право (11) Трудовое право (13) КоАП (12) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||