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

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


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

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

Выпуск № 630
от 03.01.2007, 16:35

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


Вопрос № 68966: Уважаемые эксперты, не могу разобраться с сокетами, написал приложение, которое которое получает данные с HTTP сервера и всё норм работала, но потом понадобилась возможность работать через прокси, тогда я немного изменил код (в приложении), так вот о...
Вопрос № 69036: Здравствуйте.Какого из этих вы посоветовавали изучить для создания приложения в Visual C++ 2005:с помощью MFC class или Windows Forms. Спасибо. ...
Вопрос № 69039: Здравствуйте! Хочу задать вам вот такую задачку. Надо написать программу, в которой массивы используются для хранения имен, адресов и номеров телефонов 6 человек. В программе должна быть возможность ввода имени и последующего просмотра массива в ...

Вопрос № 68.966
Уважаемые эксперты, не могу разобраться с сокетами, написал приложение, которое которое получает данные с HTTP сервера и всё норм работала, но потом понадобилась возможность работать через прокси, тогда я немного изменил код (в приложении), так вот он почему-то не отправлялся, а вот сли перед отправкой поставить вывод чего-то через ShowMesage(), тогда нормально отправляется...
Подскажить, что делать, почему так получается?
Спасибо.

P.S. С++ Builder 6

Приложение:

Отправлен: 28.12.2006, 20:46
Вопрос задал: Azrr (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: ramok
Здравствуйте, Azrr!

У Вас ClientSocket1->Active всегда равен true.
я так понимаю что нужно после if вставить else

Приложение:

Ответ отправил: ramok (статус: 3-ий класс)
Ответ отправлен: 28.12.2006, 22:08


Вопрос № 69.036
Здравствуйте.Какого из этих вы посоветовавали изучить для создания приложения в Visual C++ 2005:с помощью MFC class или Windows Forms. Спасибо.
Отправлен: 29.12.2006, 13:28
Вопрос задал: Tebriz (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Sergey A. Wedensky
Здравствуйте, Tebriz!

Это совершенно разные вещи. Windows Forms - это .NET. И писать под .NET лучше на C# (ну или на VB), а не на C++ - куча лишнего сгенерированного кода. MFC - библиотека wrapper-классов над WinAPI. Вам решать что использовать. Если писать надо простенькие интерфейсы (или может под Vistу ;) - можно и .NET. Но если хотите лезть в .NET советую сначала почитать и решить нужно ли оно Вам. Это все-таки компилятор времени выполнения. Со всеми вытекающими последстваиями. Да и framework должен быть установлен чтобы запустить .NET-приложение. Лучше пока родную платформу использовть, imho.
Ответ отправил: Sergey A. Wedensky (статус: 10-ый класс)
Ответ отправлен: 29.12.2006, 13:43


Вопрос № 69.039
Здравствуйте!
Хочу задать вам вот такую задачку. Надо написать программу, в которой массивы используются для хранения имен, адресов и номеров телефонов 6 человек. В программе должна быть возможность ввода имени и последующего просмотра массива в поисках номера телефона соответствующего человека. Мне предложили такой код.
Однако, автор так и не смог мне объяснить, зачем он использовал указатели. Вы сможете?

Приложение:

Отправлен: 29.12.2006, 13:48
Вопрос задал: Waitekk (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: ramok
Здравствуйте, Waitekk!

Потому что таким образом обычно передаются массивы внутрь фунции. Думаю автор прекрассно это знает Ж;-)

Если вас там смущают указатели, то это
bool Enter(char *m_Name, char *m_Adress, char *m_Tel)
можно заменить на это
bool Enter(char m_Name[], char m_Adress[], char m_Tel[])

что в вашем случаем будет одно и тоже
Ответ отправил: ramok (статус: 3-ий класс)
Ответ отправлен: 29.12.2006, 15:58

Отвечает: PROD
Здравствуйте, Waitekk!
если речь идет об указателях в функции Enter, то их он использовал вобщем-то зря. они там просто не используются. я сейчас немогу проверить эту прогу - под рукой нет компилятора. но по моему их можно просто удалить
Ответ отправил: PROD (статус: 6-ой класс)
Ответ отправлен: 30.12.2006, 11:18

Отвечает: Ross
Здравствуйте, Waitekk!

В функцию Enter(char *,char *,char *) передаются указатели на начало области памяти, где хранятся данные (кстати вместо громоздкого &Name[max][0] можно написать просто Name[max] (по сути это одно и то же)), однако функия Enter их не использует, обращаясь напрямую к массивам данных. Чтобы эти указатели использовались функция Enter должна выглядеть так:
bool Enter(char *m_Name, char *m_Adress, char *m_Tel)
{
cout << "Enter name: "; cin >> m_Name;
cout << "Enter adress: "; cin >> m_Adress;
cout << "Enter tel: "; cin >> m_Tel;

return true;
}
В функции Search указатель уже используется при сравнении строк:
int Search(char *m_Tel)
{
int i = 0;

while (i < max)
{
if (strcmp(Tel[i], m_Tel) == 0)
{
return i;
break;
}
i++;
}

return -1;
}
Могу посоветовать книгу Кернигана и Ритчи "Язык программирования Си". В ней очень доступно описана работа с указателями.
Ответ отправил: Ross (статус: 3-ий класс)
Ответ отправлен: 30.12.2006, 14:17
Оценка за ответ: 5


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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.38 от 20.12.2006
Яндекс Rambler's Top100

В избранное