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

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

?? udwsclient.pas

?? 一個開源軟件
?? PAS
字號:
unit udwsclient;//========================================================================// Delphi Web Start Pattern// provide a technique to start apps from a TCPServer
// based on Dr. Karlheinz M鰎th and Max Kleiner
// model: Indy Toolset;
// Ex.:  with IdTCPClient1 do begin
//         if Connected then DisConnect;
//         showStatus;
//         Host:= edHost.Text;
//         Port:= StrToInt(edPort.Text);
//         Connect;
//         WriteLn(CTR_LIST);
// V1.0 lokal const with path check
// V1.1 libc execute of apps
// V1.2 compilerdirectives, execute of win apps  19.3.03
//   files already on disk aren't transported
// bug_a: filenames with spaces doesn't work
// still searching for a real progressbar while reading from indy-buffer
// to solve with events onWork...
// V1.5 version check control on client, simple on name
// V1.5 exit message to server, letTCPConnect, antifreeze component, LoCs=294
// this CLX app needs qtintf70.dll
// http://max.kleiner.com, max@kleiner.com
//========================================================================
interfaceuses  SysUtils, Types, Classes, QGraphics, QControls, QForms, QDialogs,  QStdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,  IdTCPClient,  IdAntiFreezeBase, IdAntiFreeze, QExtCtrls,  QComCtrls;type  TfrmDWS = class(TForm)    Panel1: TPanel;    Panel2: TPanel;    Panel3: TPanel;    Panel4: TPanel;    Label2: TLabel;    Label3: TLabel;    Label4: TLabel;    Label5: TLabel;    Label6: TLabel;    Splitter1: TSplitter;    edHost: TEdit;    edPath: TEdit;    edPort: TEdit;    btngetfile: TButton;    IdTCPClient1: TIdTCPClient;    lbStatus: TListBox;    lbres: TListBox;    IdAntiFreeze1: TIdAntiFreeze;    lblload: TLabel;    pnlProgbar: TPanel;    progbar: TProgressBar;    chkBVersion: TCheckBox;    startimage: TImage;    procedure btngetfileClick(Sender: TObject);    procedure FormCreate(Sender: TObject);    procedure lbResDblClick(Sender: TObject);    procedure IdTCPClient1Disconnected(Sender: TObject);    procedure IdTCPClient1Work(Sender: TObject; AWorkMode: TWorkMode;
      const AWorkCount: Integer);    procedure FormDestroy(Sender: TObject);  private    procedure showStatus;    function sureDisconnect: boolean;    procedure letTCPConnect;  public    { Public declarations }  end;var  frmDWS: TfrmDWS;implementation{$R *.xfm}{$IFDEF LINUX}uses libc;{$ENDIF}{$IFDEF MSWINDOWS}uses shellapi, windows, starter;{$ENDIF}const  kAnswer = 1;
  kEnd    = 2;
  kEmpty  = 3;
  CTR_LIST = 'return_list';
  CTR_FILE = 'return_file ';
  CTR_END = 'client exit: ';

function ReturnType(const s: String): word;begin
  if pos(s, '::END::') > 0 then Result:= kEnd else
  if length(Trim(s)) = 0 then Result:= kEmpty else
    Result:= kAnswer;
end;

procedure TfrmDWS.btngetfileClick(Sender: TObject);var  sReturn: String;
  wAnswerType: Word;
  LineCnt: Integer;
