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

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

?? cli7.pas

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

Author:       Fran鏾is PIETTE
Object:       Simple client application demonstrating TWSocket object in action.
Creation:     November 28, 1998
Version:      1.01
EMail:        francois.piette@pophost.eunet.be
WebSite:      http://www.rtfm.be/fpiette/indexuk.htm
Support:      Use the mailing list twsocket@rtfm.be See website for details.
Legal issues: Copyright (C) 1998 by Fran鏾is PIETTE <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:
Mar 07, 1999  V1.01 Adapted for Delphi 1

 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
unit Cli7;

interface

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

const
  EndOfLine = #13#10;

type
  TCli7Form = class(TForm)
    Panel1: TPanel;
    PortEdit: TEdit;
    Label6: TLabel;
    HostNameEdit: TEdit;
    Label1: TLabel;
    DisplayMemo: TMemo;
    ConnectButton: TButton;
    LineOnButton: TButton;
    LineOffButton: TButton;
    DisconnectButton: TButton;
    ReadLineButton: TButton;
    WSocket1: TWSocket;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure LineOnButtonClick(Sender: TObject);
    procedure LineOffButtonClick(Sender: TObject);
    procedure ConnectButtonClick(Sender: TObject);
    procedure DisconnectButtonClick(Sender: TObject);
    procedure ReadLineButtonClick(Sender: TObject);
    procedure WSocket1SessionConnected(Sender: TObject; Error: Word);
    procedure WSocket1SessionClosed(Sender: TObject; Error: Word);
    procedure WSocket1DataAvailable(Sender: TObject; Error: Word);
  private
    FIniFileName : String;
    FInitialized : Boolean;
    procedure Display(Msg : String);
  end;

var
  Cli7Form: TCli7Form;

implementation

{$R *.DFM}
const
    SectionWindow = 'Window';
    KeyTop        = 'Top';
    KeyLeft       = 'Left';
    KeyWidth      = 'Width';
    KeyHeight     = 'Height';
    SectionData   = 'Data';
    KeyHostName   = 'HostName';
    KeyPort       = 'Port';


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCli7Form.FormCreate(Sender: TObject);
begin
    FIniFileName := LowerCase(ExtractFileName(Application.ExeName));
    FIniFileName := Copy(FIniFileName, 1, Length(FIniFileName) - 3) + 'ini';
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCli7Form.FormShow(Sender: TObject);
var
    IniFile : TIniFile;
begin
    if not FInitialized then begin
        FInitialized := TRUE;
        IniFile := TIniFile.Create(FIniFileName);
        HostNameEdit.Text  := IniFile.ReadString(SectionData, KeyHostName,
                                                 'localhost');
        PortEdit.Text      := IniFile.ReadString(SectionData, KeyPort,
                                                 'telnet');

        Width  := IniFile.ReadInteger(SectionWindow, KeyWidth,  Width);
        Height := IniFile.ReadInteger(SectionWindow, KeyHeight, Height);
        Top    := IniFile.ReadInteger(SectionWindow, KeyTop,    (Screen.Height - Height) div 2);
        Left   := IniFile.ReadInteger(SectionWindow, KeyLeft,   (Screen.Width - Width) div 2);

        IniFile.Free;
        DisplayMemo.Clear;
    end;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCli7Form.FormClose(Sender: TObject; var Action: TCloseAction);
var
    IniFile : TIniFile;
begin
    IniFile := TIniFile.Create(FIniFileName);
    IniFile.WriteString(SectionData, KeyHostName,  HostNameEdit.Text);
    IniFile.WriteString(SectionData, KeyPort,      PortEdit.Text);
    IniFile.WriteInteger(SectionWindow, KeyTop,    Top);
    IniFile.WriteInteger(SectionWindow, KeyLeft,   Left);
    IniFile.WriteInteger(SectionWindow, KeyWidth,  Width);
    IniFile.WriteInteger(SectionWindow, KeyHeight, Height);
    IniFile.Free;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCli7Form.Display(Msg : String);
begin
    if DisplayMemo.Lines.Count > 200 then   { Prevent TMemo overflow }
        DisplayMemo.Clear;
    DisplayMemo.Lines.Add(Msg);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCli7Form.LineOnButtonClick(Sender: TObject);
begin
    WSocket1.LineMode := TRUE;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCli7Form.LineOffButtonClick(Sender: TObject);
begin
    WSocket1.LineMode := FALSE;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCli7Form.ConnectButtonClick(Sender: TObject);
