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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? finger1.pas

?? 包含常用Internet協(xié)議TCP,UDP、HTTP、FTP、Telnet等
?? PAS
字號:
{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Author:       Fran鏾is PIETTE
Description:  Finger is a FINGER client
              Install the components in FingCli.pas and wsocket.pas first.
Creation:     December 18, 1997
Version:      1.01
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) 1996, 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:
Apr 11, 1999 V1.01 Added command line option


 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
unit finger1;

interface

uses
  WinTypes, WinProcs, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, FingCli, WinSock, WSocket;

const
  WM_APPSTARTUP = WM_USER + 1;

type
  TFingerDemoForm = class(TForm)
    FingerCli1: TFingerCli;
    WSocket1: TWSocket;
    DisplayMemo: TMemo;
    Panel1: TPanel;
    QueryEdit: TEdit;
    QueryButton: TButton;
    CancelButton: TButton;
    procedure QueryButtonClick(Sender: TObject);
    procedure FingerCli1DataAvailable(Sender: TObject; Error: Word);
    procedure FingerCli1QueryDone(Sender: TObject; Error: Word);
    procedure FingerCli1SessionConnected(Sender: TObject; Error: Word);
    procedure CancelButtonClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
      procedure WMAppStartup(var msg: TMessage); message WM_APPSTARTUP;
  public
    { D閏larations publiques }
  end;

var
  FingerDemoForm: TFingerDemoForm;

const
{$IFDEF VER80}
    BufferSize = 255;     { Delphi 1 is limited to 255 bytes }
{$ELSE}
    BufferSize = 2048;
{$ENDIF}

implementation

{$R *.DFM}

