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

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


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

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

Выпуск № 764
от 01.09.2004, 23:00

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


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

Алексей
Статус: Доверительный
Общий рейтинг: 148.05
[Подробней >>]
Dark_Lord
Статус: Профессиональный
Общий рейтинг: 109.27
[Подробней >>]
ASMодей
Статус: Профессиональный
Общий рейтинг: 111.06
[Подробней >>]
 
filt
Статус: Начальный
Общий рейтинг: 108.33
[Подробней >>]
PavPS
Статус: Доверительный
Общий рейтинг: 115.64
[Подробней >>]
Евгений Иванов
Статус: Профессиональный
Общий рейтинг: 132.96
URL: Super Assembler Software
Телефон: НСС +7 831 3107039
[Подробней >>]
 
Artemy
Статус: Опытный
Общий рейтинг: 108.57
Телефон: 8 905 549 38 66
[Подробней >>]
Tigran K. Kalaidjian
Статус: Профессиональный
Общий рейтинг: 186.29
URL: Персональная страничка
[Подробней >>]
Александр
Статус: Начальный
Общий рейтинг: 158.82
[Подробней >>]
 
Стас
Статус: Опытный
Общий рейтинг: 121.99
[Подробней >>]


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

Вопрос № 5774. Привет, эксперты! Хотел спросить, вот есть объект (контрол и т.д.) в окне, а у него типа подчиненные... (ответов: 1)
Вопрос № 5775. Здраствуйте, уважаемые эксперты! Прочитал про создание окна в Винде. Мне не понятно, где должна выпо... (ответов: 3)
Вопрос № 5776. Прочитал сатьи Brokensword'a о защищённом режиме.Всё понятно,вроде: и сегментная адресация, и страни... (ответов: 3)
Вопрос № 5778. Написал прогу на асме: .DATA text db "Нашел окно с классом EDIT и с заголовком Wi... (ответов: 3)
Вопрос № 5779. Привет всем! У меня проблема: TLINK 7.1.30.1 иногда выдаёт сообщение о том, что в .OBJ-файле есть 32... (ответов: 3)
Вопрос № 5780. Здравствуйте! 1) У Iczelion'а написано, что: a.GlobalAlloc служит для выделения блока памяти и возв... (ответов: 3)
Вопрос № 5781. У меня есть стааааарый справочник (Help.exe+asm.ng если верить дате то 1988 года!) по регистрам, ком... (ответов: 3)
Вопрос № 5782. Привет всем! У меня проблема: TLINK 7.1.30.1 иногда выдаёт сообщение о том, что в .OBJ-файле есть 32... (ответов: 4)
Вопрос № 5783. Подскажите как в отладчике увидеть что действительно считалось в память? Считываю битовую карту (*.b... (ответов: 3)

Вопросов: 9, ответов: 26


 Вопрос № 5774

Привет, эксперты!
Хотел спросить, вот есть объект (контрол и т.д.) в окне, а у него типа подчиненные объекты, например, GropBox, а в нем еще кто-то, Вопрос в том как их "перечислить".
..., такие объекты, как меню, например, какой API можно воспользоваться?
Благодарю заранее за Ваш ответ, спасибо.
(ВСЕ ответы принимаются)



Вопрос отправлен: 27.08.2004, 00:07
Отправитель: Коля (niknik@tula.net)

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

Отвечает Алексей

Доброе время суток, Коля!
У каждого объекта есть такие свойства, как ComponentCount и Components. Первое - это количество дочерних компонент у контрола, второе - это массив этих самых компонент. Нужно поочередно перебирать их все... получится, так сказать, "пробежка по дереву компонент".

Ответ отправлен: 27.08.2004, 10:35
Отправитель: Алексей


 Вопрос № 5775

Здраствуйте, уважаемые эксперты! Прочитал про создание окна в Винде. Мне не понятно, где должна выполняться основная прога - в цикле обработки сообщений или в процедуре окна. Процедура окна как я понимаю, вызывается каждый раз при отправке окну от Винды сообщения, поэтому сюда вставлять основной код проги не надо. Тогда в цикл обработки сообщений. Заменяем GetMessage на PeekMassage, вот только загвоздка - если в проге надо будет поспать 10 мин и в то же время проверять, а нет ли сообщения о выходе из проги - можно вызвать в цикле PeekMessage, но как подогнать
цикл хоть приблизительно под 10 мин? А если прога выполняет какую-то объёмную работу, постоянно вставлять в участках кода PeekMassege? Почему при первом вызове invoke PeekMessage, ADDR msg,NULL,0,0,PM_REMOVE я сразу получаю 0, ставлю GetMessage, ADDR msg,NULL,0,0 - работает нормально?



Вопрос отправлен: 27.08.2004, 02:10
Отправитель: Александр

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

Отвечает Dark_Lord

Здравствуйте, Александр!
Основная программа может выполняться где угодно, но если тебе надо вызывать каждые 10 мин. процедуру, то установи на окна таймер на 10 мин. и обрабатывай сообщение WM_TIMER. В отличии от GetMessage, PeekMessage всегда возвращает 0 если сообщения нет и неноль, если есть. Чтобы понять, что пришло сообщение WM_QUIT нужно отдельно проверять msg.message

Ответ отправлен: 27.08.2004, 11:11
Отправитель: Dark_Lord


Отвечает Алексей

Здравствуйте, Александр!
В винде не совсем есть "основная программа". Винда работает по принципу сообщений. Если что-то происходит - то винда отправляет программе "сообщение", т.е. передает управление той или иной функции в программе. Пока функция выполняется - другие сообщения просто накапливаются в списке... По выходу из той самой "долгой" процедуры, обрабатываются все сообщения из списка по цепочке. В приложении - функция, как это реализовано в Дельфи. Извини, что на АСМ'у не перевел - так наглядней...

Приложение:

Ответ отправлен: 27.08.2004, 11:11
Отправитель: Алексей


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

Доброе время суток, Александр!
1. "Основная прога" может выполняться там где тебе удобно. Если хочешь получить
аналог DOS-приложения, вставляй текст программы в WinMain. А если программе
нужно окно, то без оконной функции не обойтись.
2. Задержку на 10 минут можно организовать и в оконной функции с помощью
таймера.
3. Функция PeekMessage возвращает 0, если в очереди нет сообщений, а GetMessage
будет ожидать появления сообщения и лишь после этого вернет управление.


Ответ отправлен: 30.08.2004, 14:36
Отправитель: ASMодей


 Вопрос № 5776

Прочитал сатьи Brokensword'a о защищённом режиме.Всё понятно,вроде: и сегментная адресация, и страничная, но вот ломаю голову, как
это всё в Винде сочетается?А точнее, как дело обстоит с регистрами селекторными?Вот в отладчике (СофтАйс) CS всегда равен 1B, а DS =SS
=23. Объясните,пожалуйста, вот нужно процу перевести некий адрес в физический,он берёт из CS значение поля индекс и складывает с базой
GDT или LDT и т.д., а используются ли в Винде эти самые LDT для каждого процесса?Или вообще не используются, и селекторный регистр
всегда складывается с базой GDT и указывает на один и тот же дескриптор?И в свою очередь из этого дескриптора берётся всегда одинаковый адрес?
И ещё: опять же в отладчике - при вызове api-функции происходит обращение к памяти,например DS:4010080 = 776700FF. Я правильно
понимаю,что получившийся линейный адрес будет преобразован в физический с использованием "наших" PDE и PTE, т.е. прост о будет
задействована другая страница?
Заранее громадное спасибо за ответы!!



Вопрос отправлен: 27.08.2004, 03:45
Отправитель: gnev_makaki (vyatich2002@mail.ru)

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

Отвечает filt

Приветствую Вас, gnev_makaki!
Чуточку не так. В pmode преобразует адрес в физический примерно так:
Из бита в селекторе (TI), выбирается LDT или GDT.
Потом из селектора выбирается базовый 24-разрядный адрес и складывается с 16-разрядным смещением. Вот и вылез физический адрес.
А про cs в pmodе, это в реальном режим в сегментном регистре содержится адрес(который потом сдвигают на 4, и складывают со смещением), а в pmode в сегментоном регистре содержится номер селектора в GDT или LDT. Вот почему CS=1B.

Ответ отправлен: 27.08.2004, 22:42
Отправитель: filt


Отвечает PavPS

Здравствуйте, gnev_makaki!
на счет всегда 1В или DS==23h это не постоянно, а объяснить - так это изза нгмера в GDT/LDT и флагов - больше это значение ни чем не изменишь. ч/з разные сегментные регистры попадаешь на разные элементы GDT/LDT, но нельза забывать, что при формировании заброса к данным при построении линейного адреса, ещё проверяются RW флаги, например. Так же они есть и у таблици страниц, характеризуя каждую страницу.
По поводу попадем ли на другую страницу, ч/з тот же SoftIce и глянь - база ч/з CS и DS одинаковы (про флаги - _практически_ сходятся только вот RWE флаги различаются) -> получишь тот же линейный адрес ну и дальше один и тот же физический.

Ответ отправлен: 30.08.2004, 03:55
Отправитель: PavPS


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

Приветствую Вас, gnev_makaki!
1. Во-первых регистры CS, DS, и т.п. называются не селекторными, а сегментными.
В этих регистрах хранятся селекторы сегментов, старшие 13 бит которых
представляют из себя индекс дескриптора в таблице дескриторов. Бит 2 селектора
указывает какую таблицу дескрипторов использовать при трансляции адресов:
0 - таблицу GDT, 1 - таблицу LDT. В твоем случае 1Bh и 23h имеют второй бит
равный 0, значит они ссылаются на таблицу GDT.
2. Два РАЗНЫХ селектора не могут указывать на один дескриптор, а вот два
разных дескриптора могут (и довольно часто) указывать на один и тот же сегмент
памяти. Например в Win32 дескрипторы сегментов кода, данных и стека ссылаются
на один и тот же сегмент памяти размером 4 Гб. Это и называется плоской моделью
памяти.
3. Если включена страничная адресация, то линейный адрес, полученный с помощью
дескриптора сегмента будет дополнительно преобразован в физический с помощ ью
таблиц страниц.


Ответ отправлен: 30.08.2004, 14:36
Отправитель: ASMодей


 Вопрос № 5778

Написал прогу на асме:
.DATA
text db "Нашел окно с классом EDIT и с заголовком Window"
cap db "Сообщение"
class db "EDIT"
name db "Window"
.CODE
start:
mov EAX,0
.WHILE EAX=0
invoke FindWindow,ADDR class,ADDR Name
.ENDW
invoke MessageBox,0,ADDR text,ADDR cap,0
invoke ExitProcess,0
end start
Прога по моему мнению должна выдавать сообщение при запуске окна с классом EDIT и заголовком Window, но она уходит в вечный цикл и не видит его, хотя такое окно я создавал сам.
В чем дело???



Вопрос отправлен: 27.08.2004, 12:28
Отправитель: Виталий (amorphius023@mail.ru)

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

Отвечает Евгений Иванов

Доброе время суток, Виталий!
строки должны оканчиваться на 0
* EMan: -=- И легко перо, да на крышу не закинешь. =-=


Ответ отправлен: 28.08.2004, 13:57
Отправитель: Евгений Иванов


Отвечает Artemy

Добрый день, Виталий!
Работать должно, но только не для дочерних окон.
Если ты хочешь найти элемент управления EDIT на каком нибудь другом окне, то этот код не годится.
Сначала найди окно-родитель, а потом используй
EnumChildWindows

Ответ отправлен: 27.08.2004, 16:56
Отправитель: Artemy


Отвечает Алексей

Приветствую Вас, Виталий!
Все верно, но мне кажиться, что нужно каким-то образом задать длину строчек class и name, например завершить их нулем ;)
class db "EDIT",0
name db "Window",0
могу конечно ошибаться, НО...

