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

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


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 585
от 17.11.2006, 16:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 423, Экспертов: 52
В номере:Вопросов: 4, Ответов: 6


Вопрос № 62199: Здаствуйте! Я решил заняться программированием на Win API, пишу на C++ Builder. В интернете все статьи по программированию на Win API на C++ про MS Visul C++, пишут приложения получаются в несколько кб, а в C++ Builder консольное приложение получаетс...
Вопрос № 62215: Здравствуйте. Возник у меня вопрос. В Microsoft Office, да и во многих других программах-редакторах есть такая фишка, когда привыделении какого-либо объекта вокруг него появляются 8 маленьких квадратиков. За которые можно тянуть и изменять его ра...
Вопрос № 62275: Доброе время суток, уважаемые эксперты! Помогите пожалуйста в следующем: есть массив из 1500 чисел,нужно последовательно сложить его по 15 элементов, чтобы получился массив из 100 элементов. Как это сделать? Заранее спасибо ...
Вопрос № 62308: Добрый День! Пишу на C# (VS2005) Вопрос такой: В отдельном проекте у меня содержится описание стека (т.е. предполагается что он будет способен работать с данными любого типа). Одна из операций-просмотр-есть ли элемент с такими полями в ст...

Вопрос № 62.199
Здаствуйте! Я решил заняться программированием на Win API, пишу на C++ Builder. В интернете все статьи по программированию на Win API на C++ про MS Visul C++, пишут приложения получаются в несколько кб, а в C++ Builder консольное приложение получается (пустое) примерно 140 кб, как можно умеьшить его размер? Или лучше переходить на VC++... или что нибудь другое? Что посоветуете?
Отправлен: 11.11.2006, 17:06
Вопрос задал: Mazer (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Lonely Wolf
Здравствуйте, Mazer!
Я советую MS VC++, и инфу найти проще и сам он более популярный, не будет ни каких проблем ни с OpenGL ,ни с DirectX и ни с чем. С VC++ ноу проблем. А стоит ли переходить на что-либо другое, тебе решать, только не Basic или какой-нибудь Pascal. Ассемблер.

---------
Ассемблер FOREVER!!!
Ответ отправил: Lonely Wolf (статус: Студент)
Ответ отправлен: 12.11.2006, 12:19

Отвечает: dentist
Здравствуйте, Mazer!
да простят меня старшие по порталу ;)
Я предвзято отношусь к борланду поэтому мой ответ очевиден.
Темболее, что вы хотите писать приложения на "чистом" WinAPI =)
Переходите на MSVS, чтобы избавиться от неоднозначности ;)
---------
"Software is like sex, it's better then it's free" (c) Linus Torvalds
Ответ отправил: dentist (статус: 6-ой класс)
Ответ отправлен: 12.11.2006, 13:08

Отвечает: Delph
Здравствуйте, Mazer!

Для начала отвечу на Ваши последние вопросы в форуме. Браться за .NET не рекомендую, пока есть хоть какая-то возможность без него обойтись. Главная причина в том, что ЛЮБОЕ .NET-приложение можно декомпилировать, и что-либо скрыть от конечного пользователя невозможно (если, конечно, он не полный ламер). Вторая причина - платформа .NET не позволит использовать все возможности компьютера: что-то съедает сама, что-то теряется за счёт ограничений платформы. Нормальный exe-шник (не привязанный к .NET) будет, конечно, больше по размеру, чем .NET-товский. Но выполняться будет быстрее, и свободы у Вас будет намного больше. Следовательно, лучше пока остановиться на последней Visual Studio, ещё не поддерживающей .NET (по моему, это шестая студия). По поводу Win API: себе я заказал книгу Саймона "Microsoft Windows API. Справочник системного программиста". Аннотацию можете прочитать на http://www.books.ru/shop/books/156128 (там же можно и заказать её). На данный момент я ещё не успел получить книгу, поэтому высказать своё мнение не могу.
Про литературу о Visual C++ ничего вразумительного пока подсказать не могу - сам только начинаю копаться в этой среде.

