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

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

?? ftpcli.pas

?? 包含常用Internet協議TCP,UDP、HTTP、FTP、Telnet等
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
        HandleError('UserName emtpy');
        Exit;
    end;
    FFctPrv := ftpFctUser;
    case FConnectionType of
      ftpDirect, ftpSocks4, ftpSocks4A, ftpSocks5: ExecAsync(ftpUserAsync, 'USER '+FUserName, [331, 230], nil);
      ftpProxy: ExecAsync(ftpUserAsync, 'USER '+FUserName+'@'+FHostName, [331, 230], nil);
    end;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCustomFtpCli.PassAsync;
begin
    if Length(FPassword) <= 0 then begin
        HandleError('Password emtpy');
        Exit;
    end;
    FFctPrv := ftpFctPass;
    ExecAsync(ftpPassAsync, 'PASS '+ FPassword, [230], nil);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCustomFtpCli.SystAsync;
begin
    FFctPrv := ftpFctSyst;
    ExecAsync(ftpSystAsync, 'SYST', [215], nil);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCustomFtpCli.RestAsync;
begin
    FFctPrv   := ftpFctRest;
    { When restarting a download, we always start from current local file   }
    { size. When restarting a upload, we restart from ResumeAt property     }
    { value. This property could be initialized using Size command.         }
    if (not (FRequestType in [ftpRestartPutAsync, ftpRestPutAsync])) and
       (not (ftpNoAutoResumeAt in FOptions)) then
        FResumeAt := GetFileSize(FLocalFileName);
    if FResumeAt > 0 then
        ExecAsync(ftpRestAsync, 'REST ' + IntToStr(FResumeAt), [0], nil)
    else begin
        FRequestDoneFlag  := FALSE;
        FNext             := NextExecAsync;
        FDoneAsync        := nil;
        TriggerRequestDone(0);
    end;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCustomFtpCli.SizeAsync;
begin
    FSizeResult := 0;
    FFctPrv := ftpFctSize;
    ExecAsync(ftpSizeAsync, 'SIZE ' + FHostFileName, [213], nil);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCustomFtpCli.TypeSetAsync;
begin
    FFctPrv := ftpFctTypeSet;
    ExecAsync(ftpTypeSetAsync, 'TYPE ' + FType, [200], nil);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCustomFtpCli.TypeBinaryAsync;
begin
    Binary := TRUE;
    TypeSetAsync;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCustomFtpCli.TypeAsciiAsync;
begin
    Binary := FALSE;
    TypeSetAsync;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCustomFtpCli.MkdAsync;
begin
    FFctPrv := ftpFctMkd;
    ExecAsync(ftpMkdAsync, 'MKD ' + FHostFileName, [257], nil);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCustomFtpCli.RmdAsync;
begin
    FFctPrv := ftpFctRmd;
    ExecAsync(ftpRmdAsync, 'RMD ' + FHostFileName, [250, 257], nil);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCustomFtpCli.DeleAsync;
begin
    FFctPrv := ftpFctDele;
    ExecAsync(ftpDeleAsync, 'DELE ' + FHostFileName, [250, 257], nil);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCustomFtpCli.QuoteAsync;
begin
    FFctPrv := ftpFctQuote;
    ExecAsync(ftpQuoteAsync, FLocalFileName, [0], nil);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCustomFtpCli.PwdAsync;
begin
    FFctPrv := ftpFctPwd;
    ExecAsync(ftpPwdAsync, 'PWD', [250, 257], nil);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCustomFtpCli.CDupAsync;
begin
    FFctPrv := ftpFctCDup;
    ExecAsync(ftpCDupAsync, 'CDUP', [250], nil);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCustomFtpCli.RenFromAsync;
begin
    FFctPrv := ftpFctRenFrom;
    ExecAsync(ftpRenFromAsync, 'RNFR ' + FHostFileName, [350], nil);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCustomFtpCli.RenToAsync;
begin
    FFctPrv := ftpFctRenTo;
    ExecAsync(ftpRenToAsync, 'RNTO ' + FLocalFileName, [200, 250, 257], nil);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCustomFtpCli.AbortAsync;
