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

RusFAQ.ru: Программирование на C / C++


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

RusFAQ.ru: Программирование на C / C++

Выпуск № 107
от 28.10.2002, 12:30

Администратор:
Имя: Nick.Box
URL: Информационный ресурс
ICQ: 365124
Украина, Днепропетровск
О рассылке:
Задано вопросов: 315
Отправлено ответов: 694
Активность: 220.3 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


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

Gibbel
Статус: Профессиональный
Общий рейтинг: 108.56
URL: Страничка обо мне и моих друзьях
[Подробней >>]
DiGiT[old]
Статус: Опытный
Общий рейтинг: 108.32
[Подробней >>]
Yuri Gordienko
Статус: Доверительный
Общий рейтинг: 121.96
[Подробней >>]
 
Avl2k
Статус: Начальный
Общий рейтинг: 121.42
[Подробней >>]
Sensey
Статус: Профессиональный
Общий рейтинг: 124.41
URL: Страничка рассылки по Паскаля...
Телефон: +38 (0572) 41-76-04 дом.
[Подробней >>]
Jadd
Статус: Профессиональный
Общий рейтинг: 145.02
[Подробней >>]
 
vitya
Статус: Профессиональный
Общий рейтинг: 108.92
[Подробней >>]


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

Вопрос № 306. Доброе время суток,эксперты ! Я задавал вопрос по поиску иконки в exe-файле. Спасибо экспертам : Gib... (ответов: 1)
Вопрос № 308. Здравствуйте уважаемые эксперты! Немогу разобраться как на api написать диалоговое окно с 4 кнопками... (ответов: 1)
Вопрос № 309. Всем доброе время суток (и добрый день мне)... У меня к вам несколько вопросов... Чисто от нефиг ... (ответов: 6)

Вопросов: 3, ответов: 8


 Вопрос № 306

Доброе время суток,эксперты !
Я задавал вопрос по поиску иконки в exe-файле.
Спасибо экспертам : Gibbel и Артем Шегеда.
Исользуя функцию EnumResourseName я понял
что иконки идут первыми ресурсами.Пишу такой код :
// ** поиск иконки **
HMODULE hExe; // handle to existing .EXE file
HRSRC hRes; // handle/ptr. to res. info. in hExe
HRSRC hResLoad; // handle to loaded resource
char* lpResLock; // pointer to resource data

hExe = LoadLibraryEx("auto.exe",NULL,LOAD_LIBRARY_AS_DATAFILE);
hRes = FindResource(hExe,MAKEINTRESOURCE (1),RT_ICON);
hResLoad = (HRSRC)LoadResource(hExe,hRes);
lpResLock = (char*)LockResource(hResLoad);
Все зашибись и без ошибок.
Но что вот дальше с этими lpResLock,hResLoad делать ?
Как получить HICON hIcon ? В примере MSDN этого нет,там просто диалог из
одного exe в другой перекидывают.
IceWINteR



Вопрос отправлен: 24.10.2002, 14:38
Отправитель: IceWINteR (brothers@atnet.ru)

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

Отвечает Gibbel

Здравствуйте, IceWINteR!
Я чего-то не понял, что ты пытался сделать??? Если ты пытался отыскать иконку, которая отображается проводником - то ты абсолютно не прав.
Вызываешь функцию EnumResourceNames при lpszType=RT_ICON, в EnumResNameProc запоминаешь первое имя ресурса. Далее загружаешь его функцией LoadIcon.

Ответ отправлен: 24.10.2002, 17:04
Отправитель: Gibbel


 Вопрос № 308

Здравствуйте уважаемые эксперты!
Немогу разобраться как на api написать диалоговое окно с 4 кнопками (хотя окно с кнопками я нарисовал) и обработчик нажатий этих кнопок. Желательно примерчик.
VisualC++ 6.
Заранее очень благодареН!



Вопрос отправлен: 25.10.2002, 07:22
Отправитель: Саша (a_klinton@mail.ru)

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

Отвечает DiGiT[old]

Добрый день, Саша!
:))
так там есть ресурсы создай ресурс например IDD_MYDIALOG
и прилепи туда кнопки :)). Либо перехватывай событие WM_INITDIALOG и там CreateWindowEx создавай кнопки. А еще лучше поищи в яндексе например visual faq и там описано