Если для Вас размер exe-шника - критичный параметр, переходите на Assembler. На Асме можно сгенерить небольшую прогу размером 8 - 12 kb, никакой другой среде это не по зубам (на том же Visual C++ не видел ни одной программулины размером меньше 20kb, но и это - очень неплохой результат).
Ответ отправил: Delph (статус: 3-ий класс)
Ответ отправлен: 13.11.2006, 11:45
Оценка за ответ: 5
Комментарий оценки:
Большое спасибо за подробный и обоснованный ответ, и очень бы хотелось услышать Ваши отзывы о книге (по аннотации она мне понравилась), буду ждать...


Вопрос № 62.215
Здравствуйте.
Возник у меня вопрос. В Microsoft Office, да и во многих других программах-редакторах есть такая фишка, когда привыделении какого-либо объекта вокруг него появляются 8 маленьких квадратиков. За которые можно тянуть и изменять его размеры. Хочу сделать так же..
Как? Подскажите хотя бы направление для поиска.
Отправлен: 11.11.2006, 19:08
Вопрос задал: Олег Кузнецов (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: John Paramol
Здравствуйте, Олег Кузнецов!
Я писал такое.
Начинал разрабатывать построитель диалоговых окон, но почти сразу забросил.
Однако нужные вам квадратики там присутствуют.
Проект для Builder 6, но написано на чистом WinAPI.
Следующая ссылка будет действительна в течение 7 дней:
http://www.loopwise.com/looksurf/uploads/john_paramol_1163405834.rar
Exe-шник в архиве есть.
Удачи!
Ответ отправил: John Paramol (статус: 3-ий класс)
Ответ отправлен: 13.11.2006, 11:29


Вопрос № 62.275
Доброе время суток, уважаемые эксперты!
Помогите пожалуйста в следующем: есть массив из 1500 чисел,нужно последовательно сложить его по 15 элементов, чтобы получился массив из 100 элементов.
Как это сделать?
Заранее спасибо
Отправлен: 12.11.2006, 11:38
Вопрос задала: Azazy (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Олег Владимирович
Здравствуйте, Azazy!

Уточню задачу: создать второй массив, который содержит суммы каждых 15 подряд идущих элементов первого массива. Правильно?
Предлагаю такой вариант:
//int a[1500];
//int s[100];
for (int i = 0; i < 100; i++) {
s[i] = 0; //Обнуляем сумматор
for (int j = 15*i; j < 15*i+14; j++) s[i]+=a[j]; //Суммируем 15 подряд идущих чисел
}
Удачи!
---------
Факультет ПМ-ПУ - лучший в СПбГУ!
Ответ отправил: Олег Владимирович (статус: 6-ой класс)
Ответ отправлен: 12.11.2006, 21:08
Оценка за ответ: 5
Комментарий оценки:
Огромное спасибо за помощь


Вопрос № 62.308
Добрый День!
Пишу на C# (VS2005)
Вопрос такой:
В отдельном проекте у меня содержится описание стека (т.е. предполагается что он будет способен работать с данными любого типа). Одна из операций-просмотр-есть ли элемент с такими полями в стеке. но дело в том, что сравнивать мне надо не ссылки на объекты, а сами поля этих объектов.(а передается в качестве параметра object).
как мне сранить поля объектов, если стек не имеет представления о том, какой тип используется? Можно ли вообще использовать для данной задачи стек, или только hashtable?
Отправлен: 12.11.2006, 15:24
Вопрос задал: Mrblack (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Torsten
Здравствуйте, Mrblack!
Можно.
Для этого нужно создать интерфейс, который должны реализовывать все обьекты, и собственно говоря одной из функции интерфейса должно быть сравнение.

Например (С++ код)
IStackObject
{
virutal int Compare(IStackObject & first, IStackObject & second) = 0;
};
Все обьекты помещающиеся в твой stack должны реализовывать эту операцию по своему, то есть сравнивать так как тебе нужно, и возвращать 0 если равны, 1 если 1-ый больше и -1 если 2-ой больше.

А ты в твоем стеке при сравнении элементов вызываешь эту функцию, ну и если я правильно понял ловишь ситуацию когда поля равны, т.е. когда функция возратит 0.
---------
#define MAGIC_NUMBER 0xdeface
Ответ отправил: Torsten (статус: 2-ой класс)
Ответ отправлен: 12.11.2006, 16:02
Оценка за ответ: 4


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

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

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное