В нашей
рассылке вы узнаете о новых статьях, программах, и темах на форуме. Рассылка
выходит один раз в неделю, каждый четверг.
Подписаться на рассылку можно в этой форме:
Последний выпуск
И снова я,
Hallo
, рад приветствовать вас в очередном выпуске "Клуба
программистов", на этот раз уже по счету в номере 18. За время моего
отсутствия в
Конкурсе
программистов
уже началось голосование. Прием работ еще продолжается,
но голосовать вы можете уже сейчас. Сегодня будут добавлены работы еще
троих участников конкурса.
Ну, а сегодня в
выпуске для вас статья о том, как в
Delphi
7 сделать почтовый клиент, а также обзор новых
статей в клубе. Ну и анекдоты в разделе "Немного юмора". Всем удачи! До
новых встреч!
В этой статье я поэтапно
объясню, как создать почтовик средствами Delphi: подключение к почтовому
серверу, получение и обработка почты, завершение соединения.
Для
работы с сетью, в Delphi используются Indy компоненты, которые вы можете
найти на нескольких вкладках среды разработки. Найдите на вкладке Indy
Clients - компонент IdPOP3, на вкладке Indy Misc - компонент IdMessage. С
помощью компонента IdPOP3 мы сможем осуществить подключение к почтовому
серверу по протоколу POP3 и получить необходимое нам кол-во сообщений.
Компонент IdMessage будет использоваться, как буфер для получаемого
письма. Ещё нам потребуется memo для отображения текста письма, и кнопка
для загрузки очередного сообщения.
Получения одного письма:
procedure TForm1.Button1Click(Sender:
TObject);
begin
POP3.Host:='mail.58r.ru'; // адрес почтового
сервера
POP3.Port:=110; // порт по которому
будет осуществляться подключение
POP3.Username:='test+58r.ru'; // Логин
пользователя
POP3.Password:='12345666'; //
пароль пользователя
IdMessage.Clear; //
очистка буфера для сообщения
POP3.Connect; //
подключение по протоколу POP3, по настройкам в компоненте IdPOP3, с именем
POP3
Memo1.Clear; // очистка компонента memo
для отображения текста
письма.
POP3.Retrieve(1,IdMessage); //
получение одного сообщения
Memo1.Lines.AddStrings(IdMessage.Body); //
передача сообщения из компонента IdMessage в memo
POP3.Delete(1); // удаление с сервера,
полученного сообщения
POP3.Disconnect; //
разрыв связи
end;
Обычно требуется загрузить
несколько сообщений, все что есть на сервере. Я решил ограничиться 10
письмами, чтобы не усложнять код. Получаемые сообщения сохраняются в той
же папке что и почтовая программа.
Получение 10 писем:
procedure TForm1.Button2Click(Sender:
TObject);
label f;
var
mailcicl:integer; // счётчик получаемых писем
addr:string; // папка в которой
будут сохраняться получаемые письма
begin
POP3.Host:='mail.58r.ru'; // адрес почтового
сервера
POP3.Port:=110; // порт по которому будет
осуществляться подключение
POP3.Username:='test+58r.ru';
// Логин пользователя
POP3.Password:='12345666'; //
пароль пользователя
addr:=ExtractFilePath(Application.ExeName); // получения адреса папки, в
которой находиться наша программа
POP3.Connect; //
подключение к серверу
for mailcicl:=1 to 10 do // цикл
получения писем
begin
if
POP3.CheckMessages<1 then goto f ; // Если писем нет, то выйти и цикла
IdMessage.Clear; // очистка буфера для сообщения
Memo1.Clear; // очистка компонента memo для отображения
текста письма.
POP3.Retrieve(1,IdMessage); // получение
одного сообщения
Memo1.Lines.AddStrings(IdMessage.Body);
// передача сообщения из компонента IdMessage в memo
Memo1.Lines.SaveToFile(addr+inttostr(mailcicl)+'.txt'); // сохранение
письма в папке, где находится наша программа
POP3.Delete(mailcicl); // удаление письма на сервере
end;
f: // метка выхода из цикла
POP3.Disconnect; // разрыв соединения с сервером end;
Каждое сообщения имеет атрибуты - это майл отправителя, тема
сообщения, важность и другие элементы. Изучите компонент IdMessage, чтобы
знать все возможные атрибуты.
..
Еще в самом детстве, когда я
начал изучать Паскаль, я запомнил цитату из детской книжки примерно такого
содержания: "Паскаль - универсальный язык программирования подходящий для
решения самых различных задач". Когда человек впервые сталкивается с
программированием на Паскале, одна из первых его мыслей после прочтения
таких строк будет "А в чем же заключается его универсальность?".
..
ОЗдравствуйте. В этом
учебники я напишу, как обращаться с Windows’ом. Учебник это, по сути,
набор статей по работе с определёнными разделами Windows.
..
В этой статье мне бы
хотелось поделиться опытом создания wap-страниц и вообще wap-сайта Для
того, чтобы сайт можно было просматривать в мобильном браузере не всегда
подойдет формат *, ведь совсем малая часть мобильных телефонов его
отображает. Но все равно знаний языка HTML вам хватит. Формат
поддерживаемый мобильными браузерами - это *.wml .
..
Для работы с сетью, в Delphi
используются Indy компоненты, которые вы можете найти на нескольких
вкладках среды разработки. Найдите на вкладке Indy Clients - компонент
IdPOP3, на вкладке Indy Misc - компонент IdMessage. С помощью компонента
IdPOP3 мы сможем осуществить подключение к почтовому серверу по протоколу
POP3
...
Звонок в сервисную службу.
Женщина из Общества Слепых и Инвалидов требовала "Драйвер для
32х-разрядного доступа к кэшу процессора под DOS".
Я выказал
недоумение и несколько смутных догадок о том, что ей может быть нужно.
Все предположения она отмела и прямо меня спросила -понимаю ли я
что-нибудь в компьютерах.
Пришлось ей честно ответить - "...не
настолько..."
***
Клиентка:
- А что
такое Pointing Stick?
Инженер уточняет, обращаясь к коллегам, плохо
прикрыв трубку:
- Pointing Stick - это такой клитор-кнопка между
клавиш?
В трубку:
- Это между кнопок такой, э-э-э...
- А-а-а,
я поняла, это такая штучка, которая вызывает у вас всякие
ассоциации?
***
- Где купить батарейки для HP
Omnibook? На днях купил у вас самый крутой ноутбук, так батарейки уже
сели!
- Вы "батарейки" эти не выбросили? Их заряжать можно...
- Чо,
в натуре? Как мобилу?
***
Звонит начальница какого-то
отдела:
- Мы только что купили у вас LaserJet 1200. Так в отделе все
его от себя отодвигают - лазера боятся. Чем нам таким его отгородить,
чтобы лазером случайно не полоснул?
***
Телефонный звонок провайдеру:
- У меня опять проблема.
- Что, не можете войти?
- Войти
удалось, но сосать не хочет!
- Хм... Мы не виноваты - у нас канал
широкий...
- При чем здесь канал?! С кем я говорю? Это телефон
доверия?
***
Мне сказали, что использовать
имя моей кошки в качестве пароля для доступа в интернет - плохой тон. Не
буду менять!
Я так привык к qZ!813_gg1...
***
Приходит инетчик с работы, а на
него жена набрасывается с кулаками.
- Негодяй! Я столько лет тебя
кормила, поила, ублажала, а ты, паразит, мне изменяешь!
- ?!
- Не
прикидывайся! Звонил Витька и спрашивал про твою Аську!
***
Спрашивает дочка у мамы:
- Мам, а кто этот волосатый дядя с красными глазками?
- Это твой
папа, доченька.
- А он что, заболел?
- Да нет, он к интернету
подключился.
***
Идут по улице два
мужика-пpогpаммеpа.
Пеpвый мужик говоpит втоpому: "Слышь, а говоpят,
что пpогpаммное
обеспечение для нового амеpиканского
самолета-невидимки "Стелс-2"
будет pазpабатывать Майкpософт!".
Втоpой: "Скоpее всего, это связано с тем, что новый самолет должен
уметь неподвижно зависать в воздухе.".
Если у вас есть
желание поделиться своим опытом с читателями, вы являетесь обладателем
ценных, интересных статей
или авторских программ, а
может
вы просто хотите высказать свое мнение или замечание о
рассылке, просто
напишите
мне
. Я постараюсь уделить внимание каждому. А "
Клуб программистов
" всегда рад
приветствовать в своих рядах новых пользователей.