|
|
Ответов: 0
|
25-02-12 07:01
|
|
|
|
Ответов: 0
|
16-01-12 20:13
|
|
|
|
Ответов: 1
|
09-01-12 11:23
|
|
   Web - программирование
|
|
|
   Программирование под ОС
|
|
|
   Web - технологии
|
|
|
   Базы Данных
|
|
|
|
Программирование под ОС / C - C++ /
| |
| | |
Возможно вас заинтересует
|
|
Работаем с POP-сервером
Здраствуй, в этой статье я расскажу про способы получения e-mail писем и их прочтения.
Для начала давайте составим интерфейс будущей программы
Вот, что у меня вышло:
Нам необходимы компоненты - NMPOP (со вкладки FastNET, у меня носит name - NMPOP31); Три Edit (c name - UserEdit; PasswordEdit; HostEdit); Button (хотя в моем примере вместо Button используется - BitBtn1); и для отображения самих писем нам пригодиться компонент ListView (c именим ListView1), сделайте в нем две штуки Columns; первый "ОТ", второй "ТЕМА";
Первое событие, которое мы напишем будет событие, вызываемое кнопкой конэкт (у меня она просто имеет caption-OK):
if(UserEdit->Text==""){
ShowMessage("Вы не указали логин !");
}
if(PasswordEdit->Text==""){
ShowMessage("Вы не указали пароль!");
}
ListView1->Clear();
bConnected = false;
//Получаем сведения для конэкта:
NMPOP31->UserID = UserEdit->Text;
NMPOP31->Password = PasswordEdit->Text;
NMPOP31->Host = HostEdit->Text;
NMPOP31->Connect();
if(NMPOP31->Connected) //Конэкт удался, смотрим письма:
{
if(NMPOP31->MailCount > 0)
{
bSummary = true;
for(int i = 0; i < NMPOP31->MailCount; i++)
{
myId = i + 1;
NMPOP31->GetSummary(myId);
}
}
else
ShowMessage("Писем нет.");
NMPOP31->Disconnect();
}
Но, пока это лишь установка связи и проверка писем. Теперь мы получим и прочтем эти письма.
Нам необходимо создать вторую форму (Form2), где будет выводиться письмо для прочтения. Внешне форма должна выглядет примерно так:
Внимание на форме должны быть еще пару Label с именами: FromLabel (здесь отобразиться имя отправителя); SubjectLabel (здесь отобразиться тема письма). Кроме этого Memo в котором будет отбражаться само письмо, у меня носит имя - MailMemo. Еще размести кнопку Закрыть.
Но вернемся на основную форму (да, кстати незадь подклучить новую форму через include)и теперь рассписываем событие для NMPOP31->OnConnect:
bConnected = true;
И событие NMPOP31->OnRetrieveEnd:
if(bSummary)
{
TListItem *Temp = ListView1->Items->Add();
Temp->Caption = NMPOP31->Summary->From;
Temp->SubItems->Add(NMPOP31->Summary->Subject);
Temp->SubItems->Add(myId);
}
else
{
TForm2 *Temp = new TForm2(NULL);
Temp->MailMemo->Lines->Assign(NMPOP31->MailMessage->Body);
Temp->FromLabel->Caption = NMPOP31->MailMessage->From;
Temp->SubjectLabel->Caption = NMPOP31->MailMessage->Subject;
Temp->Show();
}
Здесь нет ничего архи-сложного. Написание программы подходит к завершающему этапу, теперь мы наконец разработаем событие сомого прочтения писем. Для прочтения письма пользователю придется два раза кликнуть по теме в ListView1. Итак, ListView1->OnDblClick :
NMPOP31->Connect();
if(ListView1->SelCount > 0)
{
bSummary = false;
NMPOP31->GetMailMessage(ListView1->Selected ->SubItems->Strings[1].ToIntDef(0));
}
NMPOP31->Disconnect();
И последнее, что мы сделаем - это опишим ошибку ауторизации, событие NMPOP31->OnAuthenticationFailed:
AnsiString NewPassword;
NewPassword = PasswordEdit->Text;
if(InputQuery("Неправильный пароль ", "Введите новый пароль :", NewPassword))
{
PasswordEdit->Text = NewPassword;
NMPOP31->Password = NewPassword;
Handled = true;
}
else
Handled = false;
И самое последнее - добавьте в начало кода следующие:
#pragma link "CGAUGES"
#pragma link "PERFGRAP"
#pragma link "CSPIN"
#pragma link "CCALENDR"
Вот и все, поздравляю с написанием своего почтовика, правда он только получает письма, но как устранить этот недостаток читайте в следующих статьях. Доделанный почтовик можно скачать с нашего сайта из раздела офис: pcnext.ru/soft/office.php. Если понадобится рабочий исходник - обращайтесь (lezh_victor@pcnext.ru) .
Последние статьи: Программирование под ОС / C - C++ /
| |
| | |
Сейчас я покажу как можно написать простой проигрыватель CD дисков. Для начала разместим все нужные компоненты на форме (см. рисунок)... подробнее
|
Кол. просмотров: общее - 5088 сегодня - 0
|
|
Продолжаю тему клонирования программ darkamstera на Delphi в С++Builder. В этой статье я покажу, как с помощью стандартных компонентов, можно создать свой браузер. Браузер будет на движке всеми-любимого InternetExplorer. Наш зверь сможет ходить по URL... подробнее
|
Кол. просмотров: общее - 3874 сегодня - 0
|
|
Выводим информацию о нашей родненькой системе. Для получения большей части информации мы будем использовать обширные функции, это не так сложно, как может показатся с первого взгляда и вообще код довольно простой и примитивный, так что покапавшись в нем пару минут - можно в легкостью разобраться что к чему, зачем и как... подробнее
|
Кол. просмотров: общее - 3676 сегодня - 0
|
|
Здраствуй, сечас я покажу, как в CBuilder можно создать свой простой FTP-клиент, похожий пример можно найти в документации C++Builder Developnets Guilde... подробнее
|
Кол. просмотров: общее - 4448 сегодня - 0
|
|
Здраствуй, в этой статье я расскажу про способы получения e-mail писем и их прочтения.
Для начала давайте составим интерфейс будущей программы Вот, что у меня вышло... подробнее
|
Кол. просмотров: общее - 3752 сегодня - 0
|
|
|
|