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

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


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


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

Выпуск № 065
от 25.08.2002, 23:30

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


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

Yuri Gordienko
Статус: Начальный
Общий рейтинг: 113.63
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 112.04
[Подробней >>]
Pablo
Статус: Профессиональный
Общий рейтинг: 130.87
URL: Моя страничка
[Подробней >>]


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

Вопрос № 173. Привет всем программерам и не только!(просто хорошим людям :-) Надо написать приложение клиент-серве... (ответов: 1)
Вопрос № 174. Привет всем программерам и не только!(просто хорошим людям :-) Надо написать приложение клиент-серве... (ответов: 1)
Вопрос № 175. Привет... Приведите приер как что-нибудь нарисовать на, скажем, CImage в MSVC++ 6.0 ? Что-то не п... (ответов: 1)
Вопрос № 176. > Отвечает Pablo: > В Билдере есть компоеннеты для обработки эксельных документов так ты эти компоне... (ответов: 1)

Вопросов: 4, ответов: 4


 Вопрос № 173

Привет всем программерам и не только!(просто хорошим людям :-)
Надо написать приложение клиент-сервер, надо писать и то, и другое. Сервер должен принимать от клиентов инфу ф-цией recv, а клиент - слать send'ом. Так вот с клиентом все ясно, а с серваком проблемы.
Я не знаю, как организовать для сервера ожидание клиента. По идее, там какие-то сообщения Wind'ы и т.д... Так вот, как мне сделать так, чтобы сервак ждал нового пользователя и запихивал дальнейшую работу с ним в отдельный поток? (и в основном потоке опять ожидал нового пользователя)
Если у кого есть идеи... А вообще киньте в меня ссылками про это дело(для новичков в этом) или (идеально!) работающий примерчик на _чистом_ API. :-)
Всем большое спасибо за внимание :-)
byte



Вопрос отправлен: 22.08.2002, 10:15
Отправитель: byte

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

Отвечает Yuri Gordienko

Доброе время суток, byte!
Вообще все это делается через сокеты. Для WinApi это файл
winsock2.h. Но писать напрямую через него, по-моему, сильно геморройное дело. В инете есть масса свободных библиотек для работы через этот интерфейс, - включай поисковик и ищи.


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


 Вопрос № 174

Привет всем программерам и не только!(просто хорошим людям :-)
Надо написать приложение клиент-сервер, надо писать и то, и другое. Сервер должен принимать от клиентов инфу ф-цией recv, а клиент - слать send'ом. Так вот с клиентом все ясно, а с серваком проблемы.
Я не знаю, как организовать для сервера ожидание клиента. По идее, там какие-то сообщения Wind'ы и т.д... Так вот, как мне сделать так, чтобы сервак ждал нового пользователя и запихивал дальнейшую работу с ним в отдельный поток? (и в основном потоке опять ожидал нового пользователя)
Если у кого есть идеи... А вообще киньте в меня ссылками про это дело(для новичков в этом) или (идеально!) работающий примерчик на _чистом_ API. :-)
Всем большое спасибо за внимание :-)
byte



Вопрос отправлен: 22.08.2002, 10:14
Отправитель: byte

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

Отвечает vitya

Добрый день, byte!
пример это многовато будет:).
Итак тебе нужно создать прослушивающий сокет (socket(), bind(), listen()).
Далее запускаешь поток, который реализует следующий код
while (bProcess)
//или как-то иначе регулируешь сколько твоему серверу работать
{
//тут заполнение структур всяких
if (select(...)) //если есть клиентский сокет
{
SOCKET s = accept(...); //получить его
//действия с полученным сокетом
shutdown(s, SD_BOTH); //убиваем сокет
closesocket(s);
}
}
вот и весь каркас.

Ответ отправлен: 22.08.2002, 10:48
Отправитель: vitya


 Вопрос № 175

Привет...
Приведите приер как что-нибудь нарисовать на, скажем, CImage в MSVC++ 6.0 ? Что-то не получается...
Пришлите исходничек, а?



Вопрос отправлен: 22.08.2002, 16:59
Отправитель: baldr (baldr@pisem.net)

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

Отвечает vitya

Приветствую Вас, baldr!
а кто таков? В МФЦ такого нету. А если библиотека какая, скажи какая, там посмотрим. Но скорее всего (по названию) надо будет получить из него массив битов (bitmap) и там по простеньким формулкам ставить или снимать битики/байтики.

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


 Вопрос № 176

> Отвечает Pablo:
> В Билдере есть компоеннеты для обработки эксельных документов так ты эти компоненты и используй, только
> учти что доступ к свойствам этих компонент нужно произодить через OLE-интерфейс типа IDispatch. Если в тех
> компонентах есть экспорт в разные форматы баз данных, то ты можешь экспортировать этот документ, а если нет
> то можно эспортировать простым перегоном данных из эклелевского фармата в базу данныз, т.е. чтением
> значения из ячейки экселя и записью в ячейку базы данных.
в разделе "серверы" я нашел Хсельные компоненты, а как их использовать-то? в свойствах ExcelQueryTable нет имени базы данных, загружаемого файла. Как читать Хсельные данные?



Вопрос отправлен: 22.08.2002, 22:48
Отправитель: вова

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

Отвечает Pablo

Доброе время суток, вова!
Чтож да в Билдере нету хелпа по этому компоненту, но в общем случае тебе нужно узнать свойства и методы Экселных компонентов не в качастве VCL-ного класса, а тех которые сам Excel использет если программирвоать на VBA. Воти их помощью ты и сможешь получить доступ к ячейкам Экселя. Приведлу пример как запустить COM-класс Excel.Application:
Variant V = Variant::CreateObject("Excel.Application");
V.OlePropertySet("Visible", true);
ShowMessage("Excel has been launched and now is visible");
V.OleFunction("Quit");
V = Unassigned;
Здесь сначала содается класс Excel.Application, а затем его свойство Visible устанавливается в состояние true. Думаю, что вот также и с другими COM-классами.

Ответ отправлен: 23.08.2002, 22:07
Отправитель: Pablo



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

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

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




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

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

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

В избранное