Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.09;
Скачать: CL | DM;

Вниз

idPOP3Server   Найти похожие ветки 

 
Scorp123 ©   (2005-06-12 16:33) [0]

Я пытаюсь в своей программе использовать компонент idPOP3Server.
Посмотрел в HELPE, естьть такое свойство у компонента, как наприер  Password или  Username.
Когда пытаюсь задать какоето значение свойству, например:

procedure TForm1.FormCreate(Sender: TObject);
begin
idPOP3Server1.Username := "scorp2005";
end;
end.


Компилятор мне говорит что такого свойства не существует: Undeclared identifier: "Username"

Что я делаю не правильно?
С уважением Владимир.


 
АНТИСпаммер   (2005-06-13 00:52) [1]

Это свойство отдельного потока при аутентификации. Оно есть наприме р при событии onCheckUser


 
Scorp123 ©   (2005-06-13 01:44) [2]

Я внимательно, прочитал о работе с компонентом TNPOP31.
Данный компонент входит в стандартный набор компонентов Delphi5.
Например чтобы получить письмо, необходим примерно следующий код.


NPOP31.DeleteOnRead := FAlse;//После прочтения письмо не удаляетя
NPOP31.Hosr := "mail.chat.ru";//Сервер POP3
NPOP31.Port := 110;//Задаём порт
NPOP31.UserID := "delphi5test";//Логин
NPOP31.Password := "erd88uy";//Пароль
NPOP31.Connect;//Подключаемся


То есть здесь всё предельно просто и ясно. К сожалению подобной информации о компоненте idPOP3Server мне найти не удалось.
Каким образом всё это осуществить с помощью idPOP3Server?

С уважением Владимир.


 
АНТИСпаммер   (2005-06-13 02:36) [3]

procedure TFMain.popCheckUser(AThread: TIdPeerThread;
 LThread: TIdPOP3ServerThread);
var user,pass,pro:string;
   i:integer;
begin
user:=LThread.Username;
//pass:=Crypt(LThread.Password);  исправить !!!
pass:=LThread.Password;
accounts.Open;
accounts.First;
for i:=1 to accounts.RecordCount do
 begin
   if  (accounts.FieldByName("Username").AsString=user) and (accounts.FieldByName("Password").AsString=pass) then
      begin
         if Accounts.FieldByName("Status").AsInteger=0 then   // если сервер свободен
           begin                                  // разрешаем аутентификацию
             Accounts.Edit;                       //  выставляем запрет на последующие аутентификации  и получение из Сети
             Accounts.FieldByName("Status").AsInteger:=2;
            //  сервер залочен клиентом
             Accounts.Post;
             pro:=accounts.FieldByName("id").AsString+IntToStr(2);                // при отключении выставляем 0
             AThread.Connection.Tag:=StrToint(pro);         // id файла
                                             // в событиях смотреть состояние через поиск в таблице по id
             LThread.State := Trans;
           end;
         if Accounts.FieldByName("Status").AsInteger=2 then  // если занят клиентом
           begin                                 // запрет аутентификации
           end;
         if Accounts.FieldByName("Status").AsInteger=1 then  //если залочено сервером (передавать mailbox is empty)
           begin
             // НЕ менять запись в таблице   при onCheck и onDisconnect
            // Accounts.Edit;
             pro:=accounts.FieldByName("id").AsString+IntToStr(1);                // при отключении выставляем 0
             AThread.Connection.Tag:=StrToint(pro);
   //          AThread.Connection.Tag:=accounts.FieldByName("id").AsString;
             LThread.State := Trans;     // ВЕРНУТЬ !!!!
           end;
      end;
   Accounts.Next;
 end;
Accounts.Close;
end;


 
Scorp123 ©   (2005-06-13 11:33) [4]

Спасибо за помощ, тоько ещё один вопрос,
accounts это что.



Страницы: 1 вся ветка

Текущий архив: 2005.10.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.046 c
2-1124528502
paurlin
2005-08-20 13:01
2005.10.09
Заполнение Grida


8-1116596438
anat
2005-05-20 17:40
2005.10.09
openGL печать


1-1127287764
CaptainAlex
2005-09-21 11:29
2005.10.09
Дочернее не MDI окно, как сделать?


14-1126375040
Knight
2005-09-10 21:57
2005.10.09
Где в Вашем городе продают П-270?


1-1127022509
Navi
2005-09-18 09:48
2005.10.09
RichEdit, WordWrap и Lines.Text