Ответ отправлен: 25.10.2002, 07:42
Отправитель: DiGiT[old]


 Вопрос № 309

Всем доброе время суток (и добрый день мне)... У меня к вам несколько вопросов...
Чисто от нефиг шо делать я довольно давно занялся изучением С++... ну... в общем, это мне тогда делать нечего было... а сейчас как раз есть... и о чень много... но все же я не бросил это благородное занятие... накупил кучу всяких книг, основной из которых является книга Джесса Либерти "Освой замостоятельно С++ за 21 день" (ну про 21 день это они конкретно загнули...)...Как мне кажется книга эта неплохая... но убивает она меня тем, что прочитав ее можно писать исключительно консольные приложения, которые, плюс ко всему, еще и не запускаются из-под ДОСа... Конечно... консольные приложения это весело... но до поры до времени... и мне это уже как-то надоело... А теперь вопрос... Не подскажет ли кто-то из вас где бы можно было взять книгу (как бумажную так и электронную) которая бы смогла научить меня программировать под настоящую виндоус... в смысле во всеми окошками, менюшками, кнопочками, пиктограмками и прочим??? Я использую Microsoft Visual Studio 6.0 Enterprise Edition, но все книги о Visual C++, которые мне приходилось видеть, рассказывают восновном только о всяческих финтиклюшках типа мастеров того-сего, которые (как они говорят) делают за вас всю работу... но по моему опыту (хоть он и очень невелик) общения со всяческими мастерами (не по программированию) от них добится чего-либо полезного абсолютно невозможно -- только голову морочат своими дурацкими вопросами... да и вообще хотелось бы хотя бы понимать общие принцыпы программирования под виндоус (а я в этом, как и в МФС и прочих фигнях этого типа, полный нуль)... я даже не понимаю как комп решает, что вот это мы будем запускать с окошками и кнопочками, а это в чернобелом исполнении с буковками и цыферками... слыхал что для этого надо заполнять какие-то классы типа WNDCLASSA (или как его там) из файла "WINUSER.H" но так ли это и как ето делать я не имею ни малейшего понятия... Короче говоря, пожалуйста помогите мне найти хорошую литературу при помощи которой, зная лишь основные принцыпы объектно-ориентированого программирования на С++, и умея писать лишь консольные приложения, можно было бы научиться писать програмы под виндоус... Идеальный вариант, чтоб материал был ориентирован на MS Visual C++ 6.0 EE... Пожалуйста... помогите... и если вдруг на указаную вами книгу найдется ссылка, по которой её бы можно было купить в Украине, то пожалуйста укажите этот линк... буду страшно благодерен...
И еще чуть чуть о С++... Меня давно интересует вопрос как в консольном приложении реализовать строку типа:
Enter any number or enter "q" to quit:
... то бешь как заставить программку принимать одновременно от пользователя как численную так и символьную переменную??? у кого есть какие идеи??? пожалуйста без MFC и прочего... на худой конец стандартная библиотека С++...
И напоследок... правда ли, что Windows/Unix/Linux написаны на С++????? или это у меня галюны???
И еще раз напоследок... Как вы относитесь к "Венгерской нотации"??? просто, я как почитал названия некоторых классов, перемменых и тому подобного, в которых она использовалась, так аш прозрел... неужели это вообще можно прочитать??? и неужели это помогает в процессе написания кода??? и если это так полезно, что сама Майкрософт это придумала, то может и мне стоит попробовать???
P.S. Всем ответившим, большое украинское дякую...



Вопрос отправлен: 25.10.2002, 13:23
Отправитель: IamPlasticIt'sFantastic (pooh@apexnet.com.ua)

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

Отвечает Yuri Gordienko

Здравствуйте, IamPlasticIt'sFantastic!
Отвечу тебе о "Венгерской нотации". Все умные дяди (ведущие признанные теоретики и практики теории программирования) в один голос кричат что это все фуфло для случаев придумывания синонимов стандартных типов. Но Майкрософт любит делать свои стандарты, поэтому, если пишешь под винду, то придется или смирится или использывать приведения к стандартным типам если компилятор не пропускает.


Ответ отправлен: 25.10.2002, 19:32
Отправитель: Yuri Gordienko


Отвечает Avl2k

