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

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


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

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

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

Выпуск № 260
от 04.12.2005, 20:09

Администратор:Калашников О.А.
В рассылке:Подписчиков: 246, Экспертов: 38
В номере:Вопросов: 5, Ответов: 9


Вопрос № 30400: Уважаемые эксперты! Возник следующий вопрос. Я не так давно начал писать на С Builder. Многие хвалят С за компактность программ. Я написал одну и ту же программу на С и Delphi. На Delphi получилось 350 Кб, на С 450 Кб. При этом в С я зашил в файл и б...
Вопрос № 30416: Здравствуйте, эксперты! Задавал я уже вопрос. Но пришел только один ответ. И он ясности не внес ;-( На обработчике кнопки простой код (Windows XP, VC++ 6.0, MFC): CTempDlg::OnButtonTemp { ::ShellExecute(NULL,"open"...
Вопрос № 30456: Добрый день всем. Такой вопрос: пишу что то типа часа, пересылку сообшений сделал, тепер нужно сделать регистрацию и автоматизацию. Объясните как сделать с помошью винсокетов пересулку структур(имЯ пароль и т.д.) и CStringList. Дайте также ссылки...
Вопрос № 30457: Не подскажите, есть ли в сети какие-нидь русские книжки по CORBA? На продажу кучу видел, а на скачку найти не удалось(. Просто нужно быстро разбраться, а с иностранными буками раза в два-три дольше провозиться придется......
Вопрос № 30473: Здравствуйте, уважаемые эксперты. Как можно работать с COM-портом на VC++? Если можно, то поподробнее, с примерами и ссылками на статьи. У меня что-то вроде доклада на эту тему, нужно разобраться....

Вопрос № 30.400
Уважаемые эксперты! Возник следующий вопрос. Я не так давно начал писать на С Builder. Многие хвалят С за компактность программ. Я написал одну и ту же программу на С и Delphi. На Delphi получилось 350 Кб, на С 450 Кб. При этом в С я зашил в файл и библиотеки, т.к. Delphi их сам зашивает. Подскажите, как уменьшить объем программы не ухудшив ее работоспособность при переносе на другой комп. Спасибо.
Отправлен: 28.11.2005, 20:09
Вопрос задал: ESSER (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Jadd
Здравствуйте, ESSER!
Не корректно сравнивать возможности языка С/С++ на примере Билдера. Возьми, к примеру, досовские варианты Borland Pascal и Borland C++ 3.1 и скравни выходные файлы. Или, к примеру, Microsoft C++. У билловских компиллеров хороший оптимизатор кода. Но тут сравнение уже пойдет сред, а не языков. Так что вопрос некорректен. Отключи в Билдере все ненужные компоненты и модули и все.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Специалист)
Отправлен: 28.11.2005, 22:14

Отвечает: RedDevil
Здравствуйте, ESSER!
Именно по этому на С Builder никто не пишет программы.
Ответ отправил: RedDevil (статус: 2-ой класс)
Отправлен: 29.11.2005, 07:26

Отвечает: Zitz
Здравствуйте, ESSER!

Ну Вы даете!!! Этож кто сказал что на Билдер С программы меньше весят чем на Делфи???
Очевидно Вы не так поняли! Наверное сравнивались С Билдер и Вижел Байсик, или Делфи и Вижел С...
Хотя я уже давно не писал на Билдере, но в мое время было так: Билдер не только уступал Делфи по объему программы, но и по быстродействию!!!
Хотя говорят компания Билдер начала отдельно заниматься Билдер С... То в таком случае просто надо добыть его новую версию.
Ответ отправил: Zitz (статус: 1-ый класс)
Отправлен: 29.11.2005, 12:44

Отвечает: Ataman N. N.
Здравствуйте, ESSER!
При использовании С Builder, как вы сами и заметели, выигрыша в размере окончательного кода нет. Используйте Visual C, тогда вы точно получите маленькие программы.
Ответ отправил: Ataman N. N. (статус: 4-ый класс)
Отправлен: 29.11.2005, 17:31


Вопрос № 30.416
Здравствуйте, эксперты!
Задавал я уже вопрос. Но пришел только один ответ. И он ясности не внес ;-(
На обработчике кнопки простой код (Windows XP, VC++ 6.0, MFC):

CTempDlg::OnButtonTemp
{
::ShellExecute(NULL,"open",(LPTSTR)"c:\distr\Nero6300.exe",NULL,NULL,SW_SHOWNORMAL);
Sleep(20000); // ждем 20 секунд
}
Сначала Неро распаковывается(идет окно с прогрессбаром), а потом останавливается и ждет пока наши 20 секунд не пройдут. Я так понимаю Неро - это новый процесс с потоками, живущими своей жизнью. Чего ей от нашего процесса надо? Пытался запускать ShellExecute в новом рабочем потоке, но результат тот же. Как это обойти?
Отправлен: 29.11.2005, 00:30
Вопрос задал: gvozdok (статус: 5-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Zitz
Здравствуйте, gvozdok!

Заделал "простой код"... Все нормально вроде... и Неро живет своей жизнью... Я завершал его до окончания слипа... Зделал слип меньше - форма оживала раньше окончания распаковщика... Закрыл форму раньше распаковщика - никак на него не повлияло... Поставил МессаджБокс вместо слипа - все равно робит...
Я даже использовал WinExec вместо Шелл - никакой разницы...
Правда у меня Винда 2000... Может в этом дело?
Ответ отправил: Zitz (статус: 1-ый класс)
Отправлен: 29.11.2005, 18:08
Оценка за ответ: 5
Комментарий оценки:
да дело в том что в 2000 все пашет, а в ХП нет. Спасибо!

Отвечает: estiGi
Здравствуйте, gvozdok!
Возможно, функция как то связывает себя и свой поток с запущеным приложением. Надо копаться в МСДН. Попробуй использовать ShellExecuteEx и закрывать сразу возвращенный хендл процесса - CloseHandle (hProcess)
Ответ отправил: estiGi (статус: 8-ой класс)
Отправлен: 29.11.2005, 18:56


Вопрос № 30.456
Добрый день всем.
Такой вопрос: пишу что то типа часа, пересылку сообшений сделал, тепер нужно сделать регистрацию и автоматизацию. Объясните как сделать с помошью винсокетов пересулку структур(имЯ пароль и т.д.) и CStringList. Дайте также ссылки плиз на описание классов CArchive и CSocketFile. Лучше с примерами. Большое спасибо.
Отправлен: 29.11.2005, 15:29
Вопрос задал: Arh (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Zitz
Здравствуйте, Arh!

Дык ему же вроде все равно что пересылать...
Надо просто условиться что первыми сообщениями будут имя и пароль (как при дозвоне - неправильно отрубаем)
А чтобы пересылать разного рода структуры, так нужно чтобы на том конце знали что сейчас будет пересылаться структура и готовиться к ее принятию.
Можно например перед посылкой структуры послать директиву (мол структура), а после заверщения передачи - (конец структуры), тоже можно и с паролем заделать... На другом конце естественно нужно распознавать директивы...
Ответ отправил: Zitz (статус: 1-ый класс)
Отправлен: 29.11.2005, 18:34


Вопрос № 30.457
Не подскажите, есть ли в сети какие-нидь русские книжки по CORBA? На продажу кучу видел, а на скачку найти не удалось(.
Просто нужно быстро разбраться, а с иностранными буками раза в два-три дольше провозиться придется...
Отправлен: 29.11.2005, 15:40
Вопрос задал: koshi (статус: 2-ой класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Jadd
Здравствуйте, koshi!
Не уверено, но, по-моему, на http://anatolix.naumen.ru/oldsite/books.htm или http://anatolix.naumen.ru/. Так же глянь на forum.netz.ru . Удачи.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Специалист)
Отправлен: 29.11.2005, 15:53


Вопрос № 30.473
Здравствуйте, уважаемые эксперты.
Как можно работать с COM-портом на VC++? Если можно, то поподробнее, с примерами и ссылками на статьи. У меня что-то вроде доклада на эту тему, нужно разобраться.
Отправлен: 29.11.2005, 20:05
Вопрос задал: Palpatin (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Zitz
Здравствуйте, Palpatin!

Используй следующие функции:
BuildCommDCB, BuildCommDCBAndTimeouts, ClearCommBreak, ClearCommError,
CommConfigDialog, EscapeCommFunction, GetCommConfig, GetCommMask,
GetCommModemStatus, GetCommProperties, GetCommState, GetCommTimeouts,
GetDefaultCommConfig, PurgeComm, SetCommBreak, SetCommConfig,
SetCommMask, SetCommState, SetCommTimeouts, SetDefaultCommConfig
SetupComm, TransmitCommChar, WaitCommEvent

Создать можно так (первый параметр в функциях наверху):
hCom = CreateFile( "COM1",
GENERIC_READ | GENERIC_WRITE,
0, // exclusive access
NULL, // no security attributes
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
NULL
);

Подробности смотри в МСДН
Ответ отправил: Zitz (статус: 1-ый класс)
Отправлен: 30.11.2005, 13:05


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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
Архив рассылки
Отписаться
Вспомнить пароль

В избранное