Class TNntpCli (unit NntpCli)

Inherits from

TComponent

Constructors


constructor Create(AOwner: TComponent);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


Functions

procedure Abort;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure ArticleByID(ID : String; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure ArticleByNumber(Number : Integer; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure Authenticate;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure BodyByID(ID : String; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure BodyByNumber(Number : Integer; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure Connect;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure Date;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

destructor Destroy;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure Group(NewsGroupName : String);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure HeadByID(ID : String; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure HeadByNumber(Number : Integer; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure Help(DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure Last;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure List(DestStream : TStream);

It is really Prior, but RFC-977 call it Last !

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure ListOverViewFmt(DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure NewGroups(When : TDateTime; GMTFLag : Boolean; Distributions : String; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure NewNews(When : TDateTime; GMTFLag : Boolean; NewsGroupName : String; Distributions : String; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure Next;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure Post(FromStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure Quit;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure StatByID(ID : String);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure StatByNumber(Number : Integer);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure XOver(Articles : String; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Articles can be: a) a single (positive) article number } { b) an article number followed by a dash } { c) two article numbers separated by a dash

procedure AuthenticateNext1;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure AuthenticateNext2;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure DateNext;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure GetArticle(RqType: TNntpRequest; ID : String; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure GetArticleByID(RqType: TNntpRequest; ID : String; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure GetArticleByNumber(RqType: TNntpRequest; Number : Integer; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure GetArticleLineNext;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure GetArticleNext;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure GroupNext;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure PostBlock;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure PostDone;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure PostNext;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure PostSendNext;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure QuitNext;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure SendRequest;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure StateChange(NewState : TNntpState);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure TriggerRequestDone(Error: Word);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure TriggerStateChange;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure WMNntpRequestDone(var msg: TMessage);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure WndProc(var MsgRec: TMessage);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure WSocketDataAvailable(Sender: TObject; Error: Word);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure WSocketDataSent(Sender: TObject; Error: Word);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure WSocketDnsLookupDone(Sender: TObject; Error: Word);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure WSocketSessionClosed(Sender: TObject; Error: Word);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

procedure WSocketSessionConnected(Sender: TObject; Error: Word);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Properties

property ArticleEstimated : Integer


property ArticleFirst : Integer


property ArticleID : String


property ArticleLast : Integer


property ArticleNumber : Integer


property ErrorMessage : String


property Host : String


property LastResponse : String


property PassWord : String


property PostingPermited : Boolean


property ServerDate : TDateTime


property State : TNntpState


property StatusCode : Integer


property UserName : String


property WSocket : TWSocket


property Handle : HWND


Events

event OnDataAvailable : TDataAvailable


event OnDisplay : TNntpDisplay


event OnMessageBegin : TNotifyEvent


event OnMessageEnd : TNotifyEvent


event OnMessageLine : TNotifyEvent


event OnRequestDone : TRequestDone


event OnSessionClosed : TSessionClosed


event OnSessionConnected : TSessionConnected


event OnStateChange : TNotifyEvent


Variables

FArticleEstimated : Integer;


FArticleFirst : Integer;


FArticleID : String;


FArticleLast : Integer;


FArticleNumber : Integer;


FDataStream : TStream;


FErrorMessage : String;


FHost : String;


FLastCmdResponse : String;


FLastResponse : String;


FNext : procedure of object;


FOnDataAvailable : TDataAvailable;


FOnDisplay : TNntpDisplay;


FOnMessageBegin : TNotifyEvent;


FOnMessageEnd : TNotifyEvent;


FOnMessageLine : TNotifyEvent;


FOnRequestDone : TRequestDone;


FOnSessionClosed : TSessionClosed;


FOnSessionConnected : TSessionConnected;


FOnStateChange : TNotifyEvent;


FPassWord : String;


FPostingPermited : Boolean;


FReceiveBuffer : array [0..NNTP_RCV_BUF_SIZE - 1] of char;


FReceiveLen : Integer;


FRequest : String;


FRequestDoneFlag : Boolean;


FRequestType : TNntpRequest;


FSendBuffer : array [0..NNTP_RCV_BUF_SIZE - 1] of char;


FSentFlag : Boolean;


FServerDate : TDateTime;


FState : TNntpState;


FStatusCode : Integer;


FUserName : String;


FWindowHandle : HWND;


FWSocket : TWSocket;



Constructors


constructor Create(AOwner: TComponent);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


Functions


procedure Abort;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure ArticleByID(ID : String; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure ArticleByNumber(Number : Integer; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure Authenticate;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure BodyByID(ID : String; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure BodyByNumber(Number : Integer; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure Connect;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure Date;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


destructor Destroy;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure Group(NewsGroupName : String);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure HeadByID(ID : String; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure HeadByNumber(Number : Integer; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure Help(DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure Last;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure List(DestStream : TStream);

It is really Prior, but RFC-977 call it Last !

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure ListOverViewFmt(DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure NewGroups(When : TDateTime; GMTFLag : Boolean; Distributions : String; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure NewNews(When : TDateTime; GMTFLag : Boolean; NewsGroupName : String; Distributions : String; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure Next;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure Post(FromStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure Quit;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure StatByID(ID : String);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure StatByNumber(Number : Integer);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure XOver(Articles : String; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} { Articles can be: a) a single (positive) article number } { b) an article number followed by a dash } { c) two article numbers separated by a dash


procedure AuthenticateNext1;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure AuthenticateNext2;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure DateNext;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure GetArticle(RqType: TNntpRequest; ID : String; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure GetArticleByID(RqType: TNntpRequest; ID : String; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure GetArticleByNumber(RqType: TNntpRequest; Number : Integer; DestStream : TStream);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure GetArticleLineNext;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure GetArticleNext;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure GroupNext;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure PostBlock;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure PostDone;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure PostNext;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure PostSendNext;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure QuitNext;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure SendRequest;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure StateChange(NewState : TNntpState);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure TriggerRequestDone(Error: Word);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure TriggerStateChange;

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure WMNntpRequestDone(var msg: TMessage);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure WndProc(var MsgRec: TMessage);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure WSocketDataAvailable(Sender: TObject; Error: Word);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure WSocketDataSent(Sender: TObject; Error: Word);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure WSocketDnsLookupDone(Sender: TObject; Error: Word);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure WSocketSessionClosed(Sender: TObject; Error: Word);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


procedure WSocketSessionConnected(Sender: TObject; Error: Word);

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


Properties


property ArticleEstimated : Integer


property ArticleFirst : Integer


property ArticleID : String


property ArticleLast : Integer


property ArticleNumber : Integer


property ErrorMessage : String


property Host : String


property LastResponse : String


property PassWord : String


property PostingPermited : Boolean


property ServerDate : TDateTime


property State : TNntpState


property StatusCode : Integer


property UserName : String


property WSocket : TWSocket


property Handle : HWND


Events


event OnDataAvailable : TDataAvailable


event OnDisplay : TNntpDisplay


event OnMessageBegin : TNotifyEvent


event OnMessageEnd : TNotifyEvent


event OnMessageLine : TNotifyEvent


event OnRequestDone : TRequestDone


event OnSessionClosed : TSessionClosed


event OnSessionConnected : TSessionConnected


event OnStateChange : TNotifyEvent


Variables


FArticleEstimated : Integer;


FArticleFirst : Integer;


FArticleID : String;


FArticleLast : Integer;


FArticleNumber : Integer;


FDataStream : TStream;


FErrorMessage : String;


FHost : String;


FLastCmdResponse : String;


FLastResponse : String;


FNext : procedure of object;


FOnDataAvailable : TDataAvailable;


FOnDisplay : TNntpDisplay;


FOnMessageBegin : TNotifyEvent;


FOnMessageEnd : TNotifyEvent;


FOnMessageLine : TNotifyEvent;


FOnRequestDone : TRequestDone;


FOnSessionClosed : TSessionClosed;


FOnSessionConnected : TSessionConnected;


FOnStateChange : TNotifyEvent;


FPassWord : String;


FPostingPermited : Boolean;


FReceiveBuffer : array [0..NNTP_RCV_BUF_SIZE - 1] of char;


FReceiveLen : Integer;


FRequest : String;


FRequestDoneFlag : Boolean;


FRequestType : TNntpRequest;


FSendBuffer : array [0..NNTP_RCV_BUF_SIZE - 1] of char;


FSentFlag : Boolean;


FServerDate : TDateTime;


FState : TNntpState;


FStatusCode : Integer;


FUserName : String;


FWindowHandle : HWND;


FWSocket : TWSocket;