var
    bFlag : Boolean;
begin
{$IFDEF TRACE} TriggerDisplay('! Aborting'); {$ENDIF}
    bFlag := (FState = ftpDnsLookup);
    StateChange(ftpAbort);
    DestroyLocalStream;
    if bFlag then
        FControlSocket.CancelDnsLookup;
    if FControlSocket.State <> wsClosed then
        FControlSocket.Close;
    if FDataSocket.State <> wsClosed then
        FDataSocket.Close;
    DestroyLocalStream;
    FConnected := FALSE;
    StateChange(ftpReady);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TCustomFtpCli.DoHighLevelAsync;
begin
{$IFDEF TRACE} TriggerDisplay('! HighLevelAsync ' + IntToStr(FRequestResult)); {$ENDIF}
    if FState = ftpAbort then begin
        {$IFDEF TRACE} TriggerDisplay('! Abort detected'); {$ENDIF}
        FFctSet := [];
        FHighLevelResult := 426;
        FErrorMessage    := '426 Operation aborted.';
    end;

    FNextRequest := DoHighLevelAsync;

    if FRequestResult <> 0 then begin
        { Previous command had errors }
        FHighLevelResult := FRequestResult;
        if (FFctPrv = ftpFctQuit) or (not (ftpFctQuit in FFctSet)) then
            FFctSet := []
        else
            FFctSet := [ftpFctQuit];
    end;

    ExtractMoreResults;

    if ftpFctOpen in FFctSet then begin
        FFctPrv := ftpFctOpen;
        FFctSet := FFctSet - [FFctPrv];
        OpenAsync;
        Exit;
    end;

    if ftpFctUser in FFctSet then begin
        FFctPrv := ftpFctUser;
        FFctSet := FFctSet - [FFctPrv];
        UserAsync;
        Exit;
    end;

    if ftpFctPass in FFctSet then begin
        FFctSet := FFctSet - [ftpFctPass];
        if (FFctPrv <> ftpFctUser) or
           ((FfctPrv = ftpFctUser) and (FStatusCode = 331)) then begin
            FFctPrv := ftpFctPass;
            PassAsync;
            Exit;
        end;
    end;

    if ftpFctCwd in FFctSet then begin
        FFctSet := FFctSet - [ftpFctCwd];
        if Length(FHostDirName) > 0 then begin
            FFctPrv := ftpFctCwd;
            CwdAsync;
            Exit;
        end;
    end;

    if ftpFctCDup in FFctSet then begin
        FFctPrv := ftpFctCDup;
        FFctSet := FFctSet - [FFctPrv];
        CDupAsync;
        Exit;
    end;

    if ftpFctTypeSet in FFctSet then begin
        FFctPrv := ftpFctTypeSet;
        FFctSet := FFctSet - [FFctPrv];
        TypeSetAsync;
        Exit;
    end;

    if ftpFctPort in FFctSet then begin
        FFctPrv := ftpFctPort;
        FFctSet := FFctSet - [FFctPrv];
        PortAsync;
        Exit;
    end;

    if ftpFctRest in FFctSet then begin
        FFctPrv := ftpFctRest;
        FFctSet := FFctSet - [FFctPrv];
        RestAsync;
        Exit;
    end;

    if ftpFctGet in FFctSet then begin
        if (FFctPrv <> ftpFctRest) or
           (FResumeAt < 0) or
           ((FFctPrv = ftpFctRest) and (FStatusCode <> 350)) then
            FResumeAt := 0;

        FFctPrv   := ftpFctGet;
        FFctSet   := FFctSet - [FFctPrv];
        ExecGetAsync;
        Exit;
    end;

    if ftpFctPut in FFctSet then begin
        FFctPrv := ftpFctPut;
        FFctSet := FFctSet - [FFctPrv];
        ExecPutAsync;
        Exit;
    end;

    if ftpFctAppend in FFctSet then begin
        FFctPrv := ftpFctAppend;
        FFctSet := FFctSet - [FFctPrv];
        ExecAppendAsync;
        Exit;
    end;

    if ftpFctDir in FFctSet then begin
        FFctPrv := ftpFctDir;
        FFctSet := FFctSet - [FFctPrv];
        ExecDirAsync;
        Exit;
    end;

    if ftpFctLs in FFctSet then begin
        FFctPrv := ftpFctLs;
        FFctSet := FFctSet - [FFctPrv];
        ExecLsAsync;
        Exit;
    end;

    if ftpFctSyst in FFctSet then begin
        FFctPrv := ftpFctSyst;
        FFctSet := FFctSet - [FFctPrv];
        SystAsync;
        Exit;
    end;

    if ftpFctMkd in FFctSet then begin
        FFctPrv := ftpFctMkd;
        FFctSet := FFctSet - [FFctPrv];
        MkdAsync;
        Exit;
    end;

    if ftpFctRmd in FFctSet then begin
        FFctPrv := ftpFctRmd;
        FFctSet := FFctSet - [FFctPrv];
        RmdAsync;
        Exit;
    end;

    if ftpFctRenFrom in FFctSet then begin
        FFctPrv := ftpFctRenFrom;
        FFctSet := FFctSet - [FFctPrv];
        RenFromAsync;
        Exit;
    end;

    if ftpFctRenTo in FFctSet then begin
        FFctPrv := ftpFctRenTo;
        FFctSet := FFctSet - [FFctPrv];
        RenToAsync;
        Exit;
    end;

    if ftpFctSize in FFctSet then beg

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
777精品伊人久久久久大香线蕉| 日韩三级免费观看| 五月天婷婷综合| 日韩欧美中文字幕公布| 亚洲欧美另类小说| 91免费观看在线| 开心九九激情九九欧美日韩精美视频电影| 国产午夜亚洲精品不卡| 欧美在线视频全部完| 国产精品99久久久久| 亚洲不卡一区二区三区| 色悠悠久久综合| 亚洲成av人片| 国产精品免费丝袜| 日韩情涩欧美日韩视频| 奇米888四色在线精品| 日本亚洲一区二区| 悠悠色在线精品| 国产精品久久久久一区| 日韩亚洲欧美中文三级| 97精品超碰一区二区三区| 国内精品嫩模私拍在线| 亚洲一区二三区| 国产精品久久久久久久久搜平片 | 中文一区二区在线观看| 在线观看www91| 亚洲第一成年网| 精品国内片67194| 欧美色图免费看| 91美女蜜桃在线| 播五月开心婷婷综合| 美女尤物国产一区| 午夜日韩在线观看| 亚洲一区二区五区| 欧美日韩一区久久| 国产一区二区三区四区五区美女 | 国产精品素人一区二区| 日韩欧美国产电影| 7878成人国产在线观看| 欧美午夜片在线看| 欧美在线999| 欧美日韩免费电影| 欧美图区在线视频| 色综合久久久久网| 一本一本久久a久久精品综合麻豆| 国内成人自拍视频| 国产主播一区二区三区| 亚洲影视资源网| voyeur盗摄精品| 成人av在线播放网站| 成人精品在线视频观看| 国产一区二区三区在线观看精品 | 国产成a人无v码亚洲福利| 奇米影视7777精品一区二区| 亚洲不卡一区二区三区| 国产精品乱码一区二区三区软件| 亚洲精品免费播放| 综合电影一区二区三区 | 亚洲欧美色图小说| 亚洲精品视频自拍| 综合电影一区二区三区 | 国产成人激情av| 高清视频一区二区| 成人丝袜18视频在线观看| 99久久婷婷国产综合精品| av在线综合网| 亚洲男人的天堂在线aⅴ视频 | 在线观看欧美日本| 久久福利资源站| 亚洲激情网站免费观看| 天堂午夜影视日韩欧美一区二区| 亚洲妇女屁股眼交7| 日日摸夜夜添夜夜添国产精品| 亚洲午夜视频在线| 午夜影视日本亚洲欧洲精品| 日韩高清不卡一区二区| 裸体在线国模精品偷拍| 另类小说视频一区二区| 国产精品中文字幕日韩精品| 亚洲成人7777| 中文字幕亚洲成人| 久久综合成人精品亚洲另类欧美 | 亚洲免费视频成人| 亚洲成人黄色影院| 日韩高清在线电影| 国产乱码精品一区二区三区忘忧草| 高清国产午夜精品久久久久久| 91丨porny丨蝌蚪视频| 色久优优欧美色久优优| 国产综合色视频| 午夜欧美电影在线观看| 亚洲综合色区另类av| 日韩精品一二三四| 国产一区二区三区四| 一本一本久久a久久精品综合麻豆| 欧美日韩亚洲丝袜制服| 日韩欧美一二三区| 欧美激情一区二区三区不卡| 亚洲免费资源在线播放| 日本一不卡视频| 91在线丨porny丨国产| 欧美一区二区三区性视频| 欧美日韩精品免费观看视频| 成人国产精品视频| 日韩精品一区二区三区在线| 中文字幕日本不卡| 天天做天天摸天天爽国产一区 | 欧美视频在线不卡| 久久久亚洲欧洲日产国码αv| 亚洲天堂中文字幕| 狠狠色丁香久久婷婷综| 成人av在线电影| 精品免费视频.| 亚洲一区av在线| 国产91丝袜在线播放九色| 成人18视频在线播放| 日韩欧美高清一区| 亚洲欧洲av在线| 亚洲视频一区二区免费在线观看| 极品销魂美女一区二区三区| 欧美日韩色综合| 亚洲视频香蕉人妖| 国产一区在线观看视频| 欧美性猛片aaaaaaa做受| 色94色欧美sute亚洲线路一久 | 激情综合网av| 处破女av一区二区| 亚洲精品一线二线三线| 日韩伦理免费电影| 国产精品白丝jk黑袜喷水| 欧美三级视频在线| 久久久久99精品一区| 五月婷婷欧美视频| 一本大道久久a久久精品综合 | 国产精品中文字幕一区二区三区| 国产欧美va欧美不卡在线| 午夜精品影院在线观看| 欧美一区二区三区喷汁尤物| 国产自产视频一区二区三区| 久久久久久久性| 色综合天天综合狠狠| 一区二区三区在线视频免费 | 麻豆成人久久精品二区三区小说| 日韩欧美一区二区不卡| 国产精品一区不卡| 亚洲日本免费电影| 欧美一区二区三区性视频| 国产**成人网毛片九色| 亚洲精品网站在线观看| 欧美日韩国产大片| 国产精品一区不卡| 亚洲女同ⅹxx女同tv| 91精品国产综合久久精品性色 | 色丁香久综合在线久综合在线观看| 午夜免费欧美电影| 久久久久久久综合色一本| 成人开心网精品视频| 午夜精品久久久久久久99水蜜桃| 久久免费视频一区| 在线观看91视频| 韩国av一区二区三区四区| 国产精品福利一区| 日韩一级片网站| 在线亚洲一区观看| 国产一区二区三区av电影 | 日本aⅴ亚洲精品中文乱码| 精品99一区二区| 日本韩国欧美国产| 国内精品视频一区二区三区八戒| 亚洲精品视频免费看| 久久欧美中文字幕| 欧美日韩中文另类| 国产精品白丝av| 亚洲一区二区中文在线| 国产农村妇女毛片精品久久麻豆| 欧美疯狂性受xxxxx喷水图片| 国产91精品免费| 日韩精品三区四区| 亚洲欧美欧美一区二区三区| 精品国产免费视频| 在线免费观看日本欧美| 国产91丝袜在线播放| 久久国产精品99精品国产| 婷婷夜色潮精品综合在线| 专区另类欧美日韩| 国产日韩三级在线| 日韩欧美国产午夜精品| 欧美日韩一区三区| 91麻豆免费看| 成人一区在线观看| 国产中文字幕一区| 日本欧美一区二区| 亚洲国产视频直播| 亚洲理论在线观看| 欧美激情在线一区二区| ww亚洲ww在线观看国产| 欧美美女视频在线观看| 91色porny| 成人精品视频一区二区三区| 国产揄拍国内精品对白|