begin
  lbres.Visible:= true;
  startimage.Free;
  with IdTCPClient1 do begin
    letTCPConnect;
    showStatus;
    try
      //writeln('this is testmessage');
      WriteLn(CTR_LIST);
      lbres.Clear;
      LineCnt:= 0;
      repeat
        sReturn:= ReadLn;
        wAnswerType:= ReturnType(sReturn);
        if wAnswerType = kAnswer then begin
          lbres.Items.Add(sReturn);
          inc(LineCnt);
        end;
      until wAnswerType = kEnd;
      lbStatus.Items.Insert(0, Format('%-20s %s',
      [DateTimeToStr(now), 'DWS Server Files available: '
                + IntToStr(LineCnt) + ' entries']));
      sureDisconnect;
    except
      on E: Exception do ShowMessage(E.Message);
    end;  end; //withend;procedure TfrmDWS.FormCreate(Sender: TObject);begin  ShortDateFormat:= 'dd.mm.yyyy';  LongTimeFormat:= 'hh.mm.ss';  //just a test to find a real progressbar  with progbar do begin     visible:= True;
     Min:= 0;
     //Max:= Size;
     Step:= 5;
  end;
  IdAntiFreeze1.active:= true;
  IdAntiFreeze1.IdleTimeOut:= 500;
  lbres.visible:= false;
  lbStatus.Items.Insert(0, Format('%-20s %s',
     [DateTimeToStr(now), 'DWS client started...']));
  lbStatus.Items.Insert(0, IdTCPClient1.LocalName +'  Client');
  edHost.Text:= IdTCPClient1.LocalName;
  //edHost.Text:= IdTCPClient1.Host;
  //debug
end;
procedure TfrmDWS.lbResDblClick(Sender: TObject);var  FileStream: TFileStream;
  fname: String;begin
  with IdTCPClient1 do begin
    letTCPConnect;
    showStatus;
    //progbar.Repaint;
    try
      lbStatus.Items.Insert(0, Format('%-20s %s',
          [DateTimeToStr(now), 'Copy... ' +
          ExtractFileName(lbres.Items[lbres.ItemIndex])]));
      WriteLn(CTR_FILE + lbres.Items[lbres.ItemIndex]);
      fname:= ExpandFileName(edPath.Text + '/' +
        ExtractFileName(lbres.Items[lbres.ItemIndex]));
      delete(fname,pos(' ',fname),length(fname)- pos(' ', fname) + 1);
      if not DirectoryExists(ExtractFileDir(fname)) then
        ForceDirectories(ExtractFileDir(fname));
      //TStarter not on Linux
      if chkBVersion.Checked then
      if not TStarter.checkNameVersion(fname) then begin
        FileStream:= TFileStream.Create(fname, fmCreate);
        while connected do begin
          //progbar.Max:= filestream.size;
          //true means read until disconnect
          ReadStream(FileStream, -1, true);
          //currentReadBuffersize;
          lbStatus.Items.Insert(0, Format('%-20s %s',
          [DateTimeToStr(now),IntToStr(FileStream.Size)+ ' Chk Bytes copied']));
        end;
       FreeAndNil(FileStream);
       sureDisconnect;
      end; //if
      if not chkBVersion.Checked then begin
        FileStream:= TFileStream.Create(fname, fmCreate);
        while connected do
          ReadStream(FileStream, -1, true);
        lbStatus.Items.Insert(0, Format('%-20s %s',
        [DateTimeToStr(now), IntToStr(FileStream.Size) + ' Bytes copied']));
        FreeAndNil(FileStream);
        sureDisconnect;
      end;
     //then start application
     {$IFDEF LINUX}
      pid:= fork;
        if pid = 0 then begin
          if execvp(pchar(fname),NIL) <> 0 then halt(1);
        end else begin
          waitpid(pid, @status, 0);
        end;
      //execv(pchar(filename),NIL);
      //libc.system(pchar(filename));
     {$ENDIF}
     {$IFDEF MSWINDOWS}
     // shellapi.WinExec('c:\testcua.bat', SW_SHOW);
     with lbStatus.items do begin
       case shellapi.shellExecute(0,'open', pchar(fname), '',NIL,
                    SW_SHOWNORMAL) of
         0: insert(0, 'out of memory or resources');
         ERROR_BAD_FORMAT: insert(0, 'file is invalid in image');
         ERROR_FILE_NOT_FOUND: insert(0,'file was not found');
         ERROR_PATH_NOT_FOUND: insert(0,'path was not found');
       end;
       Insert(0, Format('%-20s %s',
               [DateTimeToStr(now), fname + ' Loaded...']));
     end
     {$ENDIF}
    except
      on E: Exception do ShowMessage(E.Message);
    end;
  end; //with
