Вопрос № 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