{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TFingerDemoForm.FormShow(Sender: TObject);
begin
    { We use a custom message to initialize things once the form }
    { is visible                                                 }
    PostMessage(Handle, WM_APPSTARTUP, 0, 0);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TFingerDemoForm.WMAppStartup(var msg: TMessage);
begin
    Update; { Let the window be visible completely }
    if ParamCount > 0 then begin
        QueryEdit.Text := ParamStr(1);
        QueryButtonClick(Self);
    end;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
{* Display a message in the memo field, breaking with CR                   *}
procedure MemoAddLines(Memo : TMemo; Msg : String);
const
    CR = #13;
    LF = #10;
var
    Start, Stop : Integer;
begin
    if Memo.Lines.Count = 0 then
        Memo.Lines.Add('');

    Start := 1;
    Stop  := Pos(CR, Msg);
    if Stop = 0 then
        Stop := Length(Msg) + 1;
    while Start <= Length(Msg) do begin
        Memo.Lines.Strings[Memo.Lines.Count - 1] :=
            Memo.Lines.Strings[Memo.Lines.Count - 1] +
            Copy(Msg, Start, Stop - Start);
        if Msg[Stop] = CR then begin
            Memo.Lines.Add('');
            SendMessage(Memo.Handle, WM_KEYDOWN, VK_UP, 1);
        end;
        Start := Stop + 1;
        if Start > Length(Msg) then
            Break;
        while Msg[Start] in [CR, LF] do
           Start := Start + 1;
        Stop := Start;
        while (Msg[Stop] <> CR) and (Stop <= Length(Msg)) do
            Stop := Stop + 1;
    end;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TFingerDemoForm.QueryButtonClick(Sender: TObject);
begin
    DisplayMemo.Clear;
    QueryButton.Enabled  := FALSE;
    CancelButton.Enabled := TRUE;
    FingerCli1.Query     := QueryEdit.Text;
    FingerCli1.StartQuery;
    MemoAddLines(DisplayMemo, 'Query started.' + #13);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TFingerDemoForm.FingerCli1SessionConnected(Sender: TObject; Error: Word);
begin
    if Error = 0 then
        MemoAddLines(DisplayMemo, 'Connected to host.' + #13);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TFingerDemoForm.FingerCli1DataAvailable(Sender: TObject; Error: Word);
var
    Buffer : array [0..BufferSize - 1] of char;
    Len    : Integer;
begin
    while TRUE do begin
        Len := FingerCli1.Receive(@Buffer, SizeOf(Buffer) - 1);
        if Len <= 0 then
            break;
        Buffer[Len] := #0;
        MemoAddLines(DisplayMemo, StrPas(Buffer));
    end;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TFingerDemoForm.FingerCli1QueryDone(Sender: TObject; Error: Word);
begin
    if Error <> 0 then begin
        if Error = WSAECONNREFUSED then
            MemoAddLines(DisplayMemo, 'No finger service available.' + #13)
        else if Error = WSAETIMEDOUT then
            MemoAddLines(DisplayMemo, 'Host unreachable.' + #13)
        else
            MemoAddLines(DisplayMemo, 'Error #' + IntToStr(Error) + #13);
    end;
    MemoAddLines(DisplayMemo, 'Done.' + #13);

    QueryButton.Enabled  := TRUE;
    CancelButton.Enabled := FALSE;
    { If we started from command line, then close application }
    if ParamCount > 0 then
        Close;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TFingerDemoForm.CancelButtonClick(Sender: TObject);
begin
    FingerCli1.Abort;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产乱对白刺激视频不卡| 精品亚洲国内自在自线福利| 欧美日韩亚州综合| 国产91精品在线观看| 午夜欧美视频在线观看| 国产欧美综合在线| 欧美群妇大交群中文字幕| 粉嫩欧美一区二区三区高清影视| 亚洲成人免费在线观看| 中国色在线观看另类| 日韩免费视频一区| 欧美性做爰猛烈叫床潮| caoporen国产精品视频| 国内精品伊人久久久久av一坑| 一区二区三区在线视频免费| 亚洲国产精品t66y| 2024国产精品| 337p亚洲精品色噜噜| 91视频免费观看| 成人av在线资源网站| 国产最新精品精品你懂的| 午夜精品久久久| 一区二区三区视频在线看| 中文字幕精品一区| 久久久国产精品午夜一区ai换脸| 5858s免费视频成人| 欧美三级视频在线播放| 色综合久久88色综合天天免费| 国产成人免费视频精品含羞草妖精| 丝袜亚洲另类欧美| 日精品一区二区三区| 夜夜爽夜夜爽精品视频| 亚洲美腿欧美偷拍| 一区二区三区中文字幕精品精品 | 亚洲成人综合在线| 一区二区国产视频| 亚洲欧美日韩国产一区二区三区| 国产精品三级电影| 欧美激情在线看| 国产日产欧美一区二区视频| 欧美精品一区二| 久久综合色8888| 国产无一区二区| 国产午夜精品久久久久久免费视| 国产午夜久久久久| 最新国产成人在线观看| 亚洲欧美视频在线观看| 亚洲综合在线观看视频| 亚洲一区在线播放| 激情六月婷婷久久| 91视频91自| 在线免费观看一区| 欧美日韩的一区二区| 在线综合视频播放| 精品免费日韩av| 久久夜色精品一区| 日韩理论片在线| 午夜视频一区二区| 男人的j进女人的j一区| 国产老妇另类xxxxx| 成人免费视频网站在线观看| 成人精品高清在线| 欧美性猛交xxxxxxxx| 欧美一级夜夜爽| 国产欧美精品一区aⅴ影院| 一区在线中文字幕| 亚洲午夜激情网页| 九九九精品视频| 成人黄色av网站在线| 欧美三级电影一区| 精品日韩在线一区| 亚洲欧美电影一区二区| 日韩高清在线电影| 国产成人精品免费视频网站| 日本精品免费观看高清观看| 777色狠狠一区二区三区| 国产婷婷色一区二区三区四区| 中文字幕综合网| 蜜桃久久精品一区二区| 波多野结衣91| 欧美精品xxxxbbbb| 日本一区二区不卡视频| 三级久久三级久久久| 成人在线一区二区三区| 欧美日韩精品综合在线| 国产日韩av一区| 视频一区二区不卡| av不卡免费电影| 欧美一区二区精美| 中文字幕亚洲不卡| 国模大尺度一区二区三区| 一本大道久久精品懂色aⅴ| 欧美一级一级性生活免费录像| 国产精品国产三级国产aⅴ入口| 视频一区国产视频| 99re视频这里只有精品| 欧美一区二区三区播放老司机 | 亚洲精品国产成人久久av盗摄| 日韩国产成人精品| 91精品办公室少妇高潮对白| 久久影视一区二区| 日韩精品一二三四| 一本在线高清不卡dvd| 久久久久久久久久久99999| 日韩激情一区二区| 91麻豆国产精品久久| 久久久久9999亚洲精品| 石原莉奈一区二区三区在线观看| 99久久综合狠狠综合久久| 欧美精品一区视频| 丝袜美腿亚洲色图| 欧美午夜在线一二页| 亚洲日本在线视频观看| 成人污视频在线观看| 美女高潮久久久| 欧美一区二区精美| 五月天视频一区| 欧美私人免费视频| 亚洲视频图片小说| 高清不卡一区二区在线| 精品少妇一区二区三区在线视频| 偷窥国产亚洲免费视频| 色欧美日韩亚洲| 国产精品三级在线观看| 成人性生交大片免费看中文 | 国产精品三级久久久久三级| 国产综合色视频| 欧美精品一区二区三区很污很色的| 午夜不卡av免费| 欧美色图激情小说| 亚洲成av人片一区二区| 欧美视频一区二区| 一区二区三区欧美激情| 91国偷自产一区二区三区观看 | 成人av资源下载| 中文字幕在线不卡视频| 成人小视频在线观看| 国产精品久久久一区麻豆最新章节| 国产精品资源在线看| 国产欧美日韩在线观看| 高清不卡一区二区在线| 欧美国产1区2区| 91在线观看高清| 亚洲一区二区三区精品在线| 欧美色网站导航| 日韩av二区在线播放| 日韩精品一区二区三区蜜臀| 久久超级碰视频| 久久久不卡影院| 99视频有精品| 一区二区三区四区蜜桃| 欧美日韩国产影片| 日本不卡一区二区三区| 欧美变态口味重另类| 国产成人8x视频一区二区| 亚洲欧洲国产日韩| 欧美探花视频资源| 蜜桃视频在线观看一区| 欧美极品少妇xxxxⅹ高跟鞋| av欧美精品.com| 亚洲一二三区不卡| 日韩女优毛片在线| 成人免费观看av| 一区二区激情视频| 欧美成人一区二区三区在线观看| 国产精品资源在线| 一二三四区精品视频| 日韩免费高清电影| 国产91对白在线观看九色| 一区二区在线观看视频| 日韩一区二区三区在线视频| 国产a区久久久| 亚洲高清在线精品| 久久日韩粉嫩一区二区三区| 99久久久国产精品免费蜜臀| 视频一区免费在线观看| 久久精品夜夜夜夜久久| 91麻豆国产香蕉久久精品| 免费美女久久99| 亚洲视频在线观看三级| 日韩三区在线观看| 97久久超碰国产精品电影| 日本欧美在线观看| 国产精品久久久久aaaa樱花 | 国产欧美一区二区在线观看| 91久久精品网| 久久99精品国产麻豆不卡| 亚洲三级小视频| 精品国产电影一区二区| 亚洲一二三专区| 精品国产91九色蝌蚪| 91激情在线视频| 国精品**一区二区三区在线蜜桃| 一区二区激情视频| 日本一区二区综合亚洲| 欧美一区二区三区喷汁尤物| 一本高清dvd不卡在线观看| 国产乱对白刺激视频不卡| 香蕉乱码成人久久天堂爱免费| 国产精品蜜臀在线观看|