begin
    WSocket1.Proto    := 'tcp';
    WSocket1.Port     := PortEdit.Text;
    WSocket1.Addr     := HostnameEdit.Text;
    WSocket1.LineMode := TRUE;
    WSocket1.LineEnd  := EndOfLine;
    WSocket1.Connect;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCli7Form.DisconnectButtonClick(Sender: TObject);
begin
    WSocket1.Close;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCli7Form.WSocket1SessionConnected(Sender: TObject;
  Error: Word);
begin
    if Error <> 0 then
        Display('Connection failed, error #' + IntToStr(Error))
    else
        Display('Session Connected.');
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCli7Form.WSocket1SessionClosed(Sender: TObject;
  Error: Word);
begin
    Display('Session Closed.');
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
function RemoveEndOfLine(const Line : String) : String;
const
    EOL : String = EndOfLine;   { To make Delphi 1 happy }
begin

    if (Length(Line) >= Length(EndOfLine)) and
       (StrLComp(@Line[1 + Length(Line) - Length(EndOfLine)],
                 @EOL[1],
                 Length(EndOfLine)) = 0) then
        Result := Copy(Line, 1, Length(Line) - Length(EndOfLine))
    else
        Result := Line;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCli7Form.WSocket1DataAvailable(Sender: TObject;
  Error: Word);
var
    Buf : array [0..127] of char;
    Len : Integer;