end;
procedure TfrmDWS.showStatus;begin  lbStatus.Items.Insert(0, Format('%-20s %s',       [DateTimeToStr(now), 'connect to DWS Server ...']));
  lbStatus.Items.Insert(0, Format('%-20s %s %s',
       [DateTimeToStr(now), 'Host: ', edHost.Text]));
  lbStatus.Items.Insert(0, Format('%-20s %s %s',
       [DateTimeToStr(now), 'Port: ', edPort.Text]));
end;function TfrmDWS.sureDisconnect: boolean;begin
 result:= false;
 if IdTCPClient1.Connected then
 try
   IdTCPClient1.Disconnect;
   repeat
     until NOT IdTCPClient1.Connected;
   result:= true;
 except
 end;
end;

procedure TfrmDWS.IdTCPClient1Disconnected(Sender: TObject);begin
  lbStatus.Items.Insert(0, Format('%-20s %s',
     [DateTimeToStr(now), 'DWS Connection closed ...']));
end;

procedure TfrmDWS.IdTCPClient1Work(Sender: TObject; AWorkMode: TWorkMode;  const AWorkCount: Integer);
begin
  //progbar.Step:= aWorkCount div 8 ;
  progbar.StepIt;
end;

procedure TfrmDWS.FormDestroy(Sender: TObject);begin
  with IdTCPClient1 do begin
    letTCPConnect;
    WriteLn(CTR_END + IdTCPClient1.LocalName);
    sureDisconnect;
  end;
end;

