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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? newsrdr1.pas

?? 包含常用Internet協(xié)議TCP,UDP、HTTP、FTP、Telnet等
?? PAS
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Author:       Fran鏾is PIETTE
Description:  This sample program show how to use TNntpCli to write a news
              enabled application.
Creation:     December 24, 1997
Version:      0.94
EMail:        francois.piette@pophost.eunet.be    
              francois.piette@rtfm.be             http://www.rtfm.be/fpiette
Support:      Use the mailing list twsocket@rtfm.be See website for details.
Legal issues: Copyright (C) 1997, 1998 by Fran鏾is PIETTE
              Rue de Grady 24, 4053 Embourg, Belgium. Fax: +32-4-365.74.56
              <francois.piette@pophost.eunet.be>

              This software is provided 'as-is', without any express or
              implied warranty.  In no event will the author be held liable
              for any  damages arising from the use of this software.

              Permission is granted to anyone to use this software for any
              purpose, including commercial applications, and to alter it
              and redistribute it freely, subject to the following
              restrictions:

              1. The origin of this software must not be misrepresented,
                 you must not claim that you wrote the original software.
                 If you use this software in a product, an acknowledgment
                 in the product documentation would be appreciated but is
                 not required.

              2. Altered source versions must be plainly marked as such, and
                 must not be misrepresented as being the original software.

              3. This notice may not be removed or altered from any source
                 distribution.

Updates:
Dec 29, 1997 V0.91 Adapted to be compatible with Delphi 1
Jan 04, 1998 V0.92 Added LIST OVERVIEW.FMT, XOVER and DATE
Jan 31, 1998 V0.93 Added the UserEditBox (used for Post command)
                   Added code to get UserName and EMail from IE settings
Aug 14, 1999 V0.94 Added support for XHDR and MODE READER.
                   Corrected a bug that let Connect and Abort button
                   disabled when DNS lookup failed.

 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
unit NewsRdr1;

interface

uses
  WinTypes, WinProcs, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, NntpCli, StdCtrls, ExtCtrls, IniFiles;

type
  TNNTPForm = class(TForm)
    NntpCli1: TNntpCli;
    Panel1: TPanel;
    ServerEdit: TEdit;
    ConnectButton: TButton;
    Label1: TLabel;
    DisplayMemo: TMemo;
    AbortButton: TButton;
    GroupButton: TButton;
    GroupEdit: TEdit;
    ArticleNumEdit: TEdit;
    ArticleByNumberButton: TButton;
    ArticleByIDButton: TButton;
    NextButton: TButton;
    LastButton: TButton;
    HeadByNumberButton: TButton;
    HeadByIDButton: TButton;
    BodyByNumberButton: TButton;
    BodyByIDButton: TButton;
    StatByNumberButton: TButton;
    StatByIDButton: TButton;
    ListButton: TButton;
    ArticleIDEdit: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    PostButton: TButton;
    QuitButton: TButton;
    FileEdit: TEdit;
    Label5: TLabel;
    NewGroupsButton: TButton;
    NewNewsButton: TButton;
    HelpButton: TButton;
    XOverButton: TButton;
    OverViewFmtButton: TButton;
    DateButton: TButton;
    UserEdit: TEdit;
    Label6: TLabel;
    Label7: TLabel;
    UserNameEdit: TEdit;
    Label8: TLabel;
    PasswordEdit: TEdit;
    AuthenticateButton: TButton;
    ModeReaderButton: TButton;
    XHdrButton: TButton;
    procedure ConnectButtonClick(Sender: TObject);
    procedure NntpCli1SessionConnected(Sender: TObject; Error: Word);
    procedure NntpCli1SessionClosed(Sender: TObject; Error: Word);
    procedure AbortButtonClick(Sender: TObject);
    procedure GroupButtonClick(Sender: TObject);
    procedure NntpCli1RequestDone(Sender: TObject; RqType: TNntpRequest; Error: Word);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ArticleByNumberButtonClick(Sender: TObject);
    procedure NntpCli1DataAvailable(Sender: TObject; Error: Word);
    procedure NntpCli1MessageLine(Sender: TObject);
    procedure NntpCli1MessageBegin(Sender: TObject);
    procedure NntpCli1MessageEnd(Sender: TObject);
    procedure ArticleByIDButtonClick(Sender: TObject);
    procedure NextButtonClick(Sender: TObject);
    procedure LastButtonClick(Sender: TObject);
    procedure HeadByIDButtonClick(Sender: TObject);
    procedure HeadByNumberButtonClick(Sender: TObject);
    procedure BodyByIDButtonClick(Sender: TObject);
    procedure BodyByNumberButtonClick(Sender: TObject);
    procedure StatByIDButtonClick(Sender: TObject);
    procedure StatByNumberButtonClick(Sender: TObject);
    procedure ListButtonClick(Sender: TObject);
    procedure PostButtonClick(Sender: TObject);
    procedure QuitButtonClick(Sender: TObject);
    procedure NewGroupsButtonClick(Sender: TObject);
    procedure NewNewsButtonClick(Sender: TObject);
    procedure HelpButtonClick(Sender: TObject);
    procedure XOverButtonClick(Sender: TObject);
    procedure OverViewFmtButtonClick(Sender: TObject);
    procedure DateButtonClick(Sender: TObject);
    procedure AuthenticateButtonClick(Sender: TObject);
    procedure ModeReaderButtonClick(Sender: TObject);
    procedure XHdrButtonClick(Sender: TObject);
    procedure NntpCli1XHdrBegin(Sender: TObject);
    procedure NntpCli1XHdrEnd(Sender: TObject);
    procedure NntpCli1XHdrLine(Sender: TObject);
  private
    { D閏larations priv閑s }
    FInitialized : Boolean;
    FDataStream  : TStream;
    function  GetStream : TStream;
    procedure Display(Msg : String);
    procedure LineToStream(Buf : String);
  public
    { D閏larations publiques }
  end;

