亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? idnntp.pas

?? delphi indy9.0.18組件包
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
begin
  SendCmd('NEWGROUPS ' + ConvertDateTimeDist(ADate, AGMT, ADistributions), 231);
  Capture(AList);
end;

procedure TIdNNTP.GetNewNewsList(const ANewsgroups: string; const ADate: TDateTime;
 const AGMT: boolean; ADistributions: string; AList: TStrings);
begin
  SendCmd('NEWNEWS ' + ANewsgroups + ' ' + ConvertDateTimeDist(ADate, AGMT, ADistributions), 230);
  Capture(AList);
end;

function TIdNNTP.ConvertDateTimeDist(ADate: TDateTime; AGMT: boolean;
 const ADistributions: string): string;
begin
  Result := FormatDateTime('yymmdd hhnnss', ADate);
  if AGMT then begin
    Result:= Result + ' GMT';
  end;
  if Length(ADistributions) > 0 then begin
    Result := ' <' + ADistributions + '>';
  end;
end;

(*
3.1.  The ARTICLE, BODY, HEAD, and STAT commands

   There are two forms to the ARTICLE command (and the related BODY,
   HEAD, and STAT commands), each using a different method of specifying
   which article is to be retrieved.  When the ARTICLE command is
   followed by a message-id in angle brackets ("<" and ">"), the first
   form of the command is used; when a numeric parameter or no parameter
   is supplied, the second form is invoked.

   The text of the article is returned as a textual response, as
   described earlier in this document.

   The HEAD and BODY commands are identical to the ARTICLE command
   except that they respectively return only the header lines or text
   body of the article.

   The STAT command is similar to the ARTICLE command except that no
   text is returned.  When selecting by message number within a group,
   the STAT command serves to set the current article pointer without
   sending text. The returned acknowledgement response will contain the
   message-id, which may be of some value.  Using the STAT command to
   select by message-id is valid but of questionable value, since a
   selection by message-id does NOT alter the "current article pointer".

3.1.1.  ARTICLE (selection by message-id)

   ARTICLE <message-id>

   Display the header, a blank line, then the body (text) of the
   specified article.  Message-id is the message id of an article as
   shown in that article's header.  It is anticipated that the client
   will obtain the message-id from a list provided by the NEWNEWS
   command, from references contained within another article, or from
   the message-id provided in the response to some other commands.

   Please note that the internally-maintained "current article pointer"
   is NOT ALTERED by this command. This is both to facilitate the
   presentation of articles that may be referenced within an article
   being read, and because of the semantic difficulties of determining
   the proper sequence and membership of an article which may have been
   posted to more than one newsgroup.

3.1.2.  ARTICLE (selection by number)

   ARTICLE [nnn]

   Displays the header, a blank line, then the body (text) of the
   current or specified article.  The optional parameter nnn is the

   numeric id of an article in the current newsgroup and must be chosen
   from the range of articles provided when the newsgroup was selected.
   If it is omitted, the current article is assumed.

   The internally-maintained "current article pointer" is set by this
   command if a valid article number is specified.

   [the following applies to both forms of the article command.] A
   response indicating the current article number, a message-id string,
   and that text is to follow will be returned.

   The message-id string returned is an identification string contained
   within angle brackets ("<" and ">"), which is derived from the header
   of the article itself.  The Message-ID header line (required by
   RFC850) from the article must be used to supply this information. If
   the message-id header line is missing from the article, a single
   digit "0" (zero) should be supplied within the angle brackets.

   Since the message-id field is unique with each article, it may be
   used by a news reading program to skip duplicate displays of articles
   that have been posted more than once, or to more than one newsgroup.

3.1.3.  Responses

   220 n <a> article retrieved - head and body follow
           (n = article number, <a> = message-id)
   221 n <a> article retrieved - head follows
   222 n <a> article retrieved - body follows
   223 n <a> article retrieved - request text separately
   412 no newsgroup has been selected
   420 no current article has been selected
   423 no such article number in this group
   430 no such article found
*)
function TIdNNTP.GetArticle(AMsg: TIdMessage): Boolean;
begin
  Result := SendCmd('ARTICLE', [220, 420]) = 220;
  if Result then begin
    AMsg.Clear;
    if Length(ReceiveHeader(AMsg)) = 0 then begin
      // Only retreive the body if we do not already have a full RFC
      ReceiveBody(AMsg);
    end;
  end;
end;

function TIdNNTP.GetArticle(const AMsgNo: Integer; AMsg: TIdMessage): Boolean;
begin
  Result := SendCmd('ARTICLE ' + IntToStr(AMsgNo), [220, 423]) = 220;
  if Result then begin
    AMsg.Clear;
    if Length(ReceiveHeader(AMsg)) = 0 then begin
      // Only retreive the body if we do not already have a full RFC
      ReceiveBody(AMsg);
    end;
  end;