Ответ отправлен: 27.08.2004, 16:02
Отправитель: Алексей


 Вопрос № 5779

Привет всем!
У меня проблема: TLINK 7.1.30.1 иногда выдаёт сообщение о том, что в .OBJ-файле есть 32-bit`ная запись и не линкует... В чём дело?



Вопрос отправлен: 27.08.2004, 13:08
Отправитель: YAA (yaamail@rambler.ru)

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

Отвечает Tigran K. Kalaidjian

Здравствуйте, YAA!
попробуйте ключ /3

Ответ отправлен: 27.08.2004, 20:00
Отправитель: Tigran K. Kalaidjian


Отвечает Алексей

Доброе время суток, YAA!
Доброе время суток, YAA!
Если ему не нравятся 32хбитные записи, попробуй например .386P ну или аналогичный. Может ему (tlink'у) вообще инструкции защищенного режима не нравятся?
Вообщем это должно помоч. И никто не запрещает нам использовать префикс db 66h.

Ответ отправлен: 28.08.2004, 14:28
Отправитель: Алексей


Отвечает filt

Добрый день, YAA!
Привет YAA. Надо полагать, что ты не включил опцию в транслятор /3(разрешение 32-битных инструкций)

Ответ отправлен: 27.08.2004, 22:32
Отправитель: filt


 Вопрос № 5780

Здравствуйте!
1) У Iczelion'а написано, что:
a.GlobalAlloc служит для выделения блока памяти и возвpащает хэндл на запpошенный блок памяти.
b.GlobalLock закpывает блок памяти и возвpащает указатель на блок памяти.
c.GlobalUnlock откpывает блок памяти и возвpащает указатель на блок памяти.
d.GlobalFree освобождает блок памяти.
Мне несколько непонятно что значит "закрывает блок памяти" в случае GlobalLock и "откpывает блок памяти" в случае GlobalUnlock. Также хэндл и указатель на блок памяти разве не одно и то же?
Вообщем не могли бы вы объяснить работу каждой из функций поподробнее, если можно?
2) Memory Mapped файлы
Не могу понять общее функционирование схемы "file - file-mapping object - file view". Я так понял, что file-mapping object создается для процессов, которые тоже работают с таким же дисковым файлом как и мой процесс, а file view уже для себя. При этом file-mapping object работает с самим дисковым файлом, а file view уже с file-mapping object.
Прав я или нет?
Спасибо!



Вопрос отправлен: 27.08.2004, 14:57
Отправитель: Alex

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

Отвечает Алексей

Здравствуйте, Alex!
GlobalAlloc и GlobalFree служат для управления памятью OS. Т.е. Эти функции в системе резервируют память, чтобы другие приложения не могли зарезервировать эту область. В нормальном случае возвращается именно Handle, а не указатель (но бывают и исключения - предлагаю обратить внимание на флаг GMEM_FIXED в уроках Iczelion'а). Использование Lock и Unlock необходимо для доступа к этой области памяти. Если же возвращается указатель, то можно писать и читать эти блоки напрямую, но я этого делать не рекоммендую. Lock и Unlock считает количество открытий и закрытий этих блоков для внутреннего управления памятью самой системой (например для определения, какую область стоит свопировать...). И еще один момент: на данный момент, после выделения памяти (когда приходит хэндл), можно в эту область писать данные, и читать тоже. Но в будущем может случиться и такое, что этот сегмент будет помечен на невозможность чтения (а скорее всего записи), д о тех пор, пока не сделаешь Lock...
про файловый mapping ничего не скажу ;(

Ответ отправлен: 27.08.2004, 15:34
Отправитель: Алексей


Отвечает PavPS

Доброе время суток, Alex!
Про мэппинг. чтение данных всем известно медленно (с внешних устройств) так вот, проще говоря, можно читать синхронно и асинхронно. мэпинг пользует асинхронной чтение, причём очень тесно работает с кэш менеджером, что позволяет не обращаться лишний раз к устройству. весь механизм основан на чтении блока в память и настройки таблици страниц процесса, чтобы они "смотрели" на этот блок данных. помимо скорости есть такие приемущества, как один из способом межпроцессной связи. можно открыть одну проекцию в процессе А а другую в процессе Б. таблици страниц будут настроены так, чтобы у каждого процесса они смотрели на один и тот же блок данных (один физический адрес) ну и следовательно будут проходить синхронные изменения данных. Чудо! так же системы будет поддерживать и упреждающее чтение и много за чем сама следить будет - pagefaul-ы ловить. Эта вещь незаменима при чтении больших блоков данных, т.к. система загрузит в память только часть блока, а если увидит, что ты рвешься во этому блоку вперед на 100 мб, то бывшую часть сбросит на диск а на местов памяти, где должен быть указатель спроецирует инфу из файла ч/з 100 мб. с первого раза сложно объеснить, да и понять. лучше читать у Рихтера, Руссиновича, Шрайбера...

Ответ отправлен: 30.08.2004, 03:44
Отправитель: PavPS


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

Доброе время суток, Alex!
1. В даннм случае слово Lock лучше перевести не как "закрывает", а как
"блокирует", а Unlock соответственно - "разблокирует". Теперь о смысле этой
функции. Win32 в определенных случаях может перемещать участки выделенной
памяти для каких-то своих системных нужд. Поэтому может получиться так, что
процесс выделив память может не застать ее на старом месте при следующем
обращении к ней :). Для того чтобы зафиксировать выделенную память и
используется функция GlobalLock. Функция GlobalUnlock выполняет обратные
действия.
В общем случае хэндл, возвращаемый функцией GlobalAlloc не является адресом
выделенного участка памяти, а является указателем на запись какой-нибудь
системной таблицы, отвечающей за распределение памяти. Но если указать функции
флаг GMEM_FIXED, то возвращаемый хэндл будет указателем на память, причем
эта память будет неперемещаемой, а значит необх одимость в ее блокировании
и разблокировании отпадает.
2. Во-первых File mapping object - это не обязательно файл на диске. Это может
быть и файл в памяти. Работает все это так:
- первый процесс должен создать проецируемый файл и присвоить ему какое-то имя.
- далее этот же процесс с помощью функции MapViewOfFile отображают этот файл
на свой участок памяти и получает указатель на эту память
- с помощью полученного указателя процесс работает с этой памятью (записывает
или читает какие-то данные)
- другие процессы (если они будут) открывают этот файл для себя функцией
OpenFileMapping, указав имя файла в параметрах.
- далее процессы отображают этот файл на свое адресное пространство и работают
с ним через полученный указатель.
- В конце работы все процессы должны вызвать функции UnmapViewOfFile и
CloseHandle для корректного завершения работы с проецируемым файлом.


Ответ отправлен: 30.08.2004, 14:36
Отправитель: ASMодей


 Вопрос № 5781

У меня есть стааааарый справочник (Help.exe+asm.ng если верить дате то 1988 года!) по регистрам, командам CPU, портам, памяти. Естественно его уже на хватает...
Отсюда вопросики:
1) Где взять список команд CPU посвежее?
2) Где взять список команд FPU?
3) Портов опять же.
--------------------------------------------------------
И такой вопросик. Я тут спрашивал каким отладчиком можно отладить 32 разрядную программу на DOS расширителе (типа DOS4GW) - без результатно... Тем не менее кое как приспособился запускать ее в WinXP через "Connectix Virtual PC" (за что ему спасибо).
Так вот SoftIce поставленный на прерывание BPIO xxx RW - не работает... Надо полагать что либо VirtPC либо сам DOS4GW отключают SoftIceовские БРЯКИ? Как выйти из этого положения?
(Ctrl-D работает, но показывает VirtPC, а мне надо мое приложение...)



Вопрос отправлен: 27.08.2004, 19:14
Отправитель: Федя

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

Отвечает Алексей

Доброе время суток, Федя!
1) Где взять список команд CPU посвежее? - Intel Manual
2) Где взять список команд FPU? - там же
3) Портов опять же. - остальные мануалы.
Если нужен конкретный мануал (и не смог найти) - пиши clover@fromru.com (вышлю)
...а на счет VirtualPC+WinXP+DOS4GW - это ты круто загнул слишком.


Ответ отправлен: 27.08.2004, 19:34
Отправитель: Алексей


Отвечает Tigran K. Kalaidjian

Доброе время суток, Федя!
1. У Ральфа Брауна http://www.pobox.com/~ralf
Если хотите подробнее и на русском, то приобретите В.Юров "Ассемблер. Учебник" (Издательство Питер).
А вообще говоря, Ваш вопрос не совсем однозначен: если Вы хотите некоторый расширенный список команд, то укажите под какой CPU конкретно Вам нужна информация.
2. У Зубкова http://www.bobjohnson.nm.ru/files/zubkov.zip
3. У Ральфа Брауна

Ответ отправлен: 27.08.2004, 19:35
Отправитель: Tigran K. Kalaidjian


Отвечает Александр

Приветствую Вас, Федя!
На счёт описаний - этого добра у меня есть. Укажи мыло - вышлю. Или пиши: yaamail@rambler.ru
А насчёт отладки - попрубуй soft ice for dos.
С уважением, YAA.

Ответ отправлен: 27.08.2004, 21:41
Отправитель: Александр


 Вопрос № 5782

Привет всем!
У меня проблема: TLINK 7.1.30.1 иногда выдаёт сообщение о том, что в .OBJ-файле есть 32-bit`ная запись и не линкует... В чём дело?
p.s.
Программа ком и в ней НЕ ДОЛЖНО БЫТЬ НИКАКИХ 32-БИТНЫХ ЗАПИСЕЙ.
Ключ /3 - не помогает....