Доброе время суток, IamPlasticIt'sFantastic!
1. Рихтер "Windows для профессионалов" - по-моему неплохая книжка.
2. Ничего сложного. Просто надо всегда вводить с консоли символьную строку, и если не "q", то конвертировать ее в число (естественно с проверкой). Никакого MFC, все делается на CRT и/или STL.
3. Да, Unix написан на C, Windows на C/C++, критичные части - на ассемблере. В этом ничего необычного - проще поддерживать и переносить.
4. В "Венгерской нотации" в общем-то ничего сложного, и читается она достаточно легко, просто надо знать, как конструируется префикс, например lpsz, lpcstr и т.д. Её нужно знать, чтобы читать исходники Microsoft :) Лично я при написании программ ее не использую, поскольку сейчас практически все среды имеют helper'ы, подсказывающие типы объектов (для Visual C++ рекомендую Visual Assist - часто очень помогает, хотя иногда глуп как пробка :), а читать программу с листа не приходится.
С уважением, Avl2k.

Ответ отправлен: 25.10.2002, 18:24
Отправитель: Avl2k


Отвечает Gibbel

Доброе время суток, IamPlasticIt'sFantastic!
Я думаю, тебе стоит приобрести MSDN - если не сейчас, то в последствии он тебе пригодиться (Кстати, он в MS VS6 входит...). Там и примерчиков разных дофигищи...

Ответ отправлен: 25.10.2002, 13:50
Отправитель: Gibbel


Отвечает Sensey

Доброе время суток, IamPlasticIt'sFantastic!
Та нi за що!
1) MSDN. F вообще я этим(программированием под Вин) не занимаюсь. Поэтому не подскажу.
2) Получаешь обычную текстовую строку, а потом посимвольно анализируешь и переводишь цифры в число.
3) Правда.
4) Отлично отношусь. То есть не отношусь, а пользуюсь. Только может быть упрощенной.
Мои варианты
Имя типа начинать с Т
Имя ссылки на этот тип с P
однотипные константы для одной тематики с двух маленьких букв. Например - статус stXXX, цвета - clXXX и тп
Всегда писать осмысленные имена. Пускай они даже и длинные будут, типа SetSignalWithoutFaza - для установки сигнала без фазы :)
В общем - создай для себя свои правила написания имен переменных, функций, констант и тп.


Ответ отправлен: 25.10.2002, 14:07
Отправитель: Sensey


Отвечает Jadd

Приветствую Вас, IamPlasticIt'sFantastic!
По-порядку.
1)Винды изначально писались на Паскале, но поздние версии начиная с 3.0 и выше писаны на Сях. Это правда. Юниксы писались на сях и части на асме - тоже чистая правда, хотя прародители юниксов просто не могли быть на них писаны, т.к. сей еще не существовало.
2)"Венгерская нотация" - вещь правильная. Писать, используя "венгерскую нотацию" - признак хорошего тона в програзме, этим ты сможешь облегчить понимание твоих программ для тех, кто будет править твой код.
Книги надо подбирать. Идешь в магазин и смотришь те книги, где более понятно и полно для тебя идет изложение материала. Один совет: никогда не бери книги наших авторов - ужбольно много они воды льют.

Ответ отправлен: 25.10.2002, 14:50
Отправитель: Jadd


Отвечает vitya

Доброе время суток, IamPlasticIt'sFantastic!
Отвечу про венегерскую нотацию: если привынуть то она очень удобна. Одного взгляда на переменную достаточно, чтобы определить ее тип, место определения и время действия.
Многим это не нравится, но я лично доволен.
А книжек хороших я никогда не встречал - чуть лучше чем другие книга Круглинского и others, но, учти, она достаточно дорога.
Для вообще программиста под форточки важная книжка - Джеффри Рихтера - Виндовс для профессионалов.

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



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

Внимание!
Форма может работать некорректно в почтовых программах "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 (41)
C / C++ (28)
Perl (4)
Delphi (17)
Pascal (24)
Basic / VBA (7)
Java / JavaScript (8)
PHP (6)
MySQL / MSSQL (10)
Пользователю
Windows 95/98/Me (34)
Windows NT/2000/XP (21)
"Железо" (29)
Поиск информации (13)
Администратору
Windows NT/2000/XP (11)
Linux / Unix (12)
Юристу
Гражданское право (9)
Семейное право (6)
Трудовое право (5)
КоАП (6)

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




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

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

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

В избранное