![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
idPOP3Server [D7, Win2k]
Scorp123 © (2005-06-12 16:33:00)Я пытаюсь в своей программе использовать компонент idPOP3Server.
Посмотрел в HELPE, естьть такое свойство у компонента, как наприер Password или Username.
Когда пытаюсь задать какоето значение свойству, например:
procedure TForm1.FormCreate(Sender: TObject);
begin
idPOP3Server1.Username := 'scorp2005';
end;
end.
Компилятор мне говорит что такого свойства не существует: Undeclared identifier: 'Username'
Что я делаю не правильно?
С уважением Владимир.
Scorp123 (2005-06-13 11:33:00) [1]Спасибо за помощ, тоько ещё один вопрос,
accounts это что.
АНТИСпаммер (2005-06-13 02:36:00) [2]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 01:44:00) [3]Я внимательно, прочитал о работе с компонентом 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 00:52:00) [4]Это свойство отдельного потока при аутентификации. Оно есть наприме р при событии onCheckUser