end;

function TIdNNTP.GetArticle(const AMsgID: string; AMsg: TIdMessage): Boolean;
begin
  Result := SendCmd('ARTICLE ' + IdGlobal.EnsureMsgIDBrackets(AMsgID), [220, 430]) = 220;
  if Result then begin
    AMsg.Clear;
    if Length(ReceiveHeader(AMsg)) = 0 then begin
      // Only retreive the body if we do not already have a full RFC
      ReceiveBody(AMsg);
    end;
  end;
end;

function TIdNNTP.GetArticle(AMsg: TStrings): Boolean;
begin
  Result := True;
  SendCmd('ARTICLE', 220);
  AMsg.Clear;
  Capture(AMsg);
end;

function TIdNNTP.GetArticle(const AMsgNo: Integer; AMsg: TStrings): Boolean;
begin
  Result := SendCmd('ARTICLE ' + IntToStr(AMsgNo), [220, 423]) = 220;
  if Result then begin
    AMsg.Clear;
    Capture(AMsg);
  end;
end;

function TIdNNTP.GetArticle(const AMsgID: string; AMsg: TStrings): Boolean;
begin
  Result := SendCmd('ARTICLE ' + IdGlobal.EnsureMsgIDBrackets(AMsgID), [220, 430]) = 220;
  if Result then begin
    AMsg.Clear;
    Capture(AMsg);
  end;
end;

function TIdNNTP.GetArticle(AMsg: TStream): Boolean;
begin
  Result := True;
  SendCmd('ARTICLE', 220);
  Capture(AMsg);
end;

function TIdNNTP.GetArticle(const AMsgNo: Integer; AMsg: TStream): Boolean;
begin
  Result := SendCmd('ARTICLE ' + IntToStr(AMsgNo), [220, 423]) = 220;
  if Result then begin
    Capture(AMsg);
  end;
end;

function TIdNNTP.GetArticle(const AMsgID: string; AMsg: TStream): Boolean;
begin
  Result := SendCmd('ARTICLE ' + IdGlobal.EnsureMsgIDBrackets(AMsgID), [220, 430]) = 220;
  if Result then begin
    Capture(AMsg);
  end;
end;

function TIdNNTP.GetBody(AMsg: TIdMessage): Boolean;
begin
  Result := SendCmd('BODY', [222, 420]) = 222;
  if Result then begin
    AMsg.Clear;
    ReceiveBody(AMsg);
  end;
end;

function TIdNNTP.GetBody(const AMsgNo: Integer; AMsg: TIdMessage): Boolean;
begin
  Result := SendCmd('BODY ' + IntToStr(AMsgNo), [222, 423]) = 222;
  if Result then begin
    AMsg.Clear;
    ReceiveBody(AMsg);
  end;
end;

function TIdNNTP.GetBody(const AMsgID: string; AMsg: TIdMessage): Boolean;
begin
  Result := SendCmd('BODY ' + IdGlobal.EnsureMsgIDBrackets(AMsgID), [222, 430]) = 222;
  if Result then begin
    AMsg.Clear;
    ReceiveBody(AMsg);
  end;
end;

function TIdNNTP.GetBody(AMsg: TStrings): Boolean;
begin
  Result := SendCmd('BODY', [222, 420]) = 222;
  if Result then begin
    AMsg.Clear;
    Capture(AMsg);
  end;
end;

function TIdNNTP.GetBody(const AMsgNo: Integer; AMsg: TStrings): Boolean;
begin
  Result := SendCmd('BODY ' + IntToStr(AMsgNo), [222, 423]) = 222;
  if Result then begin
    AMsg.Clear;
    Capture(AMsg);
  end;
end;

function TIdNNTP.GetBody(const AMsgID: string; AMsg: TStrings): Boolean;
begin
  Result := SendCmd('BODY ' + IdGlobal.EnsureMsgIDBrackets(AMsgID), [222, 430]) = 222;
  if Result then begin
    AMsg.Clear;
    Capture(AMsg);
  end;
end;

function TIdNNTP.GetBody(AMsg: TStream): Boolean;
begin
  Result := SendCmd('BODY', [222, 420]) = 222;
  if Result then begin
    Capture(AMsg);
  end;
end;

function TIdNNTP.GetBody(const AMsgNo: Integer; AMsg: TStream): Boolean;
begin
  Result := SendCmd('BODY ' + IntToStr(AMsgNo), [222, 423]) = 222;
  if Result then begin
    Capture(AMsg);
  end;
end;

function TIdNNTP.GetBody(const AMsgID: string; AMsg: TStream): Boolean;
begin
  Result := SendCmd('BODY ' + IdGlobal.EnsureMsgIDBrackets(AMsgID), [222, 430]) = 222;
  if Result then begin
    Capture(AMsg);
  end;
