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

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


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

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

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

Выпуск № 267
от 11.12.2005, 21:33

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


Вопрос № 30887: Здравствуйте! Есть ли в С++ Builder 6 тип данных аналогичный типу variant в Delphi или хотя бы какой-нибудь похожий на него??? ...
Вопрос № 30897: Всем доброго времени суток. Написал программу котораю делает много полезных вещей. Работает замечательно. Но вот полез в реестр (по другому случаю).И увидел что чуть ли не каждая функция некоторых классов имеет запись в реестре. Если по удалять, ...
Вопрос № 30910: Здоровья, Эксперты! Пишу на Вижел С++ 6 про под МФЦ, операционная система Винда 2000... Вопрос: Как можно просто и не навязчиво поменять язык приложения, т.е. все каптиноны и тултипы всех менюшек и тулбаров??? Еще вопрос:<br...
Вопрос № 30930: ЗДравствуйте уважаемые эсмперты... Не подскажите, есть ли в сети рессурсы где можно найти ebook или набор статей по так сказать Visual Studio IDE in Depth, т.е где описано, как происходят процессы компиляции и линковки, что при этом происходит. Ч...

Вопрос № 30.887
Здравствуйте! Есть ли в С++ Builder 6 тип данных аналогичный типу variant в Delphi или
хотя бы какой-нибудь похожий на него???
Отправлен: 06.12.2005, 09:32
Вопрос задал: Rewer8 (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Rewer8!

Да есть. Он так и называется Variant =))
Ответ отправил: Лучников Юрий Владимирович (статус: 3-ий класс)
Отправлен: 06.12.2005, 14:52

Отвечает: _DM_
Здравствуйте, Rewer8!
Как-то писал ДЛЛ и там использовал тип VARIANT.
Buildera под рукой нет не могу проверить.
Ответ отправил: _DM_ (статус: 3-ий класс)
Отправлен: 06.12.2005, 15:06

Отвечает: Ataman N. N.
Здравствуйте, Rewer8!
Есть - тип void.
Попробуйте его.
Ответ отправил: Ataman N. N. (статус: 3-ий класс)
Отправлен: 06.12.2005, 17:14


Вопрос № 30.897
Всем доброго времени суток.
Написал программу котораю делает много полезных вещей. Работает замечательно. Но вот полез в реестр (по другому случаю).И увидел что чуть ли не каждая функция некоторых классов имеет запись в реестре. Если по удалять, по после одного запуска опять появится. В частности относится к классам работы с СОМ портом и работой с базой данных. Всё писал ручками и никаких записей в реестр не вставлял. Написано на VC++ 6 с использованием MFC. Где порыть и что поисправлять что бы такого не наблюдалась. Не нравится мне такое.
Отправлен: 06.12.2005, 11:14
Вопрос задал: Максим Витальевич Гаврилов (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: _DM_
Здравствуйте, Максим Витальевич Гаврилов!
Вы ничего с этим не сделаете, таков механиз работы СОМ приложений, каждый раз когда в системе появляется СОМ ресурс создается его уникальный ИДД, по видимому именно его вы и наблюдали в реестре, если конечно я правильно понял обрисованную проблему.
Какие именно записи в реестре?
Ответ отправил: _DM_ (статус: 3-ий класс)
Отправлен: 06.12.2005, 14:57
Оценка за ответ: 4
Комментарий оценки:
Там появляется запись типа <Название класса>::<Название функции класса>@<что то похожее на uuid только симвлов меньше>


Вопрос № 30.910
Здоровья, Эксперты!

Пишу на Вижел С++ 6 про под МФЦ, операционная система Винда 2000...

Вопрос:
Как можно просто и не навязчиво поменять язык приложения, т.е. все каптиноны и тултипы всех менюшек и тулбаров???
Еще вопрос:
Как использовать СтрингТайблы в ресурсах? Всмысле зачем они нужны?
Вот что сказано в МСДН:
String tables make it easy to localize your application into different languages.
У любого ресурса есть проперти = ленгвидж, как это использовать? Или это совсем бесполезная фича?
Отправлен: 06.12.2005, 13:36
Вопрос задал: Zitz (статус: 2-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: _DM_
Здравствуйте, Zitz!
Точно не отвечу, но помню что когда-то читал, есть возможность размещать нужные вам строки в стринг тайбл, например задаете ИД строки таким шифром, 00 - анг, 01 - рус, 02 - украин, и тд; затем 000 - подпись первого ресурса, 001 - второго 002 - ...
А затем получаете строки по ИД если префикс 00 (напр 00106), то это надпись на английском 106 компоненты.
Думаю имеется ввиду это.
Ответ отправил: _DM_ (статус: 3-ий класс)
Отправлен: 06.12.2005, 14:53

Отвечает: estiGi
Здравствуйте, Zitz!
Просто и ненавязчиво ты язык не поменяешь, если ты не позаботился об этом заранее. Нужно брать каждый контрол и менять ему капшн, и, если они у тебя намертво зашиты, то геморроя не оберешься.
Строковые таблицы можно использовать по разному. Но суть у них одна - хранить в себе строки :)
Ты можешь создать несколько длл, по одной для каждого языка, и в каждой длл у тебя будет только строковая таблица. Таким образом, можно менять язык динамически, нужно только загружать строку из нужной длл. Нпаример -

char str [150];
if (m_lang == lang_russian) {
LoadString (m_moduleRus, IDS_MAIN_CAPTION, str, 150);
}
else if (m_lang == lang_english) {
LoadString (m_moduleEng, IDS_MAIN_CAPTION, str, 150);
}
SetwindowText (str);

где
m_moduleRus - хендл длл с русской строковой таблицей
m_moduleEng - хендл длл с англ. строковой таблицей
IDS_MAIN_CAPTION - идентификатор строки. Если ИД одинаков для обоих таблиц, то ты будешь грузить нужный тебе язык по одному ИД.
Можешь почитать еще здесь:
http://rsdn.ru/article/ui/multilang.xml
http://rsdn.ru/article/mag/200503/SoftwareLocalization.xml
http://rsdn.ru/article/mfc/dynamiclang.xml

Я языковое свойство ресурсов указывает, как ему отображать текст на себе, кодировка другими словами. Напрмиер, если ты сделаешь диалогу язык English и напишешь на нем русский текст, то может такое случиться, что текст будет выводиться вопросиками. Есть ли еще какое-то значения этого свойства, я не знаю.
Ответ отправил: estiGi (статус: 9-ый класс)
Отправлен: 06.12.2005, 15:14
Оценка за ответ: 5


Вопрос № 30.930
ЗДравствуйте уважаемые эсмперты...
Не подскажите, есть ли в сети рессурсы где можно найти ebook или набор статей по так сказать Visual Studio IDE in Depth, т.е где описано, как происходят процессы компиляции и линковки, что при этом происходит. Что создается и т.д. как формируются obj файлы и в этом роде, на низком уровне... или же предолжите просто ковырять MSDN?
И еще, может кто видел в сети электроную версию MSDN журнала на Русском... (на microsoft.com только отрывки) или можно на englishe/
Отправлен: 06.12.2005, 19:13
Вопрос задал: koshi (статус: 2-ой класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лучников Юрий Владимирович
Здравствуйте, koshi!

По поводу MSDN есть замечательный ресурс rsdn.ru

По поводу компиляторов, советую почитать очень неплохой материал:
Разбор выражений. Компиляторы и интерпретаторы.
http://algolist.manual.ru/syntax/index.php

Надеюсь что помог;)
Ответ отправил: Лучников Юрий Владимирович (статус: 3-ий класс)
Отправлен: 06.12.2005, 19:30


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

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

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

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

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


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


© 2001-2005, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100 hotlog_js="1.0"; hotlog_r=""+Math.random()+"&s=314124&im=101&r="+escape(document.referrer)+"&pg="+ escape(window.location.href); document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N"); hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N") hotlog_js="1.2"; hotlog_r+="&wh="+screen.width+'x'+screen.height+"&px="+ (((navigator.appName.substring(0,3)=="Mic"))? screen.colorDepth:screen.pixelDepth) hotlog_js="1.3" hotlog_r+="&js="+hotlog_js; document.write("HotLog")

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.cplus
Архив рассылки
Отписаться
Вспомнить пароль

В избранное