Вопрос отправлен: 28.08.2004, 10:16
Отправитель: YAA

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

Отвечает Стас

Приветствую Вас, YAA!
Смотреть надо исходник + команды для компиляции, может ты там библиотеку подключаешь, или еще что...


Ответ отправлен: 28.08.2004, 22:21
Отправитель: Стас


Отвечает Tigran K. Kalaidjian

Доброе время суток, YAA!
Может Вы всё-таки пришлете текст программы?

Ответ отправлен: 28.08.2004, 10:52
Отправитель: Tigran K. Kalaidjian


Отвечает Алексей

Доброе время суток, YAA!
Доброе время суток, YAA!
Если ему не нравятся 32хбитные записи, попробуй например .386P ну или аналогичный. Может ему (tlink'у) вообще инструкции защищенного режима не нравятся?
Вообщем это должно помоч. И никто не запрещает нам использовать префикс db 66h.

Ответ отправлен: 28.08.2004, 14:28
Отправитель: Алексей


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

Приветствую Вас, YAA!
Хотелось бы текст программы увидеть. Или хотя бы часть ее, вызывающую эту
ошибку (можно найти методом исключения).


Ответ отправлен: 30.08.2004, 14:36
Отправитель: ASMодей


 Вопрос № 5783

Подскажите как в отладчике увидеть что действительно считалось в память?
Считываю битовую карту (*.bmp)
В процессе отладки перед процедурой закрытия файла немогу найти считанный данные!!!
Помогите пожалуйсто


Приложение:


Вопрос отправлен: 28.08.2004, 22:53
Отправитель: falcon (flayernik@mail.ru)

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

Отвечает Александр

Доброе время суток, falcon!
Дык, а куда свопит 44h? Там и нада смотреть!!!
EMM я слабо знаю ( пока ;) ), но могу посоветовать вот что:
Считай какой-нибудь известный кусок текста типа "кусок текста" и поищи в отладчике ( кстати: нада писАть каким отладчиком пользуешся! ) его, а потом подумай, куда страницы свопятся...
Желаю моря удачи и дачи у моря.
Александр.