end;

function TIdNNTP.GetHeader(AMsg: TIdMessage): Boolean;
begin
  Result := SendCmd('HEAD', [221, 420]) = 221;
  if Result then begin
    AMsg.Clear;
    ReceiveHeader(AMsg, '.');
  end;
end;

function TIdNNTP.GetHeader(const AMsgNo: Integer; AMsg: TIdMessage): Boolean;
begin
  Result := SendCmd('HEAD ' + IntToStr(AMsgNo), [221, 423]) = 221;
  if Result then begin
    AMsg.Clear;
    ReceiveHeader(AMsg, '.');
  end;
end;

function TIdNNTP.GetHeader(const AMsgID: string; AMsg: TIdMessage): Boolean;
begin
  Result := SendCmd('HEAD ' + IdGlobal.EnsureMsgIDBrackets(AMsgID), [221, 430]) = 221;
  if Result then begin
    AMsg.Clear;
    ReceiveHeader(AMsg, '.');
  end;
end;

function TIdNNTP.GetHeader(AMsg: TStrings): Boolean;
begin
  Result := SendCmd('HEAD', [221, 420]) = 221;
  if Result then begin
    AMsg.Clear;
    Capture(AMsg);
  end;
end;

function TIdNNTP.GetHeader(const AMsgNo: Integer; AMsg: TStrings): Boolean;
begin
  Result := SendCmd('HEAD ' + IntToStr(AMsgNo), [221, 423]) = 221;
  if Result then begin
    AMsg.Clear;
    Capture(AMsg);
  end;
end;

function TIdNNTP.GetHeader(const AMsgID: string; AMsg: TStrings): Boolean;
begin
  Result := SendCmd('HEAD ' + IdGlobal.EnsureMsgIDBrackets(AMsgID), [221, 430]) = 221;
  if Result then begin
    AMsg.Clear;
    Capture(AMsg);
  end;
end;

function TIdNNTP.GetHeader(AMsg: TStream): Boolean;
begin
  Result := SendCmd('HEAD', [221, 420]) = 221;
  if Result then begin
    Capture(AMsg);
  end;
end;

function TIdNNTP.GetHeader(const AMsgNo: Integer; AMsg: TStream): Boolean;
begin
  Result := SendCmd('HEAD ' + IntToStr(AMsgNo), [221, 423]) = 221;
  if Result then begin
    Capture(AMsg);
  end;
end;

function TIdNNTP.GetHeader(const AMsgID: string; AMsg: TStream): Boolean;
begin
  Result := SendCmd('HEAD ' + IdGlobal.EnsureMsgIDBrackets(AMsgID), [221, 430]) = 221;
  if Result then begin
    Capture(AMsg);
  end;
end;