var
  NNTPForm: TNNTPForm;

implementation

{$R *.DFM}

{$IFNDEF VER80}
uses
    Registry;
{$ENDIF}


const
    IniFileName = 'NEWSRDR.INI';

{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
{$IFDEF VER80}
function TrimRight(Str : String) : String;
var
    i : Integer;
begin
    i := Length(Str);
    while (i > 0) and (Str[i] = ' ') do
        i := i - 1;
    Result := Copy(Str, 1, i);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
function TrimLeft(Str : String) : String;
var
    i : Integer;
begin
    if Str[1] <> ' ' then
        Result := Str
    else begin
        i := 1;
        while (i <= Length(Str)) and (Str[i] = ' ') do
            i := i + 1;
        Result := Copy(Str, i, Length(Str) - i + 1);
    end;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
function Trim(Str : String) : String;
begin
    Result := TrimLeft(TrimRight(Str));
end;
{$ENDIF}


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TNNTPForm.FormShow(Sender: TObject);
var
    IniFile  : TIniFile;
    EMail    : String;
    UserName : String;
{$IFNDEF VER80}
    Reg      : TRegistry;
    Key      : String;
{$ENDIF}
begin
    if FInitialized then
        Exit;
    FInitialized        := TRUE;

    EMail    := 'your.name@yourcompany.domain';
    UserName := 'Your Name';

{$IFNDEF VER80}
    { Get username and EMail from the Internet Explorer settings }
    { Should add code for Netscape Navigator...                  }
    Reg          := TRegistry.Create;
    Reg.RootKey  := HKEY_CURRENT_USER;
    Key          := '\Software\Microsoft\Internet Mail and News\Mail';
    if Reg.OpenKey(Key, FALSE) then begin
        EMail    := Reg.ReadString('Sender EMail');
        UserName := Reg.ReadString('Sender Name');
    end;
    Reg.CloseKey;
    Reg.Free;
{$ENDIF}

    IniFile             := TIniFile.Create(IniFileName);
    Top                 := IniFile.ReadInteger('Window', 'Top',    Top);
    Left                := IniFile.ReadInteger('Window', 'Left',   Left);
    Width               := IniFile.ReadInteger('Window', 'Width',  Width);
    Height              := IniFile.ReadInteger('Window', 'Height', Height);
    ServerEdit.Text     := IniFile.ReadString('Data', 'Server', '');
    ArticleNumEdit.Text := IniFile.ReadString('Data', 'ArticleNum', '');
    ArticleIDEdit.Text  := IniFile.ReadString('Data', 'ArticleID', '');
    FileEdit.Text       := IniFile.ReadString('Data', 'File',   'nntprdr.txt');
    UserNameEdit.Text   := IniFile.ReadString('Data', 'UserName',  '');
    PasswordEdit.Text   := IniFile.ReadString('Data', 'Password',  '');
    UserEdit.Text       := IniFile.ReadString('Data', 'User',
                                              '"' + UserName + '" <' + EMail + '>');
    GroupEdit.Text      := IniFile.ReadString('Data', 'Group',
                                              'borland.public.delphi.thirdparty-tools');
    IniFile.Free;
    DisplayMemo.Clear;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TNNTPForm.FormClose(Sender: TObject; var Action: TCloseAction);
var
    IniFile : TIniFile;
begin
    IniFile := TIniFile.Create(IniFileName);
    IniFile.WriteString('Data',    'Server',  ServerEdit.Text);
    IniFile.WriteString('Data',    'Group',   GroupEdit.Text);
    IniFile.WriteString('Data',    'ArticleNum', ArticleNumEdit.Text);
    IniFile.WriteString('Data',    'ArticleID',  ArticleIDEdit.Text);
    IniFile.WriteString('Data',    'File',       FileEdit.Text);
    IniFile.WriteString('Data',    'User',       UserEdit.Text);
    IniFile.WriteString('Data',    'UserName',   UserNameEdit.Text);
    IniFile.WriteString('Data',    'Password',   PasswordEdit.Text);
    IniFile.WriteInteger('Window', 'Top',    Top);
    IniFile.WriteInteger('Window', 'Left',   Left);
    IniFile.WriteInteger('Window', 'Width',  Width);
    IniFile.WriteInteger('Window', 'Height', Height);
    IniFile.Free;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TNNTPForm.Display(Msg : String);
begin
    { Limit the memo to 100 lines }
    while DisplayMemo.Lines.Count > 100 do
         DisplayMemo.Lines.Delete(1);
    DisplayMemo.Lines.Add(Msg);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TNNTPForm.NntpCli1SessionConnected(Sender: TObject; Error: Word);
begin
    AbortButton.Enabled := TRUE;
    Display('Connected, StatusCode = ' + IntToStr(NntpCli1.StatusCode));
    if NntpCli1.PostingPermited then
        Display('Posting permited')
    else
        Display('Posting not permited');
    Display(NntpCli1.LastResponse);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TNNTPForm.NntpCli1SessionClosed(Sender: TObject; Error: Word);
begin
    AbortButton.Enabled   := FALSE;
    ConnectButton.Enabled := TRUE;
    Display('Connection closed');
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
{ This event handler is called for each NNTP command when the command has   }
{ been exected (correctly or not).                                          }
procedure TNNTPForm.NntpCli1RequestDone(
    Sender: TObject;
    RqType: TNntpRequest;
    Error: Word);
begin
    Display('Request done. LastResponse = ' +
                          NntpCli1.LastResponse);

    if Error = 0 then
        Display('No error')
    else
        Display('Error #' + IntToStr(Error));

    case RqType of
    nntpConnect:
        begin
            if Error <> 0 then begin
                AbortButton.Enabled   := FALSE;
                ConnectButton.Enabled := TRUE;
                Display('Connect failed');
            end;
        end;
    nntpGroup:
        begin
            Display('ArticleEstimated = ' + IntToStr(NntpCli1.ArticleEstimated));
            Display('ArticleFirst     = ' + IntToStr(NntpCli1.ArticleFirst));
            Display('ArticleLast      = ' + IntToStr(NntpCli1.ArticleLast));
            ArticleNumEdit.Text := IntToStr(NntpCli1.ArticleFirst);
        end;
    nntpPost, nntpQuit, nntpAbort, nntpHelp, nntpNewGroups, nntpNewNews,
    nntpXOver, nntpListOverViewFmt, nntpAuthenticate, nntpModeReader,
    nntpXHdr:
        begin
            { Nothing to do }
        end;
    nntpDate:
        begin
            Display('Server Date is ' + DateTimeToStr(NntpCli1.ServerDate));
        end;
    nntpStatByNumber,    nntpStatByID,
    nntpHeadByNumber,    nntpHeadByID,
    nntpBodyByNumber,    nntpBodyByID,
    nntpArticleByNumber, nntpArticleByID,
    nntpNext,            nntpLast:
        begin
            Display('ArticleNumber    = ' +
                                  IntToStr(NntpCli1.ArticleNumber));
            Display('ArticleID        = ' +
                                  '<' + NntpCli1.ArticleID + '>');
            if Error = 0 then begin
                ArticleNumEdit.Text := IntToStr(NntpCli1.ArticleNumber);
                ArticleIDEdit.Text  := NntpCli1.ArticleID;
            end;
        end;
    else
        Display('Unknown request type.');

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美大胆人体bbbb| 亚洲综合成人在线| 精品久久久久久久久久久久包黑料| 91蝌蚪porny成人天涯| 成人自拍视频在线观看| 国产传媒欧美日韩成人| 国产精品一线二线三线| 久久99精品国产麻豆不卡| 日本 国产 欧美色综合| 日韩制服丝袜av| 视频一区中文字幕国产| 视频一区欧美日韩| 蜜臀av亚洲一区中文字幕| 日本成人在线网站| 久久丁香综合五月国产三级网站| 免费观看91视频大全| 伦理电影国产精品| 国产精品一卡二卡在线观看| 国产成人欧美日韩在线电影 | 成人福利视频网站| 成人久久久精品乱码一区二区三区 | 国产日产欧美一区二区视频| 欧美国产一区二区| 最新欧美精品一区二区三区| 一级中文字幕一区二区| 日日夜夜免费精品| 国产一区二区三区av电影| 国产69精品久久777的优势| 97se亚洲国产综合自在线不卡 | 欧美国产视频在线| 1024成人网色www| 午夜在线成人av| 国产在线播精品第三| 91在线观看视频| 欧美日韩国产高清一区| 精品国产乱子伦一区| 日本一区二区免费在线| 亚洲制服丝袜一区| 韩日欧美一区二区三区| www.欧美亚洲| 中文在线一区二区| 亚洲综合成人在线视频| 久久国产欧美日韩精品| 97精品电影院| 日韩欧美在线一区二区三区| 国产精品全国免费观看高清| 亚洲成人一区二区在线观看| 精品亚洲aⅴ乱码一区二区三区| 成人av网址在线观看| 91精品国产综合久久香蕉麻豆| 国产婷婷一区二区| 亚洲图片欧美一区| 国产精品18久久久久久久久久久久| 一本色道**综合亚洲精品蜜桃冫| 日韩亚洲欧美中文三级| 日韩毛片在线免费观看| 麻豆国产欧美日韩综合精品二区| 99精品在线观看视频| 日韩欧美一区二区视频| 亚洲日本在线a| 经典三级在线一区| 欧美性猛交xxxx黑人交 | 久久精品国产99国产精品| 99久久99久久精品免费看蜜桃| 日韩欧美在线观看一区二区三区| 国产精品成人免费在线| 激情综合五月婷婷| 精品污污网站免费看| 国产精品毛片a∨一区二区三区| 丝袜亚洲另类丝袜在线| av不卡免费在线观看| 久久综合久久综合久久| 日韩avvvv在线播放| 日本久久一区二区三区| 欧美激情中文字幕一区二区| 奇米影视一区二区三区小说| 在线免费观看一区| 国产精品免费丝袜| 国产精品白丝jk黑袜喷水| 欧美一区二区人人喊爽| 亚洲欧美aⅴ...| 国产91精品免费| 久久精品一区四区| 极品少妇xxxx精品少妇| 欧美精品tushy高清| 亚洲综合精品自拍| 91福利资源站| 亚洲免费观看高清在线观看| 9i看片成人免费高清| 日本一区二区三区在线观看| 激情六月婷婷综合| 精品成人私密视频| 九九国产精品视频| 日韩一级片在线播放| 免费看欧美美女黄的网站| 欧美放荡的少妇| 午夜激情综合网| 欧美日韩在线综合| 五月婷婷激情综合| 欧美日韩的一区二区| 午夜成人免费视频| 欧美日本在线视频| 日韩中文欧美在线| 日韩午夜电影在线观看| 精品中文字幕一区二区| 欧美成va人片在线观看| 久久精品国产亚洲高清剧情介绍| 日韩丝袜情趣美女图片| 久久99国产精品免费| 久久综合成人精品亚洲另类欧美 | 一区二区三区色| 91香蕉国产在线观看软件| 日韩一区欧美小说| 在线观看日韩国产| 三级久久三级久久久| 日韩精品一区在线| 国产精品综合久久| 中文字幕视频一区| 97精品久久久午夜一区二区三区| 亚洲老妇xxxxxx| 欧美日韩五月天| 久久国产精品一区二区| 国产欧美日韩久久| 色婷婷一区二区三区四区| 午夜精品久久久久| www日韩大片| 成人a级免费电影| 亚洲一区精品在线| 欧美一区二区三区免费大片 | 日韩亚洲欧美一区二区三区| 精品一区二区三区免费播放 | 国产麻豆成人精品| 国产精品久久久久久福利一牛影视| 99久久精品免费| 亚洲 欧美综合在线网络| 日韩欧美中文一区二区| 国产.欧美.日韩| 亚洲第一综合色| 久久影院视频免费| 色婷婷久久综合| 久久精品国产99国产精品| 国产精品麻豆久久久| 欧美影院一区二区三区| 日本不卡免费在线视频| 国产欧美一区二区精品性色超碰| 日本丰满少妇一区二区三区| 欧美aaa在线| 亚洲婷婷在线视频| 欧美一区二区三区四区在线观看| 国产成人午夜精品5599| 亚洲成人综合在线| 中文字幕免费不卡在线| 欧美猛男gaygay网站| 成人午夜精品一区二区三区| 亚洲高清免费观看高清完整版在线观看 | 99久久精品国产毛片| 五月天婷婷综合| 国产精品毛片久久久久久久| 91精品国产欧美日韩| 92精品国产成人观看免费| 美日韩一级片在线观看| 亚洲区小说区图片区qvod| 日韩免费看网站| 欧美视频三区在线播放| 成人精品电影在线观看| 免费观看91视频大全| 亚洲卡通欧美制服中文| 久久精品一区二区三区四区| 欧美性欧美巨大黑白大战| 成人免费毛片app| 激情欧美一区二区三区在线观看| 亚洲一区在线视频观看| 中文字幕巨乱亚洲| 欧美tk丨vk视频| 欧美久久一二区| 99精品国产91久久久久久| 国产一区福利在线| 日韩在线一区二区| 一区二区三区不卡视频| 欧美国产日韩在线观看| 2欧美一区二区三区在线观看视频| 欧美色视频一区| 99精品久久99久久久久| 国产精品一区久久久久| 久久精品国产一区二区三| 午夜激情久久久| 一区二区欧美精品| 亚洲欧美在线视频| 欧美国产禁国产网站cc| 精品国产一区二区三区忘忧草| 91精品国产色综合久久| 欧美区视频在线观看| 色婷婷精品大视频在线蜜桃视频| 国产成人自拍网| 国产一区二区三区不卡在线观看| 麻豆精品久久精品色综合| 日本视频在线一区| 日本成人在线一区| 日韩电影一区二区三区| 午夜伊人狠狠久久|