begin
    Len := TCustomLineWSocket(Sender).Receive(@Buf, Sizeof(Buf) - 1);
    if Len <= 0 then
        Exit;
    Buf[Len] := #0;
    if not WSocket1.LineMode then
        { Normal mode, data is just a buffer with all caracters }
        Display('DataAvailable (' + IntToStr(Len) +' bytes): ''' +
                StrPas(@Buf) + '''')
    else begin
        { Line mode, buffer contains exactly one line, terminated by the }
        { LineEnd string, unless our buffer is too small in which case   }
        { the line is truncated. We'll get the end of line on the next   }
        { call to Receive.                                               }
        Display('Line: ''' + RemoveEndOfLine(StrPas(@Buf)) + '''');
    end;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCli7Form.ReadLineButtonClick(Sender: TObject);
var
    Buffer : String;
begin
    Display('Waiting for a line... (Timeout = 10Sec)');
    WSocket1.ReadLine(10000, Buffer);
    Display('Received line: ''' + RemoveEndOfLine(Buffer) + '''');
end;


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

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美区一区二| 欧美三级视频在线播放| 欧美国产日韩精品免费观看| 美女精品一区二区| www国产精品av| 不卡一区在线观看| 亚洲精品国产无天堂网2021| 欧美亚日韩国产aⅴ精品中极品| 亚洲成人一区二区在线观看| 91精品久久久久久蜜臀| 国产美女在线精品| 亚洲三级小视频| 欧美日韩成人在线一区| 激情综合一区二区三区| 中文字幕欧美激情一区| 精品国产乱码久久久久久1区2区| 韩国午夜理伦三级不卡影院| 亚洲视频 欧洲视频| 欧美日韩国产一二三| 国产老妇另类xxxxx| 亚洲黄色录像片| 精品国产乱码久久久久久久久| 不卡在线视频中文字幕| 视频一区在线视频| 国产精品免费观看视频| 69堂亚洲精品首页| 国产精品1区2区3区| 亚洲一区二区欧美激情| 久久综合色之久久综合| 91搞黄在线观看| 久久激情五月激情| 亚洲精品久久7777| 久久久久久久精| 欧美色网一区二区| 成人性生交大合| 日韩高清欧美激情| 亚洲欧美日韩国产综合在线| 日韩欧美综合在线| 在线观看三级视频欧美| 国产精品中文字幕日韩精品| 亚洲午夜久久久久久久久电影网 | 色婷婷久久久久swag精品| 日韩电影免费在线看| 亚洲视频一二三区| 国产日韩欧美精品一区| 91精品国产91热久久久做人人| 国产不卡在线播放| 国产一区二区女| 日韩精品91亚洲二区在线观看 | 一本色道久久综合精品竹菊| 国产二区国产一区在线观看| 亚洲国产一区二区三区| 亚洲免费毛片网站| 亚洲国产精品99久久久久久久久| 日韩一区二区在线观看视频 | av动漫一区二区| 国精产品一区一区三区mba视频 | 久久久久国产一区二区三区四区| 欧美视频一区在线| 91在线精品一区二区| 欧日韩精品视频| 国产激情视频一区二区在线观看 | 国产一区二区女| 免费不卡在线视频| 亚洲成av人影院| 亚洲午夜日本在线观看| 一区二区日韩电影| 亚洲永久精品大片| 亚洲一区日韩精品中文字幕| 亚洲精选视频免费看| 成人免费一区二区三区视频| 国产精品五月天| 国产精品久久久久久久久免费丝袜| 久久综合99re88久久爱| 精品国产乱码久久| 精品动漫一区二区三区在线观看| 91精品国产综合久久香蕉麻豆| 欧美日韩国产成人在线91| 欧美性生活大片视频| 欧美三级日韩三级国产三级| 精品视频资源站| 正在播放一区二区| 91精品国产91综合久久蜜臀| 欧美变态口味重另类| 2020国产成人综合网| 久久精品欧美一区二区三区麻豆| 久久影院视频免费| 久久精品免费在线观看| 国产精品毛片久久久久久| 亚洲视频在线一区观看| 亚洲一区自拍偷拍| 日韩精品五月天| 经典三级一区二区| 国产成人综合网| 成人蜜臀av电影| 色综合久久天天| 欧美一级片在线| 欧美变态tickling挠脚心| 欧美激情一区二区三区全黄| 日韩毛片视频在线看| 午夜久久福利影院| 国产精品888| 欧美在线你懂得| 日韩精品一区二区三区四区视频| 中文字幕欧美激情一区| 亚洲午夜激情网页| 国产精品一区不卡| 国产亚洲综合在线| 亚洲欧美视频一区| 三级成人在线视频| 国产激情精品久久久第一区二区| 色综合久久天天综合网| 欧美变态凌虐bdsm| 亚洲情趣在线观看| 捆绑调教美女网站视频一区| 成人免费高清视频| 日韩一级黄色片| 中文字幕亚洲电影| 日韩成人精品在线观看| 成人av集中营| 欧美不卡一区二区三区四区| **性色生活片久久毛片| 老司机午夜精品99久久| 色94色欧美sute亚洲线路一ni | 亚洲国产精品天堂| 国产成人免费9x9x人网站视频| 在线观看三级视频欧美| 久久久久国产精品人| 五月天国产精品| 成人精品小蝌蚪| 日韩欧美在线影院| 一区二区三区影院| 粉嫩一区二区三区在线看| 91精品国产一区二区| 18成人在线观看| 国产精品亚洲专一区二区三区| 欧美三级午夜理伦三级中视频| 国产女人18毛片水真多成人如厕 | 欧美mv和日韩mv的网站| 亚洲精品伦理在线| 国产91精品一区二区麻豆亚洲| 欧美精品自拍偷拍| 亚洲蜜臀av乱码久久精品| 成人精品鲁一区一区二区| 亚洲精品在线观| 日本中文在线一区| 欧美日本一区二区| 亚洲黄色片在线观看| 91亚洲国产成人精品一区二三| 久久一日本道色综合| 美女视频免费一区| 日韩一区二区中文字幕| 人妖欧美一区二区| 制服丝袜中文字幕亚洲| 午夜影院久久久| 欧美偷拍一区二区| 亚洲福利一二三区| 欧美日韩一区二区三区不卡| 一区二区视频在线看| 99久久精品情趣| 国产精品萝li| 成人一区二区三区中文字幕| 日韩精品中文字幕在线一区| 日本三级亚洲精品| 91精品国产色综合久久ai换脸| 亚洲成人自拍偷拍| 777xxx欧美| 美女视频黄a大片欧美| 日韩欧美123| 激情小说欧美图片| 久久精品亚洲国产奇米99| 国产精品一线二线三线精华| 国产三级精品视频| 大胆欧美人体老妇| 亚洲欧美综合色| 欧美亚洲自拍偷拍| 性做久久久久久| 日韩美女主播在线视频一区二区三区 | 91麻豆免费观看| 一区二区成人在线视频| 精品视频免费看| 免费成人在线视频观看| 2024国产精品视频| av在线不卡观看免费观看| 自拍av一区二区三区| 精品视频123区在线观看| 另类欧美日韩国产在线| 国产欧美一区二区精品久导航| 懂色av一区二区三区免费观看| 自拍偷在线精品自拍偷无码专区| 日本精品视频一区二区三区| 日本中文字幕一区二区有限公司| 久久只精品国产| 色综合天天视频在线观看| 亚洲国产精品久久人人爱| 日韩欧美的一区二区| 99久久99久久免费精品蜜臀| 午夜不卡av免费| 久久久久久久久蜜桃| 色狠狠av一区二区三区|