procedure TIdNNTP.GetNewsgroupList(AStream: TStream);
begin
  SendCmd('LIST', 215);
  Capture(AStream);
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美电影一区| 久久这里都是精品| 91污在线观看| 99久久免费视频.com| av午夜一区麻豆| 播五月开心婷婷综合| 成人午夜免费视频| 91美女福利视频| 欧美亚洲国产一区二区三区va| 色综合久久久久久久久久久| 99热国产精品| 欧美日韩国产小视频| 4438x成人网最大色成网站| 日韩欧美一区电影| 久久九九全国免费| ...av二区三区久久精品| 亚洲精品网站在线观看| 亚洲国产综合色| 免费观看成人av| 国产精品一区二区三区网站| 成人免费高清在线观看| 在线免费观看日本欧美| 日韩一区二区三区电影在线观看 | 欧美亚洲另类激情小说| 欧美另类一区二区三区| 久久综合色鬼综合色| 亚洲欧洲成人精品av97| 爽爽淫人综合网网站| 国内精品伊人久久久久av影院 | 欧美在线短视频| 91麻豆精品国产91久久久久| 久久影院午夜论| 亚洲午夜久久久久久久久电影网| 青青草伊人久久| 91视频观看免费| 日韩你懂的在线观看| 国产精品国产a| 人人超碰91尤物精品国产| 成人性生交大片免费看中文| 欧美高清www午色夜在线视频| 久久免费看少妇高潮| 亚洲一区二区在线观看视频| 国产综合久久久久影院| 欧美三级欧美一级| 18涩涩午夜精品.www| 久久精品二区亚洲w码| 日本精品一级二级| 久久精品一区二区三区av| 日韩黄色片在线观看| 94-欧美-setu| 中文无字幕一区二区三区| 午夜一区二区三区在线观看| 成人午夜电影久久影院| 精品日韩在线观看| 天堂一区二区在线| 在线观看免费成人| 中文字幕一区二区在线播放| 久久er精品视频| 欧美理论电影在线| 亚洲一区二区三区中文字幕在线| 成人国产在线观看| 欧美激情一区二区三区全黄| 狂野欧美性猛交blacked| 欧美日韩亚洲国产综合| 一区二区三区资源| 色婷婷久久久综合中文字幕| 国产欧美日韩在线| 国产成人午夜精品影院观看视频| 日韩精品一区二区三区中文不卡 | 欧美一级免费大片| 亚洲国产sm捆绑调教视频 | 日韩色视频在线观看| 性做久久久久久免费观看欧美| 91亚洲资源网| 亚洲欧美电影一区二区| 91国产成人在线| 亚洲主播在线播放| 欧美三级电影在线看| 婷婷国产在线综合| 91精品国产全国免费观看| 婷婷中文字幕一区三区| 欧美一级日韩不卡播放免费| 久久福利资源站| 国产亚洲欧美日韩俺去了| 国产成人亚洲综合色影视| 国产精品美女久久久久久久久| 成人精品一区二区三区中文字幕| 亚洲国产精品传媒在线观看| 91丨porny丨中文| 亚洲国产精品综合小说图片区| 日本黄色一区二区| 视频一区欧美精品| 精品国产一区二区三区四区四| 极品少妇一区二区三区精品视频| 久久综合九色欧美综合狠狠 | 亚洲午夜电影在线观看| 欧美一区二区播放| 国产福利91精品一区| 亚洲免费高清视频在线| 91精品国产色综合久久久蜜香臀| 国产精品麻豆一区二区| 国产日韩欧美a| 亚洲精品国产a| 丁香婷婷深情五月亚洲| 欧美xxxxx裸体时装秀| 奇米色一区二区| 久久久久久亚洲综合影院红桃| 免费观看一级欧美片| 3751色影院一区二区三区| 视频一区二区国产| 9191久久久久久久久久久| 欧美日本在线观看| 97超碰欧美中文字幕| 视频一区欧美日韩| 国产欧美精品区一区二区三区 | 国产片一区二区| 成人手机在线视频| 日韩精品91亚洲二区在线观看| 国产日韩欧美精品综合| 欧美日韩精品三区| 成人av网站大全| 久久国产尿小便嘘嘘| 亚洲精品高清在线观看| 国产欧美日韩另类视频免费观看 | 国产精品一区一区| 日韩成人午夜精品| 国产精品入口麻豆九色| 欧美电影在哪看比较好| 色狠狠桃花综合| 成人av网址在线观看| 精品一区二区在线看| 五月婷婷综合网| 亚洲色图在线视频| 中国色在线观看另类| 久久综合久久99| 日韩一级完整毛片| 欧美福利视频一区| 色综合一个色综合| av在线播放不卡| 成人精品小蝌蚪| 国产不卡在线视频| 国产在线观看一区二区| 麻豆91在线看| 久久66热re国产| 美腿丝袜在线亚洲一区| 婷婷激情综合网| 日韩精彩视频在线观看| 亚洲第一二三四区| 伊人婷婷欧美激情| 亚洲精品视频在线观看网站| 亚洲欧洲在线观看av| 欧美国产激情一区二区三区蜜月| 久久精品视频在线看| 久久九九国产精品| 国产精品人成在线观看免费 | 一区二区成人在线观看| 又紧又大又爽精品一区二区| 亚洲免费观看高清完整版在线| 亚洲区小说区图片区qvod| 亚洲精品成人悠悠色影视| 尤物在线观看一区| 日本中文字幕一区| 久久精品国产一区二区三区免费看| 日韩成人dvd| 国产一二精品视频| 成人免费看的视频| 在线亚洲精品福利网址导航| 在线精品视频一区二区| 91精品国产一区二区| 26uuu精品一区二区| 国产精品福利电影一区二区三区四区| 中文字幕一区二区三| 亚洲二区视频在线| 久久精品国产久精国产| 成人免费毛片片v| 欧美亚洲综合另类| 日韩精品影音先锋| 国产精品不卡一区| 亚洲成人激情自拍| 国产一区美女在线| 91理论电影在线观看| 欧美肥妇毛茸茸| 精品系列免费在线观看| 99久久99久久综合| 国产一区福利在线| 91欧美激情一区二区三区成人| 在线综合亚洲欧美在线视频| 久久午夜羞羞影院免费观看| 亚洲欧洲一区二区在线播放| 日本va欧美va瓶| voyeur盗摄精品| 欧美成人伊人久久综合网| 亚洲欧美在线aaa| 免费美女久久99| 欧美午夜精品久久久久久孕妇| 欧美va亚洲va| 亚洲一二三区不卡| 岛国精品一区二区| 欧美一级二级在线观看| 亚洲蜜臀av乱码久久精品蜜桃|