Ответ отправлен: 29.08.2004, 17:26
Отправитель: Александр


Отвечает Стас

Доброе время суток, falcon!
mov ah,44h ;Отображаю память
mov al,0
mov bx,0
mov dx,id
;<<<А где INT 67???????????
mov ah,3fh ;Читаю файл


Ответ отправлен: 29.08.2004, 12:20
Отправитель: Стас


Отвечает Алексей

Приветствую Вас, falcon!
Перед процедурой закрытия файла данных уже нет! ты освобождаешь освобождаешь блок памяти, перед выходом ;( ищи раньше, перед освобождением памяти, или после закрытия файла.

Ответ отправлен: 30.08.2004, 11:50
Отправитель: Алексей



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

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (26)
C / C++ (15)
Perl (6)
Builder / Delphi (12)
Pascal (22)
Basic / VBA (5)
Java / JavaScript (6)
PHP (13)
Криптография (7)
WinAPI (10)
Радиоэлектроника (11)
Пользователю
Windows 95/98/Me (47)
Windows NT/2000/XP (63)
"Железо" (42)
Поиск информации (20)
Администратору
Windows NT/2000/XP (38)
Linux / Unix (16)
Юристу
Гражданское право (10)
Семейное право (7)
Трудовое право (9)
КоАП (7)

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




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2004 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.faq
Отписаться

В избранное