Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
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.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту 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.
http://subscribe.ru/
http://subscribe.ru/feedback/ |
Подписан адрес: Код этой рассылки: comp.soft.prog.faq |
Отписаться |
В избранное | ||