procedure TfrmDWS.letTCPConnect;begin
  with IdTCPClient1 do begin
    if Connected then sureDisconnect;
    Host:= edHost.Text;
    Port:= StrToInt(edPort.Text);
    Connect;
  end;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人在线一区二区三区| 成人妖精视频yjsp地址| 亚洲品质自拍视频| 国产精品黄色在线观看| 成人免费在线播放视频| 中文字幕在线一区免费| 一区二区三区鲁丝不卡| 亚洲成av人在线观看| 日韩激情一区二区| 久久99国产精品成人| 国产精品自拍一区| 成人精品亚洲人成在线| 91成人免费在线| 日韩一区二区三区观看| 久久久综合网站| 亚洲色图20p| 亚洲高清在线视频| 久久se精品一区二区| 国产高清不卡一区二区| 91视频xxxx| 欧美一级一区二区| 久久久亚洲精华液精华液精华液 | 94-欧美-setu| 色老头久久综合| 欧美丰满少妇xxxxx高潮对白| 欧美成人一区二区三区片免费 | 波多野洁衣一区| 91影视在线播放| 欧美成人免费网站| 成人免费在线视频观看| 免费在线观看不卡| 91欧美激情一区二区三区成人| 欧美剧情片在线观看| 国产日韩欧美一区二区三区综合| 一区二区三区免费| 国产成a人亚洲精品| 欧美精品粉嫩高潮一区二区| 国产亚洲一区二区三区在线观看| 一区二区三区欧美亚洲| 九九视频精品免费| 欧美视频精品在线观看| 中文字幕+乱码+中文字幕一区| 亚洲成av人在线观看| 成人免费黄色在线| 欧美本精品男人aⅴ天堂| 一区二区三区四区蜜桃| 成人性生交大片免费看视频在线| 欧美日韩1区2区| 亚洲女人****多毛耸耸8| 国产乱码精品一区二区三区五月婷| 欧美主播一区二区三区美女| 亚洲国产岛国毛片在线| 蜜桃av一区二区| 欧美精品久久一区二区三区| 亚洲老妇xxxxxx| www.欧美亚洲| 中文字幕不卡在线观看| 激情欧美一区二区三区在线观看| 欧美日韩视频在线观看一区二区三区| 国产精品久久久久久一区二区三区 | 91在线免费看| 国产亚洲人成网站| 国产在线视频一区二区三区| 精品日韩一区二区三区| 久久99国内精品| 欧美成人福利视频| 麻豆精品一区二区| 欧美一区二区视频在线观看| 亚洲自拍欧美精品| 91福利国产成人精品照片| 亚洲女同一区二区| 91福利社在线观看| 亚洲成av人片一区二区三区| 色噜噜狠狠成人网p站| 亚洲女同ⅹxx女同tv| 欧美性一区二区| 午夜精品视频一区| 日韩一级片在线观看| 精品一区二区在线观看| 久久免费偷拍视频| 成人免费视频一区二区| 自拍偷在线精品自拍偷无码专区 | 欧美日韩不卡一区二区| 日本女优在线视频一区二区| 日韩三级免费观看| 国内外精品视频| 中文字幕在线观看不卡| 色激情天天射综合网| 日韩中文字幕一区二区三区| 欧美一区二区成人6969| 国产高清不卡一区二区| 亚洲激情图片一区| 欧美一级高清片| 国产suv精品一区二区6| 亚洲视频综合在线| 欧美日韩一区二区在线观看| 日本免费新一区视频| 国产午夜亚洲精品羞羞网站| 一本久久综合亚洲鲁鲁五月天| 亚洲一卡二卡三卡四卡无卡久久| 欧美一区二区三区免费大片| 成人午夜在线视频| 偷拍自拍另类欧美| 国产精品狼人久久影院观看方式| 欧美午夜精品久久久久久超碰| 蜜臀av在线播放一区二区三区| 久久久国产一区二区三区四区小说| 91免费看片在线观看| 日本不卡123| 亚洲视频在线观看三级| 欧美变态凌虐bdsm| 91国产免费看| 国产成人免费网站| 日本在线播放一区二区三区| 国产精品美日韩| 日韩欧美不卡在线观看视频| 成人免费看视频| 精品一区二区在线免费观看| 亚洲免费观看在线视频| 久久精品夜夜夜夜久久| 7777精品伊人久久久大香线蕉的 | 91麻豆免费在线观看| 国产一区二区三区免费播放 | 日韩精品一区二区三区在线播放 | 亚洲成人黄色小说| 国产精品久久久久久久久搜平片| 日韩精品综合一本久道在线视频| 91黄色免费版| 91蜜桃传媒精品久久久一区二区| 国产精品66部| 蜜臀av性久久久久蜜臀av麻豆| 亚洲欧美日韩国产中文在线| 久久久不卡影院| 日韩免费观看高清完整版在线观看| 欧美自拍偷拍午夜视频| 91蜜桃免费观看视频| 97久久人人超碰| 99久久精品国产一区二区三区| 国产一区二区在线观看视频| 免费人成精品欧美精品| 日韩高清一区二区| 视频在线在亚洲| 亚洲成人av免费| 一区二区三区四区精品在线视频| 亚洲欧洲国产日本综合| 国产精品剧情在线亚洲| 国产精品第四页| 亚洲日本免费电影| 亚洲激情男女视频| 一区二区三区在线高清| 亚洲一区二区三区美女| 亚洲精品va在线观看| 亚洲一区在线观看免费观看电影高清| 综合电影一区二区三区 | 久久国产精品72免费观看| 久久国产三级精品| 国产一区二区三区四| 国产精品一区二区久久不卡 | 国内久久精品视频| 国产精品一二一区| 99久久综合色| 色噜噜狠狠成人中文综合| 欧美亚洲综合在线| 欧美电影免费观看高清完整版在| 久久综合九色综合97婷婷女人 | 麻豆成人av在线| 国产成人丝袜美腿| 99久久精品国产一区二区三区| 色综合久久66| 在线91免费看| www欧美成人18+| ...av二区三区久久精品| 悠悠色在线精品| 老司机免费视频一区二区三区| 国产精品456| 91香蕉视频污在线| 91精品国产一区二区三区蜜臀| 久久久精品蜜桃| 亚洲一区二区欧美日韩| 久久国内精品视频| 成人手机在线视频| 在线不卡欧美精品一区二区三区| 精品国产乱码久久久久久免费| 中文字幕不卡的av| 日本成人在线网站| 不卡av免费在线观看| 欧美日韩一区二区在线视频| 久久精品亚洲乱码伦伦中文| 亚洲制服丝袜av| 国产91丝袜在线18| 69堂国产成人免费视频| 亚洲视频中文字幕| 国产毛片精品国产一区二区三区| 欧美综合久久久| 国产日韩精品视频一区| 蜜桃精品视频在线| 欧美性猛交xxxx黑人交| 国产日韩欧美精品一区| 美腿丝袜亚洲综合| 欧美系列在线观看|