NSDFTP メンバ

FTP(File Transfer Protocol)を使用してファイルの操作を行います。


●コンストラクタ

名前 引数 説明
NSDFTP なし NSDFTPを初期化します。
( String ) NSDFTPをURLを指定して初期化します。
( String , String ) NSDFTPをサーバー名、パス名を指定して初期化します。
( String , String , String ) NSDFTPをサーバー名、ユーザー名、パスワードを指定して初期化します。
( String , String , String , String ) NSDFTPをサーバー名、ユーザー名、パスワード、パス名を指定して初期化します。
( String , String , String , String , Integer) NSDFTPをサーバー名、ユーザー名、パスワード、パス名、ポート番号を指定して初期化します。
( NSDFtp_Connect_Info ) NSDFTPを接続情報を指定して初期化します。

●プロパティの一覧

名前 説明
CheckSymboliclinkStyle シンボリックリンクの場合、リンク先の確認を行うかを設定します。
ConnectMode 接続モードを設定します。
DefaultServerForm デフォルトのサーバー形式を設定します。
FtpServer FTPサーバー名を設定します。
GetFileFolderSort ファイル、フォルダ情報の取得結果のソートを設定します。
MessageString メッセージを返します。
NotGetFolderSymboliclink 階層下情報がシンボリックリンクフォルダの場合、階層下情報の取得有無を設定します。
PassiveModeCheckWaitTime 読み込み待ち時間を設定します。
Password パスワードを設定します。
PathName 接続パス名を設定します。
PortNo 接続するリモートポート番号を設定します。
ReceiveBufferSize 受信バッファサイズを設定します。
ReceiveTimeout 受信時のタイムアウト値を設定します。
SendAfterWaitTime 送信命令直後に待つ待ち時間を設定します。
SendBufferSize 送信バッファサイズを設定します。
SendTimeout 送信時のタイムアウト値を設定します。
ServerSystem 接続サーバーのシステム名を返します。
TextEncoding テキストのEncodingを設定します。
TryThrow 例外エラーの発生有無を設定します。
UploadSendNOOP アップロード時に「NOOP」命令を定期的に送信するかを設定します。
UploadSendNOOPCheckCount アップロード時に「NOOP」を送信するチェック回数を設定します。
UserName ユーザー名を設定します。

●メソッドの一覧

名前 引数 戻り値 説明
Dispose なし なし リソースの解放を行います。
※終了時に必ず呼び出します。

(内部でCls_Dispose()を呼び出しています。終了処理でCls_Dispose()を呼び出している場合は、呼び出す必要はありません。)

Cls_Dispose なし なし リソースの解放を行います。
※終了時に必ず呼び出します。

(終了処理でDispose()を呼び出している場合は、呼び出す必要はありません。)

Login なし Boolean サーバーにログインします。
CrackUrl ( String , String , String , String ) Boolean URLを分解します。
GetFileList ( [Boolean] ) String() ファイルリストを取得します。
GetFolderList ( [Boolean] ) String() フォルダリストを取得します。
GetFileAndFolderInfo なし FTP_FILE_FOLDER_INFO() ファイル、フォルダの情報を取得します。
( Boolean ) FTP_FILE_FOLDER_INFO() ファイル、フォルダの情報を取得します。
(階層下フォルダの情報取得有無を指定できます。)
( Boolean , Boolean ) FTP_FILE_FOLDER_INFO() ファイル、フォルダの情報を取得します。
(階層下フォルダの情報取得有無、中止の有無を指定できます。)
IsGetFileFolder なし Boolean ファイル、フォルダリストの取得中か?を返します。
IsFile ( String ) Boolean ファイルか?を返します。
GetFileSize ( String ) Long ファイルサイズを取得します。
DownloadFile ( String , String ) Boolean リモートファイル、ローカルファイルを指定してファイルをダウンロードします。
( String , String , Boolean ) Boolean リモートファイル、ローカルファイル、中止チェックを指定してファイルをダウンロードします。
( String , String , Boolean , Boolean , Boolean ) Boolean リモートファイル、ローカルファイル、リジューム、上書き確認を指定してファイルをダウンロードします。
DownloadResumeFile ( String , String ) Boolean 前回ダウンロードに失敗した位置からファイルをダウンロードします。
( String , String , Boolean ) Boolean 前回ダウンロードに失敗した位置から中止チェックを指定してファイルをダウンロードします。
IsDownloadFile なし Boolean ファイルをダウンロード中か?を返します。
UploadFile ( String ) Boolean 指定ファイルをアップロードします。
( String , Boolean ) Boolean 指定ファイル、中止チェックを指定してアップロードします。
( String , Boolean , Boolean ) Boolean 指定ファイル、中止チェック、リジュームを指定してアップロードします。
IsUploadFile なし Boolean ファイルをアップロード中か?を返します。
DeleteFile ( String ) Boolean ファイルを削除します。
RenameFile ( String , String ) ファイルまたはフォルダ名を変更します。
CreateFolder ( String ) Boolean フォルダを作成します。
RemoveFolder ( String ) Boolean フォルダを削除します。
GetCurrentFolder なし String カレントフォルダを取得します。
ChangeFolder ( String ) String カレントフォルダを変更します。
ChangeUpCurrentFolder なし Boolean カレントフォルダを1つ上位に移動します。
SetBinaryMode ( Boolean ) Boolean バイナリーモード、アスキーモードを指定します。
CloseConnection なし なし リモートサーバーの接続をクローズします。

●イベントの一覧

名前 引数 戻り値 説明
StopCheck_GetFileOrFolderList ( FTP_FILE_FOLDER_INFO , Boolean ) なし GetFileOrFolderList処理の中断有無の設定イベント。
StopCheck_DownloadFile ( Boolean , Long , Long , Boolean ) なし DownloadFile処理の中断有無の設定イベント。
StopCheck_UploadFile ( Boolean , Long , Long , Boolean ) なし UploadFile処理の中断有無の設定イベント。

●データ用クラスの一覧

名前:NSDFtp_Socket_Info

構文:

Public Class NSDFtp_Socket_Info
    Public ReceiveBufferSize As Int32
    Public SendBufferSize As Int32
    Public ReceiveTimeout As Integer
    Public SendTimeout As Integer
    Public PassiveModeCheckWaitTime As Integer
    Public SendAfterWaitTime As Integer
    Public UploadSendNOOP As Boolean
    Public UploadSendNOOPCheckCount As Integer
End Class

内容:ソケット情報。

名前 説明
ReceiveBufferSize Int32 受信バッファサイズ。(既定値:8192)
SendBufferSize Int32 送信バッファサイズ。(既定値:8192)
ReceiveTimeout Integer 受信時のタイムアウト値(ms単位)。(既定値:30000)
SendTimeout Integer 送信時のタイムアウト値(ms単位)。(既定値:30000)
PassiveModeCheckWaitTime Integer パッシブモードでのデータ読み込み時に遅延により、ソケットに読み込みデータがセットされていない場合の対策用待ち時間(ms単位)。(既定値:100)
SendAfterWaitTime Integer 送信命令直後に待つ待ち時間(ms単位)。(既定値:10)
UploadSendNOOP Boolean アップロード時に「NOOP」命令を定期的に送信するかを設定します。
(規定値:True=送信する。)
UploadSendNOOPCheckCount Integer アップロード時に「NOOP」を送信するチェック回数を設定します。(規定値:2)
実際のチェック数は、(SendBufferSize / 512) * UploadSendNOOPCheckCountの回数を送信した時に「NOOP」を送信します。

 

名前:NSDFtp_Connect_Info

構文:

Public Class NSDFtp_Connect_Info
    Public ServerName As String
    Public PathName As String
    Public UserName As String
    Public Password As String
    Public PortNo As Integer
    Public MessageString As String
    Public ServerOS As String
    Public ConnectMode As FTP_CONNECT_MODE
    Public SocketInfo As NSDFtp_Socket_Info
    Public DefaultServer As SERVER_FORM
    Public TextEncoding As TEXT_ENCODING
    Public TryThrowFlag As Boolean
    Public NotGetFolderSymboliclink As Boolean
    Public CheckSymboliclinkStyle As Boolean
    Public GetFileFolderSort As GET_FILE_FOLDER_STYLE
End Class

内容:接続情報。

名前 説明
ServerName String リモートサーバー名。(既定値:Nothing)
PathName String リモートパス名。(既定値:".")
UserName String リモートユーザー名。(既定値:"anonymous")
Password String リモートパスワード。(既定値:Nothing)
PortNo Integer リモートポート番号。(既定値:21)
MessageString String メッセージ。(既定値:Nothing)
ServerOS String リモートサーバーのシステム名。(既定値:Nothing)
ConnectMode FTP_CONNECT_MODE 接続モード。(既定値:FTP_CONNECT_MODE.Mode_Passive)
SocketInfo NSDFtp_Socket_Info ソケット情報。(既定値:NSDFtp_Socket_Infoの既定値)
DefaultServer SERVER_FORM デフォルトのサーバー形式。
(既定値:SERVER_FORM.UNIX_SERVER)
TextEncoding TEXT_ENCODING テキストのエンコード種類。
(既定値:TEXT_ENCODING.shift_jis)
TryThrowFlag Boolean 例外エラーの発生有無を指定します。
(既定値:False=例外エラーを発生させません。)
NotGetFolderSymboliclink Boolean ファイル、フォルダ情報の取得時で階層下を取得する場合、シンボリックリンクがフォルダの場合は階層下を取得しません。(既定値:True=階層下を取得しません。)
CheckSymboliclinkStyle Boolean シンボリックリンクの場合、リンク先がファイルかフォルダかを確認します。(既定値:True=確認します。)
(Falseの場合は、リンク先が全てファイルで扱います。)
GetFileFolderSort GET_FILE_FOLDER_STYLE ファイル、フォルダ情報の取得結果をソートするかを指定します。
(既定値:GET_FILE_FOLDER_STYLE.Sort_Folder_File)

 

名前:FTP_FILE_FOLDER_INFO

構文:

Public Class FTP_FILE_FOLDER_INFO
    Public FileStyle As FTP_FILE_OR_FOLDER
    Public Path As String
    Public FullPath As String
    Public Name As String
    Public Size As Long
    Public TimeStamp As DateTime
    Public Linked As String
    Public LinkedFileStyle As FTP_FILE_OR_FOLDER
    Public FileFolderInfo() As FTP_FILE_FOLDER_INFO
End Class

内容:ファイル、フォルダ情報。

名前 説明
FileStyle FTP_FILE_OR_FOLDER ファイル、フォルダ等の確認用。
(既定値:FTP_FILE_OR_FOLDER.File_Only)
Path String パス名。(既定値:Nothing)
FullPath String フルパス名。(既定値:Nothing)
Name String 名前。(既定値:Nothing)
Size Long サイズ。(既定値:0)
TimeStamp DateTime タイムスタンプ。(既定値:Nothing)
Linked String リンク先。(既定値:Nothing)
※FileStyle = FTP_FILE_OR_FOLDER.symboliclinkの時のみ有効です。)
LinkedFileStyle FTP_FILE_OR_FOLDER リンク先のスタイル。
(既定値:FTP_FILE_OR_FOLDER.File_Only)
※FileStyle = FTP_FILE_OR_FOLDER.symboliclinkの時のみ有効です。)
FileFolderInfo() FTP_FILE_FOLDER_INFO 階層下情報。(既定値:Nothing)

●定数の一覧

名前:SERVER_FORM (サーバー形式:NSDFtp_Connect_Infoクラス内で設定。)
名前 内容
UNIX_SERVER Unixサーバー形式。
WINDOWS_SERVER Windowsサーバー形式。
MACOS_Peters_Server Macサーバー形式。

 

名前:TEXT_ENCODING (エンコード種類:NSDFtp_Connect_Infoクラス内で設定。
*がついているコードページは、基になるプラットフォームに関係なく.NET Frameworkでネイティブにサポートされています。)
名前 内容
IBM037 IBM EBCDIC (US - カナダ)
IBM437 OEM アメリカ合衆国
IBM500 IBM EBCDIC (インターナショナル)
ASMO_708 アラビア語 (ASMO 708)
DOS_720 アラビア語 (DOS)
ibm737 ギリシャ語 (DOS)
ibm775 バルト言語 (DOS)
ibm850 西ヨーロッパ言語 (DOS)
ibm852 中央ヨーロッパ言語 (DOS)
IBM855 OEM キリル
ibm857 トルコ語 (DOS)
IBM00858 OEM マルチリンガル ラテン I
IBM860 ポルトガル語 (DOS)
ibm861 アイスランド語 (DOS)
DOS_862 ヘブライ語 (DOS)
IBM863 フランス語 (カナダ) (DOS)
IBM864 アラビア語 (864)
IBM865 北欧 (DOS)
cp866 キリル言語 (DOS)
ibm869 ギリシャ語, Modern (DOS)
IBM870 IBM EBCDIC (多国語ラテン 2)
windows_874 タイ語 (Windows)
cp875 IBM EBCDIC (ギリシャ語 Modern)
shift_jis 日本語 (シフト JIS)
gb2312 簡体字中国語 (GB2312) *
ks_c_5601_1987 韓国語
big5 繁体字中国語 (Big5)
IBM1026 IBM EBCDIC (トルコ語ラテン 5)
IBM01047 IBM ラテン-1
IBM01140 IBM EBCDIC (US - カナダ - ヨーロッパ)
IBM01141 IBM EBCDIC (ドイツ - ヨーロッパ)
IBM01142 IBM EBCDIC (デンマーク - ノルウェー - ヨーロッパ)
IBM01143 IBM EBCDIC (フィンランド - スウェーデン - ヨーロッパ)
IBM01144 IBM EBCDIC (イタリア - ヨーロッパ)
IBM01145 IBM EBCDIC (スペイン - ヨーロッパ)
IBM01146 IBM EBCDIC (UK - ヨーロッパ)
IBM01147 IBM EBCDIC (フランス - ヨーロッパ)
IBM01148 IBM EBCDIC (インターナショナル - ヨーロッパ)
IBM01149 IBM EBCDIC (アイスランド語 - ヨーロッパ)
utf_16 Unicode *
unicodeFFFE Unicode (ビッグ エンディアン) *
windows_1250 中央ヨーロッパ言語 (Windows)
windows_1251 キリル言語 (Windows
Windows_1252 西ヨーロッパ言語 (Windows) *
windows_1253 ギリシャ語 (Windows)
windows_1254 トルコ語 (Windows)
windows_1255 ヘブライ語 (Windows)
windows_1256 アラビア語 (Windows)
windows_1257 バルト言語 (Windows)
windows_1258 ベトナム語 (Windows)
Johab 韓国語 (Johab)
macintosh 西ヨーロッパ言語 (Mac)
x_mac_japanese 日本語 (Mac)
x_mac_chinesetrad 繁体字中国語 (Mac)
x_mac_korean 韓国語 (Mac) *
x_mac_arabic アラビア語 (Mac)
x_mac_hebrew ヘブライ語 (Mac)
x_mac_greek ギリシャ語 (Mac)
x_mac_cyrillic キリル言語 (Mac)
x_mac_chinesesimp 簡体字中国語 (Mac) *
x_mac_romanian ルーマニア語 (Mac)
x_mac_ukrainian ウクライナ語 (Mac)
x_mac_thai タイ語 (Mac)
x_mac_ce 中央ヨーロッパ言語 (Mac)
x_mac_icelandic アイスランド語 (Mac)
x_mac_turkish トルコ語 (Mac)
x_mac_croatian クロアチア語 (Mac)
utf_32 Unicode (UTF-32) *
utf_32BE Unicode (UTF-32 ビッグ エンディアン) *
x_Chinese_CNS 繁体字中国語 (CNS)
x_cp20001 TCA 台湾
x_Chinese_Eten 繁体字中国語 (Eten)
x_cp20003 IBM5550 台湾
x_cp20004 TeleText 台湾
x_cp20005 Wang 台湾
x_IA5 西ヨーロッパ言語 (IA5)
x_IA5_German ドイツ語 (IA5)
x_IA5_Swedish スウェーデン語 (IA5)
x_IA5_Norwegian ノルウェー語 (IA5)
us_ascii US-ASCII *
x_cp20261 T.61
x_cp20269 ISO -6937
IBM273 IBM EBCDIC (ドイツ)
IBM277 IBM EBCDIC (デンマーク - ノルウェー)
IBM278 IBM EBCDIC (フィンランド - スウェーデン)
IBM280 IBM EBCDIC (イタリア)
IBM284 IBM EBCDIC (スペイン)
IBM285 IBM EBCDIC (UK)
IBM290 IBM EBCDIC (日本語カタカナ)
IBM297 IBM EBCDIC (フランス)
IBM420 IBM EBCDIC (アラビア語)
IBM423 IBM EBCDIC (ギリシャ語)
IBM424 IBM EBCDIC (ヘブライ語)
x_EBCDIC_KoreanExtended IBM EBCDIC (韓国語 Extended)
IBM_Thai IBM EBCDIC (タイ語)
koi8_r キリル言語 (KOI8-R)
IBM871 IBM EBCDIC (アイスランド語)
IBM880 IBM EBCDIC (キリル言語 - ロシア語)
IBM905 IBM EBCDIC (トルコ語)
IBM00924 IBM ラテン-1
EUC__JP 日本語 (JIS 0208-1990 および 0212-1990)
x_cp20936 簡体字中国語 (GB2312-80) *
x_cp20949 韓国語 Wansung *
cp1025 IBM EBCDIC (キリル言語 セルビア - ブルガリア)
koi8_u キリル言語 (KOI8-U)
iso_8859_1 西ヨーロッパ言語 (ISO) *
iso_8859_2 中央ヨーロッパ言語 (ISO)
iso_8859_3 ラテン 3 (ISO)
iso_8859_4 バルト言語 (ISO)
iso_8859_5 キリル言語 (ISO)
iso_8859_6 アラビア語 (ISO)
iso_8859_7 ギリシャ語 (ISO)
iso_8859_8 ヘブライ語 (ISO-Visual) *
iso_8859_9 トルコ語 (ISO)
iso_8859_13 エストニア語 (ISO)
iso_8859_15 ラテン 9 (ISO)
x_Europa ヨーロッパ
iso_8859_8_i ヘブライ語 (ISO-Logical) *
iso_2022_jp 日本語 (JIS) *
csISO2022JP 日本語 (JIS 1 バイト カタカナ可) *
iso_2022_jp_1byteKatakana 日本語 (JIS 1 バイト カタカナ可 - SO/SI) *
iso_2022_kr 韓国語 (ISO) *
x_cp50227 簡体字中国語 (ISO-2022) *
euc_jp 日本語 (EUC) *
EUC_CN 簡体字中国語 (EUC) *
euc_kr 韓国語 (EUC) *
hz_gb_2312 簡体字中国語 (HZ) *
GB18030 簡体字中国語 (GB18030) *
x_iscii_de ISCII デバナガリ文字 *
x_iscii_be ISCII ベンガル語 *
x_iscii_ta ISCII タミール語 *
x_iscii_te ISCII テルグ語 *
x_iscii_as ISCII アッサム語 *
x_iscii_or ISCII オリヤー語 *
x_iscii_ka ISCII カナラ語 *
x_iscii_ma ISCII マラヤラム語 *
x_iscii_gu ISCII グジャラート語 *
x_iscii_pa ISCII パンジャブ語 *
utf_7 Unicode (UTF-7) *
utf_8 Unicode (UTF-8) *

 

名前:GET_FILE_FOLDER_STYLE (ファイル、フォルダ情報の取得値のソート種類:NSDFtp_Connect_Infoクラス内で設定。)
名前 内容
Direct ソートなし。
Sort_File_Folder ファイル、フォルダ順。
Sort_Folder_File フォルダ、ファイル順。

 

名前:FTP_CONNECT_MODE (接続モード。)
名前 内容
Mode_Active アクティブモード。
Mode_Passive パッシップモード。

 

名前:FTP_FILE_OR_FOLDER (ファイル、フォルダの確認)
名前 内容
File_Only ファイル。
Folder_Only フォルダ。
FileAndFolder ファイルとフォルダ。
symboliclink シンボリックリンク。

●NSDFTPコンストラクタの説明

名前:コンストラクタ
機能:リソースの割り当て。

@NSDFTPを初期化します。

構文:Public Sub New()

引数:なし。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class	

 

ANSDFTPをURLを指定して初期化します。

構文:Public Sub New( URL )

引数:

名前 引数渡しの方法 説明
URL String 値渡し(ByVal) URLを渡します。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP("ftp://xxx.co.jp/pub/")
    
    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

BNSDFTPをサーバー名、パス名を指定して初期化します。

構文:Public Sub New( ServerName , PathName )

引数:

名前 引数渡しの方法 説明
ServerName String 値渡し(ByVal) サーバー名を渡します。
PathName String 値渡し(ByVal) パス名を渡します。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP("xxx.co.jp", "/pub/")
        
    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

CNSDFTPをサーバー名、ユーザー名、パスワードを指定して初期化します。

構文:Public Sub New( ServerName , UserName , Password )

引数:

名前 引数渡しの方法 説明
ServerName String 値渡し(ByVal) サーバー名を渡します。
UserName String 値渡し(ByVal) ユーザー名を渡します。
Password String 値渡し(ByVal) パスワードを渡します。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP("xxx.co.jp", "anonymous", "")
        
    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

DNSDFTPをサーバー名、ユーザー名、パスワード、パス名を指定して初期化します。

構文:Public Sub New( ServerName , UserName , Password , PathName )

引数:

名前 引数渡しの方法 説明
ServerName String 値渡し(ByVal) サーバー名を渡します。
UserName String 値渡し(ByVal) ユーザー名を渡します。
Password String 値渡し(ByVal) パスワードを渡します。
PathName String 値渡し(ByVal) パス名を渡します。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP("xxx.co.jp", "anonymous", "", "/pub/")

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

ENSDFTPをサーバー名、ユーザー名、パスワード、パス名、ポート番号を指定して初期化します。

構文:Public Sub New( ServerName , UserName , Password , PathName , PortNo )

引数:

名前 引数渡しの方法 説明
ServerName String 値渡し(ByVal) サーバー名を渡します。
UserName String 値渡し(ByVal) ユーザー名を渡します。
Password String 値渡し(ByVal) パスワードを渡します。
PathName String 値渡し(ByVal) パス名を渡します。
PortNo Integer 値渡し(ByVal) ポート番号を渡します。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP("xxx.co.jp", "anonymous", "", "/pub/", 21)

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

FNSDFTPを接続情報を指定して初期化します。

構文:Public Sub New( ConnectInfo )

引数:

名前 引数渡しの方法 説明
ConnectInfo NSDFtp_Connect_Info 参照渡し(ByRef) 接続情報を渡します。

使用例:

Public Class Form1
    Dim Cls_ConnectInfo As New NSDFTP.NSDFtp_Connect_Info

    With Cls_ConnectInfo
        .ServerName = ""    ' Ftpサーバー名。
        .UserName = ""      ' ユーザー名。
        .Password = ""      ' パスワード。
        .PathName = ""      ' パス名。
    End With

    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP(Cls_ConnectInfo)

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

●NSDFTPプロパティの説明

名前:CheckSymboliclinkStyle

構文:Public Property CheckSymboliclinkStyle() As Boolean

機能:シンボリックリンクの場合、リンク先の確認を行うかを設定します。

引数:なし。

値:Boolean

値の説明:

True :リンク先の確認を行います。(既定値)
False:リンク先の確認を行いません(リンク先は全てファイルで扱います)。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            ' 階層下情報がシンボリックリンクフォルダの場合、階層下情報を取得しません。
            ClsPrv_FTP.NotGetFolderSymboliclink = True
            ' シンボリックリンク先の確認を行います。
            ClsPrv_FTP.CheckSymboliclinkStyle = True
            ' フォルダ、ファイルリストを取得します。
            Dim Cls_FileFolderList() As NSDFTP.FTP_FILE_FOLDER_INFO = ClsPrv_FTP.GetFileAndFolderInfo(True)
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:ConnectMode

構文:Public Property ConnectMode() As NSDFtp_Connect_Info.FTP_CONNECT_MODE

機能:接続モードを設定します。

引数:なし。

値:NSDFtp_Connect_Info.FTP_CONNECT_MODE

値の説明:接続モードを設定、取得します。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。
        ClsPrv_FTP.PortNo = 21              ' リモートポート番号。
        ' パッシップモードで接続します。
        ClsPrv_FTP.ConnectMode = NSDFtp_Connect_Info.FTP_CONNECT_MODE.Mode_Passive

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:DefaultServerForm

構文:Public Property DefaultServerForm() As NSDFtp_Connect_Info.SERVER_FORM

機能:デフォルトのサーバー形式を設定します。

※ファイル、フォルダ情報のリストを取得する場合に、リモートサーバーのシステム名から
サーバー形式が割り出せない場合に使用します。

引数:なし。

値:NSDFtp_Connect_Info.SERVER_FORM

値の説明:

デフォルトのサーバー形式を設定します。
(既定値:NSDFtp_Connect_Info.SERVER_FORM.UNIX_SERVER)

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            ' デフォルトのサーバー形式にUnixを指定。
            ClsPrv_FTP.DefaultServerForm = NSDFTP.NSDFtp_Connect_Info.SERVER_FORM.UNIX_SERVER
            ' フォルダ、ファイルリストを取得します。
            Dim Cls_FileFolderList() As NSDFTP.FTP_FILE_FOLDER_INFO = ClsPrv_FTP.GetFileAndFolderInfo()
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:FtpServer

構文:Public Property FtpServer() As String

機能:FTPサーバー名を設定します。

引数:なし。

値:String

値の説明:

FTPサーバー名を設定、取得します。(既定値:Nothing)

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click
        ' FTPアドレスを取得。
        Dim Str_Url As String = ""              ' <- Urlをセット。
        Dim Str_Scheme As String = Nothing      ' スキーム名。
        Dim Str_ServerName As String = Nothing  ' サーバー名。
        Dim Str_UrlPath As String = Nothing     ' URLパス名。

        ' FTPアドレスをセット。
        If ClsPrv_FTP.CrackUrl(Str_Url, _
                               Str_Scheme, _
                               Str_ServerName, _
                               Str_UrlPath) Then
            ClsPrv_FTP.FtpServer = Str_ServerName   ' サーバー名。
            ClsPrv_FTP.PathName = Str_UrlPath       ' パス名。
        End If

        ' ログインIDをセットします。
        ClsPrv_FTP.UserName = "anonymous"
        ' パスワードをセットします。
        ClsPrv_FTP.Password = ""

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:GetFileFolderSort

構文:Public Property GetFileFolderSortStyle() As NSDFtp_Connect_Info.GET_FILE_FOLDER_STYLE

機能:ファイル、フォルダ情報の取得結果のソートを設定します。

引数:なし。

値:NSDFtp_Connect_Info.GET_FILE_FOLDER_STYLE

値の説明:

ファイル、フォルダ情報の取得結果のソートスタイルを設定します。
(既定値:NSDFtp_Connect_Info.GET_FILE_FOLDER_STYLE.Sort_Folder_File)

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            ' フォルダ-ファイル順でソートします。
            ClsPrv_FTP.GetFileFolderSortStyle = NSDFTP.NSDFtp_Connect_Info.GET_FILE_FOLDER_STYLE.Sort_Folder_File
            ' フォルダ、ファイルリストを取得します。
            Dim Cls_FileFolderList() As NSDFTP.FTP_FILE_FOLDER_INFO = ClsPrv_FTP.GetFileAndFolderInfo(True)
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:MessageString

構文:Public ReadOnly Property MessageString() As String

機能:メッセージを返します。

引数:なし。

値:String

値の説明:

メッセージを返します。(既定値:Nothing)

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")
        Else
            If Not String.IsNullOrEmpty(ClsPrv_FTP.MessageString) Then
                MsgBox(ClsPrv_FTP.MessageString)
            Else
                MsgBox("ログインができません。" & vbCrLf & _
                       "FTPアドレス、ログインID、パスワードを確認してください。")
            End If
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:NotGetFolderSymboliclink

構文:Public Property NotGetFolderSymboliclink() As Boolean

機能:階層下情報がシンボリックリンクフォルダの場合、階層下情報の取得有無を設定します。

引数:なし。

値:Boolean

値の説明:

True :シンボリックリンクフォルダの場合は、階層下を取得しません。(既定値)
False:シンボリックリンクフォルダの場合でも階層下を取得します。

※シンボリックリンクフォルダのリンク先によっては無限ループが発生する場合が考えられます。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            ' 階層下情報がシンボリックリンクフォルダの場合、階層下情報を取得しません。
            ClsPrv_FTP.NotGetFolderSymboliclink = True
            ' フォルダ、ファイルリストを取得します。
            Dim Cls_FileFolderList() As NSDFTP.FTP_FILE_FOLDER_INFO = ClsPrv_FTP.GetFileAndFolderInfo(True)
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:PassiveModeCheckWaitTime

構文:Public Property PassiveModeCheckWaitTime() As Integer

機能:読み込み待ち時間を設定します(ms単位)。

引数:なし。

値:Integer

値の説明:

パッシブモードでのデータ読み込み時に遅延により、
ソケットに読み込みデータがセットされていない場合
の対策用待ち時間。
(既定値:100)。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click
        ' 送信バッファサイズ。
        ClsPrv_FTP.SendBufferSize = 8192
        ' 送信時のタイムアウト値(ms単位)。
        ClsPrv_FTP.SendTimeout = 30000
        ' 受信バッファサイズ。
        ClsPrv_FTP.ReceiveBufferSize = 8192
        ' 受信時のタイムアウト値(ms単位)。
        ClsPrv_FTP.ReceiveTimeout = 30000
        ' 読み込み待ち時間。
        ClsPrv_FTP.PassiveModeCheckWaitTime = 100
        ' 送信命令直後に待つ待ち時間(ms単位)。
        ClsPrv_FTP.SendAfterWaitTime = 10
        ' アップロード時に「NOOP」命令を定期的に送信するかを設定。
        ClsPrv_FTP.UploadSendNOOP = True
        ' アップロード時に「NOOP」を送信するチェック回数を設定。
        ClsPrv_FTP.UploadSendNOOPCheckCount = 2

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:Password

構文:Public Property Password() As String

機能:パスワードを設定します。

引数:なし。

値:String

値の説明:

パスワードを設定、取得します。(既定値:Nothing)

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""        ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:PathName

構文:Public Property PathName() As String

機能:接続パス名を設定します。

引数:なし。

値:String

値の説明:

接続パス名を設定、取得します。(既定値:".")

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""        ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:PortNo

構文:Public Property PortNo() As Integer

機能:接続するリモートポート番号を設定します。

引数:なし。

値:Integer

値の説明:

接続するリモートポート番号を設定、取得します。(既定値:21)

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。
        ClsPrv_FTP.PortNo = 21          ' リモートポート番号。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:ReceiveBufferSize

構文:Public Property ReceiveBufferSize() As Int32

機能:受信バッファサイズを設定します。

引数:なし。

値:Int32

値の説明:

受信バッファサイズを設定します。(既定値:8192)

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ' 送信バッファサイズ。
        ClsPrv_FTP.SendBufferSize = 8192
        ' 送信時のタイムアウト値(ms単位)。
        ClsPrv_FTP.SendTimeout = 30000
        ' 受信バッファサイズ。
        ClsPrv_FTP.ReceiveBufferSize = 8192
        ' 受信時のタイムアウト値(ms単位)。
        ClsPrv_FTP.ReceiveTimeout = 30000
        ' 読み込み待ち時間。
        ClsPrv_FTP.PassiveModeCheckWaitTime = 100
        ' 送信命令直後に待つ待ち時間(ms単位)。
        ClsPrv_FTP.SendAfterWaitTime = 10
        ' アップロード時に「NOOP」命令を定期的に送信するかを設定。
        ClsPrv_FTP.UploadSendNOOP = True
        ' アップロード時に「NOOP」を送信するチェック回数を設定。
        ClsPrv_FTP.UploadSendNOOPCheckCount = 2

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:ReceiveTimeout

構文:Public Property ReceiveTimeout() As Integer

機能:受信時のタイムアウト値を設定します(ms単位)。

引数:なし。

値:Integer

値の説明:

受信時のタイムアウト値を設定します。(既定値:30000)

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click
        ' 送信バッファサイズ。
        ClsPrv_FTP.SendBufferSize = 8192
        ' 送信時のタイムアウト値(ms単位)。
        ClsPrv_FTP.SendTimeout = 30000
        ' 受信バッファサイズ。
        ClsPrv_FTP.ReceiveBufferSize = 8192
        ' 受信時のタイムアウト値(ms単位)。
        ClsPrv_FTP.ReceiveTimeout = 30000
        ' 読み込み待ち時間。
        ClsPrv_FTP.PassiveModeCheckWaitTime = 100
        ' 送信命令直後に待つ待ち時間(ms単位)。
        ClsPrv_FTP.SendAfterWaitTime = 10
        ' アップロード時に「NOOP」命令を定期的に送信するかを設定。
        ClsPrv_FTP.UploadSendNOOP = True
        ' アップロード時に「NOOP」を送信するチェック回数を設定。
        ClsPrv_FTP.UploadSendNOOPCheckCount = 2

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:SendAfterWaitTime

構文:Public Property SendAfterWaitTime() As Integer

機能:送信命令直後に待つ待ち時間を設定します(ms単位)。

引数:なし。

値:Integer

値の説明:

送信命令直後に待つ待ち時間を設定します。(既定値:10)

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click
        ' 送信バッファサイズ。
        ClsPrv_FTP.SendBufferSize = 8192
        ' 送信時のタイムアウト値(ms単位)。
        ClsPrv_FTP.SendTimeout = 30000
        ' 受信バッファサイズ。
        ClsPrv_FTP.ReceiveBufferSize = 8192
        ' 受信時のタイムアウト値(ms単位)。
        ClsPrv_FTP.ReceiveTimeout = 30000
        ' 読み込み待ち時間。
        ClsPrv_FTP.PassiveModeCheckWaitTime = 100
        ' 送信命令直後に待つ待ち時間(ms単位)。
        ClsPrv_FTP.SendAfterWaitTime = 10
        ' アップロード時に「NOOP」命令を定期的に送信するかを設定。
        ClsPrv_FTP.UploadSendNOOP = True
        ' アップロード時に「NOOP」を送信するチェック回数を設定。
        ClsPrv_FTP.UploadSendNOOPCheckCount = 2

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:SendBufferSize

構文:Public Property SendBufferSize() As Int32

機能:送信バッファサイズを設定します。

引数:なし。

値:Int32

値の説明:

送信バッファサイズを設定します。(既定値:8192)。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click
        ' 送信バッファサイズ。
        ClsPrv_FTP.SendBufferSize = 8192
        ' 送信時のタイムアウト値(ms単位)。
        ClsPrv_FTP.SendTimeout = 30000
        ' 受信バッファサイズ。
        ClsPrv_FTP.ReceiveBufferSize = 8192
        ' 受信時のタイムアウト値(ms単位)。
        ClsPrv_FTP.ReceiveTimeout = 30000
        ' 読み込み待ち時間。
        ClsPrv_FTP.PassiveModeCheckWaitTime = 100
        ' 送信命令直後に待つ待ち時間(ms単位)。
        ClsPrv_FTP.SendAfterWaitTime = 10
        ' アップロード時に「NOOP」命令を定期的に送信するかを設定。
        ClsPrv_FTP.UploadSendNOOP = True
        ' アップロード時に「NOOP」を送信するチェック回数を設定。
        ClsPrv_FTP.UploadSendNOOPCheckCount = 2

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:SendTimeout

構文:Public Property SendTimeout() As Integer

機能:送信時のタイムアウト値を設定します(ms単位)。

引数:なし。

値:Integer

値の説明:

送信時のタイムアウト値を設定します。(既定値:30000)。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click
        ' 送信バッファサイズ。
        ClsPrv_FTP.SendBufferSize = 8192
        ' 送信時のタイムアウト値(ms単位)。
        ClsPrv_FTP.SendTimeout = 30000
        ' 受信バッファサイズ。
        ClsPrv_FTP.ReceiveBufferSize = 8192
        ' 受信時のタイムアウト値(ms単位)。
        ClsPrv_FTP.ReceiveTimeout = 30000
        ' 読み込み待ち時間。
        ClsPrv_FTP.PassiveModeCheckWaitTime = 100
        ' 送信命令直後に待つ待ち時間(ms単位)。
        ClsPrv_FTP.SendAfterWaitTime = 10
        ' アップロード時に「NOOP」命令を定期的に送信するかを設定。
        ClsPrv_FTP.UploadSendNOOP = True
        ' アップロード時に「NOOP」を送信するチェック回数を設定。
        ClsPrv_FTP.UploadSendNOOPCheckCount = 2

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:ServerSystem

構文:Public ReadOnly Property ServerSystem() As String

機能:接続サーバーのシステム名を返します。

引数:なし。

値:String

値の説明:

接続サーバーのシステム名を返します。(既定値:Nothing)。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            Me.Label1.Text = "サーバーシステム:" & _
                             ClsPrv_FTP.ServerSystem()
            MsgBox("ログインしました。")
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:TextEncoding

構文:Public Property TextEncoding() As NSDFtp_Connect_Info.TEXT_ENCODING

機能:テキストのEncodingを設定します。

※サーバーから受信したテキストデータをエンコードするコードを指定します。

漢字などがファイル、フォルダ名に含まれている場合はテキストエンコードをサーバーに合わす必要があります。

引数:なし。

値:NSDFtp_Connect_Info.TEXT_ENCODING

値の説明:

テキストのEncodingを設定します。(既定値:NSDFtp_Connect_Info.TEXT_ENCODING.shift_jis)

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            ' テキストエンコーディングをシフトJISに設定。
            ClsPrv_FTP.TextEncoding = NSDFTP.NSDFtp_Connect_Info.TEXT_ENCODING.shift_jis
            ' フォルダ、ファイルリストを取得します。
            Dim Cls_FileFolderList() As NSDFTP.FTP_FILE_FOLDER_INFO = ClsPrv_FTP.GetFileAndFolderInfo()
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:TryThrow

構文:Public Property TryThrow() As Boolean

機能:例外エラーの発生有無を設定します。

引数:なし。

値:Boolean

値の説明:

関数ないで例外エラーが発生した場合、例外エラーを発生させるか、
発生させないで関数がエラーで戻すかを指定します。
True:例外エラーを発生させます。 False:例外エラーを発生させません。(既定値)

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.TryThrow = False     ' 例外エラーを発生させません。
        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:UploadSendNOOP

構文:Public Property UploadSendNOOP() As Boolean

機能:アップロード時に「NOOP」命令を定期的に送信するかを設定します。

引数:なし。

値:Boolean

値の説明:

大容量ファイルをアップロードする場合に接続タイムアウトにより、
切断されるのを防ぐために「NOOP」命令を定期的に送信するかを指定します。
True:定期的に「NOOP」を送信します。(既定値)  False:「NOOP」を送信しません。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click
        ' 送信バッファサイズ。
        ClsPrv_FTP.SendBufferSize = 8192
        ' 送信時のタイムアウト値(ms単位)。
        ClsPrv_FTP.SendTimeout = 30000
        ' 受信バッファサイズ。
        ClsPrv_FTP.ReceiveBufferSize = 8192
        ' 受信時のタイムアウト値(ms単位)。
        ClsPrv_FTP.ReceiveTimeout = 30000
        ' 読み込み待ち時間。
        ClsPrv_FTP.PassiveModeCheckWaitTime = 100
        ' 送信命令直後に待つ待ち時間(ms単位)。
        ClsPrv_FTP.SendAfterWaitTime = 10
        ' アップロード時に「NOOP」命令を定期的に送信するかを設定。
        ClsPrv_FTP.UploadSendNOOP = True
        ' アップロード時に「NOOP」を送信するチェック回数を設定。
        ClsPrv_FTP.UploadSendNOOPCheckCount = 2

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:UploadSendNOOPCheckCount

構文:Public Property UploadSendNOOPCheckCount() As Integer

機能:アップロード時に「NOOP」を送信するチェック回数を設定します。

引数:なし。

値:Integer

値の説明:

UploadSendNOOPがTrueの時のみ有効です。
送信チェック回数は、(SendBufferSize / 512) * UploadSendNOOPCheckCountの回数を
送信した時に「NOOP」を送信します。(既定値:2)

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click
        ' 送信バッファサイズ。
        ClsPrv_FTP.SendBufferSize = 8192
        ' 送信時のタイムアウト値(ms単位)。
        ClsPrv_FTP.SendTimeout = 30000
        ' 受信バッファサイズ。
        ClsPrv_FTP.ReceiveBufferSize = 8192
        ' 受信時のタイムアウト値(ms単位)。
        ClsPrv_FTP.ReceiveTimeout = 30000
        ' 読み込み待ち時間。
        ClsPrv_FTP.PassiveModeCheckWaitTime = 100
        ' 送信命令直後に待つ待ち時間(ms単位)。
        ClsPrv_FTP.SendAfterWaitTime = 10
        ' アップロード時に「NOOP」命令を定期的に送信するかを設定。
        ClsPrv_FTP.UploadSendNOOP = True
        ' アップロード時に「NOOP」を送信するチェック回数を設定。
        ClsPrv_FTP.UploadSendNOOPCheckCount = 2

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:UserName

構文:Public Property UserName() As String

機能:ユーザー名を設定します。

引数:なし。

値:String

値の説明:

ユーザー名を設定、取得します。(既定値:"anonymous")

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

●NSDFTPメソッドの説明

名前:Dispose

構文:Public Sub Dispose()

機能:リソースの解放を行います。

※終了時に必ず呼び出します。

(内部でCls_Dispose()を呼び出しています。終了処理でCls_Dispose()を呼び出している場合は、呼び出す必要はありません。)

引数:なし。

戻り値:なし。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Cls_Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:Cls_Dispose

構文:Public Sub Cls_Dispose()

機能:リソースの解放を行います。

※終了時に必ず呼び出します。

(終了処理でDispose()を呼び出している場合は、呼び出す必要はありません。)

引数:なし。

戻り値:なし。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:Login

構文:Public Function Login() As Boolean

機能:サーバーにログインします。

引数:なし。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:CrackUrl

構文:Public Function CrackUrl( Url , Scheme , ServerName , UrlPath ) As Boolean

機能:URLを分解します。

引数:

名前 引数渡しの方法 説明
Url String 値渡し(ByVal) URLを渡します。
Scheme String 参照渡し(ByRef) スキーム名を返します。
ServerName String 参照渡し(ByRef) サーバー名を返します。
UrlPath String 参照渡し(ByRef) パス名を返します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ' FTPアドレスを取得。
        Dim Str_Url As String = ""              ' <- Urlをセット。
        Dim Str_Scheme As String = Nothing      ' スキーム名。
        Dim Str_ServerName As String = Nothing  ' サーバー名。
        Dim Str_UrlPath As String = Nothing     ' URLパス名。

        ' FTPアドレスをセット。
        If ClsPrv_FTP.CrackUrl(Str_Url, _
                               Str_Scheme, _
                               Str_ServerName, _
                               Str_UrlPath) Then
            ClsPrv_FTP.FtpServer = Str_ServerName   ' サーバー名。
            ClsPrv_FTP.PathName = Str_UrlPath       ' パス名。
        End If

        ' ログインIDをセットします。
        ClsPrv_FTP.UserName = "anonymous"
        ' パスワードをセットします。
        ClsPrv_FTP.Password = ""

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:GetFileList

構文:Public Function GetFileList( [StopCheck] ) As String()

機能:ファイルリストを取得します。

引数:

名前 引数渡しの方法 説明
StopCheck Boolean 値渡し(ByVal) 中止チェックの有無を渡します。
True :中止チェックをします。
False:中止チェックをしません。(既定値)

戻り値:String()

戻り値の説明:

ファイルリストを返します。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            ' ファイルリストを取得します。
            Dim Str_FileList() As String = ClsPrv_FTP.GetFileList()
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:GetFolderList

構文:Public Function GetFolderList( [StopCheck] ) As String()

機能:フォルダリストを取得します。

引数:

名前 引数渡しの方法 説明
StopCheck Boolean

値渡し(ByVal)

中止チェックの有無を渡します。
True :中止チェックをします。
False:中止チェックをしません。(既定値)

戻り値:String()

戻り値の説明:

フォルダリストを返します。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            ' フォルダリストを取得します。
            Dim Str_FolderList() As String = ClsPrv_FTP.GetFolderList()
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:GetFileAndFolderInfo

機能:ファイル、フォルダ情報を取得します。

@ファイル、フォルダの情報を取得します。

構文:Public Function GetFileAndFolderInfo() As FTP_FILE_FOLDER_INFO()

引数:なし。

戻り値:FTP_FILE_FOLDER_INFO()

戻り値の説明:

ファイル、フォルダ情報のリストを返します。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            ' ファイル、フォルダ情報のリストを取得します。
            Dim Cls_FileFolderList() As NSDFTP.FTP_FILE_FOLDER_INFO = Nothing
            Cls_FileFolderList = ClsPrv_FTP.GetFileAndFolderInfo()
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

Aファイル、フォルダの情報を取得します。

(階層下フォルダの情報取得有無を指定できます)。

構文:Public Function GetFileAndFolderInfo( SubFolder ) As FTP_FILE_FOLDER_INFO()

引数:

名前 引数渡しの方法 説明
SubFolder Boolean 値渡し(ByVal) True :サブフォルダ情報も取得します。
False:サブフォルダ情報は取得しません。

戻り値:FTP_FILE_FOLDER_INFO()

戻り値の説明:

ファイル、フォルダ情報のリストを返します。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            ' 階層下情報がシンボリックリンクフォルダの場合、階層下情報を取得しません。
            ClsPrv_FTP.NotGetFolderSymboliclink = True
            ' ファイル、フォルダ情報のリストを取得します。
            Dim Cls_FileFolderList() As NSDFTP.FTP_FILE_FOLDER_INFO = Nothing
            Cls_FileFolderList = ClsPrv_FTP.GetFileAndFolderInfo(True)
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

Bファイル、フォルダの情報を取得します。

(階層下フォルダの情報取得有無、中止の有無を指定できます)。

構文:Public Function GetFileAndFolderInfo( SubFolder , StopCheck ) As FTP_FILE_FOLDER_INFO()

引数:

名前 引数渡しの方法 説明
SubFolder Boolean 値渡し(ByVal) True :サブフォルダ情報も取得します。
False:サブフォルダ情報は取得しません。
StopCheck Boolean 値渡し(ByVal) 中止チェックの有無を渡します。
True :中止チェックをします。
False:中止チェックをしません。

戻り値:FTP_FILE_FOLDER_INFO()

戻り値の説明:

ファイル、フォルダ情報のリストを返します。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            ' ファイル、フォルダ情報のリストを取得します。
            Dim Cls_FileFolderList() As NSDFTP.FTP_FILE_FOLDER_INFO = Nothing
            Cls_FileFolderList = ClsPrv_FTP.GetFileAndFolderInfo(False, False)
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:IsGetFileFolder

構文:Public Function IsGetFileFolder() As Boolean

機能:ファイル、フォルダリストの取得中か?を返します。

引数:なし。

戻り値:Boolean

戻り値の説明:

True :ファイル、フォルダ情報の取得中です。
False:ファイル、フォルダ情報は取得していません。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP
    ' 中止の確認用。
    Dim BlnCls_Cancel As Boolean = False

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            BlnCls_Cancel = False
            Dim Cls_FileFolderList() As NSDFTP.FTP_FILE_FOLDER_INFO = Nothing

            ' Stop確認のイベントをセットします。
            AddHandler ClsPrv_FTP.StopCheck_GetFileOrFolderList, _
                       AddressOf StopCheck_GetFileOrFolderList
            Try
                ' フォルダリストを取得します。
                Cls_FileFolderList = ClsPrv_FTP.GetFileAndFolderInfo(False, True)
            Catch ex As Exception
            Finally
                ' Stop確認のイベントを解放します。
                RemoveHandler ClsPrv_FTP.StopCheck_GetFileOrFolderList, _
                              AddressOf StopCheck_GetFileOrFolderList
            End Try

                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' 中止の有無を返す処理。
    Private Sub StopCheck_GetFileOrFolderList( _
                        ByRef ClsRef_FInfo() AS NSDFTP.FTP_FILE_FOLDER_INFO, _
                        ByRef BlnRef_Cancel As Boolean)
        Try
            Dim Int_No As Integer = 0
            If Not (ClsRef_FInfo Is Nothing) Then
                Int_No = ClsRef_FInfo.Length
            End If
            Me.Lbl_Msg.Text = "ファイル、フォルダの取得(" & CStr(Int_No) &  ")"
            Application.DoEvents()
            ' 中止有無を返します。
            BlnRef_Cancel = BlnCls_Cancel
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 中止ボタンのクリック処理。
    Private Sub Btn_Stop_Click( _
                        ByVal sender As System.Object, _
                        ByVal e As System.EventArgs) _
                        Handles Btn_Stop.Click
        Try
            Dim Str_Msg As String = Nothing
            Str_Msg = "ファイル、フォルダ情報の検索を中止します。" & _
                      vbCrLf & "よろしいですか?"
            If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                BlnCls_Cancel = True
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' FormClosing.
    Private Sub Form1_FormClosing(_
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                        Handles Me.FormClosing
        Try
            Dim Bln_End As Boolean = False
            Dim Str_Msg As String = Nothing
            Str_Msg = "プログラムを終了します。" & vbCrLf & "よろしいですか?"
            If Not (ClsPrv_FTP Is Nothing) Then
                If ClsPrv_FTP.IsGetFileFolder() Then
                    Str_Msg = "ファイル、フォルダリストを取得中です." & _
                              vbCrLf & "中止しますか?"
                Else
                    Bln_End = True
                End If
            Else
                Bln_End = True
            End If
            If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                If Not Bln_End Then
                    e.Cancel = True
                    BlnCls_Cancel = True
                End If
            Else
                e.Cancel = True
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:IsFile

構文:Public Function IsFile( FileName ) As Boolean

機能:ファイルか?を返します。

引数:

名前 引数渡しの方法 説明
FileName String 値渡し(ByVal) ファイル名を渡します。

戻り値:Boolean

戻り値の説明:

True :ファイルです。
False:ファイルでは、ありません。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            Dim Str_FileName As String = "" ' <-ファイル名を指定します。

            ' ファイルの確認.
            If ClsPrv_FTP.IsFile(Str_FileName) Then
                MsgBox("ファイルです。")
            Else
                MsgBox("ファイルではありません。")
            End If

                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:GetFileSize

構文:Public Function GetFileSize( FileName ) As Long

機能:ファイルサイズを取得します。

引数:

名前 引数渡しの方法 説明
FileName String 値渡し(ByVal) ファイル名を渡します。

戻り値:Long

戻り値の説明:

-1=失敗。
 -1<>ファイルサイズを返します。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            Dim Str_FileName As String = "" ' <-ファイル名を指定します。

            ' ファイルサイズの取得。
            Dim Lng_Size As Long = ClsPrv_FTP.GetFileSize(Str_FileName)
            If (Lng_Size <> -1) Then
                MsgBox("ファイルサイズ:" & Lng_Size.ToString)
            Else
                MsgBox("ファイルサイズが取得できません。")
            End If

                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:DownloadFile

機能:指定ファイルをダウンロードします。

@リモートファイル、ローカルファイルを指定してファイルをダウンロードします。

構文:Public Function DownloadFile( RemoteFile , LocalFileName ) As Boolean

引数:

名前 引数渡しの方法 説明
RemoteFile String 値渡し(ByVal) リモートファイルのフルパス名を渡します。
LocalFileName String 値渡し(ByVal) ローカルファイルのフルパス名を渡します。
※ローカルファイル名がパス名の場合は、
ファイル名をリモートファイル名と同じ名前で処理します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            Dim Str_RemoteFile As String = "" ' <-リモートファイル名を指定します。
            Dim Str_LocalFile As String = ""  ' <- ローカルファイル名を指定します。
            ' ファイルをダウンロードします。
            Dim Bln_Ret As Boolean = ClsPrv_FTP.DownloadFile(Str_RemoteFile, Str_LocalFile)
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

Aリモートファイル、ローカルファイル、中止チェックを指定してファイルをダウンロードします。

構文:Public Function DownloadFile( RemoteFile , LocalFileName , StopCheck ) As Boolean

引数:

名前 引数渡しの方法 説明
RemoteFile String 値渡し(ByVal) リモートファイルのフルパス名を渡します。
LocalFileName String 値渡し(ByVal) ローカルファイルのフルパス名を渡します。
※ローカルファイル名がパス名の場合は、
ファイル名をリモートファイル名と同じ名前で処理します。
StopCheck Boolean 値渡し(ByVal) 中止チェックの有無を渡します。
True :中止チェックをします。
False:中止チェックをしません。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            Dim Str_RemoteFile As String = "" ' <-リモートファイル名を指定します。
            Dim Str_LocalFile As String = ""  ' <- ローカルファイル名を指定します。
            ' ファイルをダウンロードします。
            Dim Bln_Ret As Boolean = ClsPrv_FTP.DownloadFile(Str_RemoteFile, Str_LocalFile, False)
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

Bリモートファイル、ローカルファイル、リジューム、上書き確認を指定してファイルをダウンロードします。

構文:Public Function DownloadFile( RemoteFile , LocalFileName , Resume , FileIsExists , StopCheck ) As Boolean

引数:

名前 引数渡しの方法 説明
RemoteFile String 値渡し(ByVal) リモートファイルのフルパス名を渡します。
LocalFileName String 値渡し(ByVal) ローカルファイルのフルパス名を渡します。
※ローカルファイル名がパス名の場合は、
ファイル名をリモートファイル名と同じ名前で処理します。
Resume Boolean 値渡し(ByVal) リジュームの有無を渡します。
True :リジュームします。
False:リジュームしません。
FileIsExists Boolean 値渡し(ByVal) 上書き禁止を渡します。
True :上書きを禁止します(Resume=Falseのみ有効)。
False:ローカルファイルが存在する時は上書きします。
StopCheck Boolean 値渡し(ByVal) 中止チェックの有無を渡します。
True :中止チェックをします。
False:中止チェックをしません。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            Dim Str_RemoteFile As String = "" ' <-リモートファイル名を指定します。
            Dim Str_LocalFile As String = ""  ' <- ローカルファイル名を指定します。
            ' ファイルをダウンロードします。
            Dim Bln_Ret As Boolean = ClsPrv_FTP.DownloadFile(Str_RemoteFile, _
                                                             Str_LocalFile, _
                                                             False, _
                                                             False, _
                                                             False)
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:DownloadResumeFile

機能:前回ダウンロードに失敗した位置からファイルをダウンロードします。

@前回ダウンロードに失敗した位置からファイルをダウンロードします。

構文:Public Function DownloadResumeFile( RemoteFile , LocalFileName ) As Boolean

引数:

名前 引数渡しの方法 説明
RemoteFile String 値渡し(ByVal) リモートファイルのフルパス名を渡します。
LocalFileName String 値渡し(ByVal) ローカルファイルのフルパス名を渡します。
※ローカルファイル名がパス名の場合は、
ファイル名をリモートファイル名と同じ名前で処理します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            Dim Str_RemoteFile As String = "" ' <-リモートファイル名を指定します。
            Dim Str_LocalFile As String = ""  ' <- ローカルファイル名を指定します。
            ' ファイルをダウンロードします。
            Dim Bln_Ret As Boolean = ClsPrv_FTP.DownloadResumeFile(Str_RemoteFile, Str_LocalFile)
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

A前回ダウンロードに失敗した位置から中止チェックを指定してファイルをダウンロードします。

構文:Public Function DownloadResumeFile( RemoteFile , LocalFileName , StopCheck ) As Boolean

引数:

名前 引数渡しの方法 説明
RemoteFile String 値渡し(ByVal) リモートファイルのフルパス名を渡します。
LocalFileName String 値渡し(ByVal) ローカルファイルのフルパス名を渡します。
※ローカルファイル名がパス名の場合は、
ファイル名をリモートファイル名と同じ名前で処理します。
StopCheck Boolean 値渡し(ByVal) 中止チェックの有無を渡します。
True :中止チェックをします。
False:中止チェックをしません。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            Dim Str_RemoteFile As String = "" ' <-リモートファイル名を指定します。
            Dim Str_LocalFile As String = ""  ' <- ローカルファイル名を指定します。
            ' ファイルをダウンロードします。
            Dim Bln_Ret As Boolean = ClsPrv_FTP.DownloadResumeFile(Str_RemoteFile, Str_LocalFile, False)
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:IsDownloadFile

構文:Public Function IsDownloadFile() As Boolean

機能:ファイルをダウンロード中か?を返します。

引数:なし。

戻り値:Boolean

戻り値の説明:

True :ダウンロード中です。
False:ダウンロード中ではありません。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP
    ' 中止の確認用。
    Dim BlnCls_Cancel As Boolean = False

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            BlnCls_Cancel = False
            Dim Cls_FileFolderList() As NSDFTP.FTP_FILE_FOLDER_INFO = Nothing

            ' Stop確認のイベントをセットします。
            AddHandler ClsPrv_FTP.StopCheck_DownloadFile, _
                       AddressOf StopCheck_DownloadFile
            Try
                Dim Str_RemoteFile As String = "" ' <-リモートファイル名を指定します。
                Dim Str_LocalFile As String = ""  ' <- ローカルファイル名を指定します。
                ' ファイルをダウンロードします。
                Dim Bln_Ret As Boolean = ClsPrv_FTP.DownloadFile(Str_RemoteFile, _
                                                                 Str_LocalFile, _
                                                                 False, _
                                                                 False, _
                                                                 True)
            Catch ex As Exception
            Finally
                ' Stop確認のイベントを解放します。
                RemoveHandler ClsPrv_FTP.StopCheck_DownloadFile, _
                              AddressOf StopCheck_DownloadFile
            End Try

                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' 中止の有無を返す処理。
    Private Sub StopCheck_DownloadFile( _
                        ByVal BlnVal_SizeSet As Boolean, _
                        ByVal LngVal_RemoteFileSize As Long, _
                        ByVal LngVal_DownloadSize As Long, _
                        ByRef BlnRef_Cancel As Boolean)
        Try
            If BlnVal_SizeSet Then
                With Me.ProgressBar1
                    .Maximum = LngVal_RemoteFileSize
                    .Value = LngVal_DownloadSize
                End With
                Me.Lbl_Msg.Text = "ダウンロード(" & _
                                  CStr(LngVal_DownloadSize) & "/" & _
                                  CStr(LngVal_RemoteFileSize) &  ")"
            End If
            Application.DoEvents()
            BlnRef_Cancel = BlnCls_Cancel
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 中止ボタンのクリック処理。
    Private Sub Btn_Stop_Click( _
                        ByVal sender As System.Object, _
                        ByVal e As System.EventArgs) _
                        Handles Btn_Stop.Click
        Try
            Dim Str_Msg As String = Nothing
            Str_Msg = "ダウンロードを中止します。" & _
                      vbCrLf & "よろしいですか?"
            If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                BlnCls_Cancel = True
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' FormClosing.
    Private Sub Form1_FormClosing(_
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                        Handles Me.FormClosing
        Try
            Dim Bln_End As Boolean = False
            Dim Str_Msg As String = Nothing
            Str_Msg = "プログラムを終了します。" & vbCrLf & "よろしいですか?"
            If Not (ClsPrv_FTP Is Nothing) Then
                If ClsPrv_FTP.IsDownloadFile() Then
                    Str_Msg = "ファイルをダウンロード中です." & _
                              vbCrLf & "中止しますか?"
                Else
                    Bln_End = True
                End If
            Else
                Bln_End = True
            End If
            If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                If Not Bln_End Then
                    e.Cancel = True
                    BlnCls_Cancel = True
                End If
            Else
                e.Cancel = True
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:UploadFile

機能:指定ファイルをアップロードします。

@指定ファイルをアップロードします。

構文:Public Function UploadFile( LocalFileName ) As Boolean

引数:

名前 引数渡しの方法 説明
LocalFileName String 値渡し(ByVal) ローカルファイルのフルパス名を渡します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            Dim Str_LocalFile As String = ""  ' <- ローカルファイル名を指定します。
            ' ファイルをアップロードします。
            Dim Bln_Ret As Boolean = ClsPrv_FTP.UploadFile(Str_LocalFile)
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

A指定ファイル、中止チェックを指定してアップロードします。

構文:Public Function UploadFile( LocalFileName , StopCheck ) As Boolean

引数:

名前 引数渡しの方法 説明
LocalFileName String 値渡し(ByVal) ローカルファイルのフルパス名を渡します。
StopCheck Boolean 値渡し(ByVal) 中止チェックの有無を渡します。
True :中止チェックをします。
False:中止チェックをしません。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            Dim Str_LocalFile As String = ""  ' <- ローカルファイル名を指定します。
            ' ファイルをアップロードします。
            Dim Bln_Ret As Boolean = ClsPrv_FTP.UploadFile(Str_LocalFile, False)
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

B指定ファイル、中止チェック、リジュームを指定してアップロードします。

構文:Public Function UploadFile( LocalFileName , StopCheck , Resume ) As Boolean

引数:

名前 引数渡しの方法 説明
LocalFileName String 値渡し(ByVal) ローカルファイルのフルパス名を渡します。
StopCheck Boolean 値渡し(ByVal) 中止チェックの有無を渡します。
True :中止チェックをします。
False:中止チェックをしません。
Resume Boolean 値渡し(ByVal) リジュームの有無を渡します。
True :リジュームします。
False:リジュームしません。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            Dim Str_LocalFile As String = ""  ' <- ローカルファイル名を指定します。
            ' ファイルをアップロードします。
            Dim Bln_Ret As Boolean = ClsPrv_FTP.UploadFile(Str_LocalFile, False, True)
                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:IsUploadFile

構文:Public Function IsUploadFile() As Boolean

機能:ファイルをアップロード中か?を返します。

引数:なし。

戻り値:Boolean

戻り値の説明:

True :アップロード中です。
False:アップロード中ではありません。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP
    ' 中止の確認用。
    Dim BlnCls_Cancel As Boolean = False

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            BlnCls_Cancel = False
            Dim Cls_FileFolderList() As NSDFTP.FTP_FILE_FOLDER_INFO = Nothing

            ' Stop確認のイベントをセットします。
            AddHandler ClsPrv_FTP.StopCheck_UploadFile, _
                       AddressOf StopCheck_UploadFile
            Try
                Dim Str_LocalFile As String = ""  ' <- ローカルファイル名を指定します。
                ' ファイルをアップロードします。
                Dim Bln_Ret As Boolean = ClsPrv_FTP.UploadFile(Str_LocalFile, True, True)
            Catch ex As Exception
            Finally
                ' Stop確認のイベントを解放します。
                RemoveHandler ClsPrv_FTP.StopCheck_UploadFile, _
                              AddressOf StopCheck_UploadFile
            End Try

                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' 中止の有無を返す処理。
    Private Sub StopCheck_UploadFile( _
                        ByVal BlnVal_SizeSet As Boolean, _
                        ByVal LngVal_LocalFileSize As Long, _
                        ByVal LngVal_UploadSize As Long, _
                        ByRef BlnRef_Cancel As Boolean)
        Try
            If BlnVal_SizeSet Then
                With Me.ProgressBar1
                    .Maximum = LngVal_LocalFileSize
                    .Value = LngVal_UploadSize
                End With
                Me.Lbl_Msg.Text = "アップロード(" & _
                                  CStr(LngVal_UploadSize) & _
                                  "/" & CStr(LngVal_LocalFileSize) &  ")"
            End If
            Application.DoEvents()
            BlnRef_Cancel = BlnCls_Cancel
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 中止ボタンのクリック処理。
    Private Sub Btn_Stop_Click( _
                        ByVal sender As System.Object, _
                        ByVal e As System.EventArgs) _
                        Handles Btn_Stop.Click
        Try
            Dim Str_Msg As String = Nothing
            Str_Msg = "アップロードを中止します。" & _
                      vbCrLf & "よろしいですか?"
            If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                BlnCls_Cancel = True
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' FormClosing.
    Private Sub Form1_FormClosing(_
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                        Handles Me.FormClosing
        Try
            Dim Bln_End As Boolean = False
            Dim Str_Msg As String = Nothing
            Str_Msg = "プログラムを終了します。" & vbCrLf & "よろしいですか?"
            If Not (ClsPrv_FTP Is Nothing) Then
                If ClsPrv_FTP.IsUploadFile() Then
                    Str_Msg = "ファイルをアップロード中です." & _
                              vbCrLf & "中止しますか?"
                Else
                    Bln_End = True
                End If
            Else
                Bln_End = True
            End If
            If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                If Not Bln_End Then
                    e.Cancel = True
                    BlnCls_Cancel = True
                End If
            Else
                e.Cancel = True
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:DeleteFile

構文:Public Function DeleteFile( RemoteFile ) As Boolean

機能:ファイルを削除します。

引数:

名前 引数渡しの方法 説明
RemoteFile String 値渡し(ByVal) リモートファイル名を渡します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            Dim Str_FileName As String = "" ' <-ファイル名を指定します。

            ' ファイルの削除.
            Dim Bln_Ret As Boolean = ClsPrv_FTP.DeleteFile(Str_FileName)

                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:RenameFile

構文:Public Function RenameFile( BeforeFileName , AfterFileName ) As Boolean

機能:ファイルまたはフォルダ名を変更します。

引数:

名前 引数渡しの方法 説明
BeforeFileName String 値渡し(ByVal) 変更前のファイルまたはフォルダ名を渡します。
AfterFileName String 値渡し(ByVal) 変更後のファイルまたはフォルダ名を渡します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            Dim Str_BeforeFileName As String = ""   ' <-変更前のファイルまたはフォルダ名を指定します。
            Dim Str_AfterFileName As String = ""    ' <-変更後のファイルまたはフォルダ名を指定します。

            ' ファイル名の変更.
            Dim Bln_Ret As Boolean = ClsPrv_FTP.RenameFile(Str_BeforeFileName, Str_AfterFileName)

                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:CreateFolder

構文:Public Function CreateFolder( Folder ) As Boolean

機能:フォルダを作成します。

引数:

名前 引数渡しの方法 説明
Folder String 値渡し(ByVal) 作成するフォルダ名を渡します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            Dim Str_FolderName As String = "" ' <-フォルダ名を指定します。

            ' フォルダを作成します。
            Dim Bln_Ret As Boolean = ClsPrv_FTP.CreateFolder(Str_FolderName)

                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:RemoveFolder

構文:Public Function RemoveFolder( Folder ) As Boolean

機能:フォルダを削除します。

引数:

名前 引数渡しの方法 説明
Folder String 値渡し(ByVal) フォルダ名を渡します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            Dim Str_FolderName As String = "" ' <-フォルダ名を指定します。

            ' フォルダの削除.
            Dim Bln_Ret As Boolean = ClsPrv_FTP.RemoveFolder(Str_FolderName)

                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:GetCurrentFolder

構文:Public Function GetCurrentFolder() As String

機能:カレントフォルダを取得します。

引数:なし。

戻り値:String

戻り値の説明:

カレントフォルダを返します。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            ' カレントフォルダの表示.
            MsgBox("カレントフォルダ:" & ClsPrv_FTP.GetCurrentFolder())

                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:ChangeFolder

構文:Public Function ChangeFolder( Folder ) As Boolean

機能:カレントフォルダを変更します。

引数:

名前 引数渡しの方法 説明
Folder String 値渡し(ByVal) フォルダを渡します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            Dim Str_FolderName As String = "" ' <-フォルダ名を指定します。

            ' カレントフォルダを変更します。
            Dim Bln_Ret As Boolean = ClsPrv_FTP.ChangeFolder(Str_FolderName)

                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:ChangeUpCurrentFolder

構文:Public Function ChangeUpCurrentFolder() As Boolean

機能:カレントフォルダを1つ上位に移動します。

引数:なし。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            Dim Str_FolderName As String = "" ' <-フォルダ名を指定します。

            ' カレントフォルダを変更します。
            Dim Bln_Ret As Boolean = ClsPrv_FTP.ChangeFolder(Str_FolderName)

                :

            ' カレントフォルダを1つ上位に移動します。
            Bln_Ret = ClsPrv_FTP.ChangeUpCurrentFolder()

                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:SetBinaryMode

構文:Public Function SetBinaryMode( Mode ) As Boolean

機能:バイナリーモード、アスキーモードを指定します。

引数:

名前 引数渡しの方法 説明
Mode Boolean 値渡し(ByVal) True :バイナリーモードを指定します。
False:アスキーモードを指定します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            ' バイナリモードを設定。
            SetBinaryMode(True)

                :
            ' アスキーモードを設定。
            SetBinaryMode(False)

                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:CloseConnection

構文:Public Sub CloseConnection()

機能:リモートサーバーの接続をクローズします。

引数:なし。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    Private Sub Btn_CloseConnection_Click( _
                        ByVal sender As System.Object,  _
                        ByVal e As System.EventArgs) _
                        Handles Btn_CloseConnection.Click
        Try
            If Not (ClsPrv_FTP Is Nothing) Then
                ClsPrv_FTP.CloseConnection()
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

●NSDFTPイベントの説明

名前:StopCheck_GetFileOrFolderList

構文:Public Event StopCheck_GetFileOrFolderList( FInfo() , Cancel )

機能:GetFileOrFolderList処理の中断有無の設定イベント。

引数:

名前 引数渡しの方法 説明
FInfo() FTP_FILE_FOLDER_INFO 参照渡し(ByRef) ファイル、フォルダ情報を返します。
Cancel Boolean 参照渡し(ByRef) 取得を中止するかを渡します。
True:中止 False:中止しません(既定値)

戻り値:なし。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP
    ' 中止の確認用。
    Dim BlnCls_Cancel As Boolean = False

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            BlnCls_Cancel = False
            Dim Cls_FileFolderList() As NSDFTP.FTP_FILE_FOLDER_INFO = Nothing

            ' Stop確認のイベントをセットします。
            AddHandler ClsPrv_FTP.StopCheck_GetFileOrFolderList, _
                       AddressOf StopCheck_GetFileOrFolderList
            Try
                ' フォルダリストを取得します。
                Cls_FileFolderList = ClsPrv_FTP.GetFileAndFolderInfo(False, True)
            Catch ex As Exception
            Finally
                ' Stop確認のイベントを解放します。
                RemoveHandler ClsPrv_FTP.StopCheck_GetFileOrFolderList, _
                              AddressOf StopCheck_GetFileOrFolderList
            End Try

                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' 中止の有無を返す処理。
    Private Sub StopCheck_GetFileOrFolderList( _
                        ByRef ClsRef_FInfo() AS NSDFTP.FTP_FILE_FOLDER_INFO, _
                        ByRef BlnRef_Cancel As Boolean)
        Try
            Dim Int_No As Integer = 0
            If Not (ClsRef_FInfo Is Nothing) Then
                Int_No = ClsRef_FInfo.Length
            End If
            Me.Lbl_Msg.Text = "ファイル、フォルダの取得(" & CStr(Int_No) &  ")"
            Application.DoEvents()
            ' 中止有無を返します。
            BlnRef_Cancel = BlnCls_Cancel
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 中止ボタンのクリック処理。
    Private Sub Btn_Stop_Click( _
                        ByVal sender As System.Object, _
                        ByVal e As System.EventArgs) _
                        Handles Btn_Stop.Click
        Try
            Dim Str_Msg As String = Nothing
            Str_Msg = "ファイル、フォルダ情報の検索を中止します。" & _
                      vbCrLf & "よろしいですか?"
            If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                BlnCls_Cancel = True
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:StopCheck_DownloadFile

構文:Public Event StopCheck_DownloadFile( SizeSet , RemoteFileSize , DownloadSize , Cancel )

機能:SetPictureToAVIで1件データを書き込む前に発生するイベント。

引数:

名前 引数渡しの方法 説明
SizeSet Boolean 値渡し(ByVal) True :引数の各サイズをセットしています。
False:引数の各サイズにセットされていない物があります。
RemoteFileSize Long 値渡し(ByVal) リモートファイルのサイズを返します
DownloadSize Long 値渡し(ByVal) ダウンロード済みのサイズを返します。
Cancel Boolean 参照渡し(ByRef) ダウンロードを中止するかを渡します。
True:中止 False:中止しません(既定値)

戻り値:なし。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP
    ' 中止の確認用。
    Dim BlnCls_Cancel As Boolean = False

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            BlnCls_Cancel = False
            Dim Cls_FileFolderList() As NSDFTP.FTP_FILE_FOLDER_INFO = Nothing

            ' Stop確認のイベントをセットします。
            AddHandler ClsPrv_FTP.StopCheck_DownloadFile, _
                       AddressOf StopCheck_DownloadFile
            Try
                Dim Str_RemoteFile As String = "" ' <-リモートファイル名を指定します。
                Dim Str_LocalFile As String = ""  ' <- ローカルファイル名を指定します。
                ' ファイルをダウンロードします。
                Dim Bln_Ret As Boolean = ClsPrv_FTP.DownloadFile(Str_RemoteFile, _
                                                                 Str_LocalFile, _
                                                                 False, _
                                                                 False, _
                                                                 True)
            Catch ex As Exception
            Finally
                ' Stop確認のイベントを解放します。
                RemoveHandler ClsPrv_FTP.StopCheck_DownloadFile, _
                              AddressOf StopCheck_DownloadFile
            End Try

                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' 中止の有無を返す処理。
    Private Sub StopCheck_DownloadFile( _
                        ByVal BlnVal_SizeSet As Boolean, _
                        ByVal LngVal_RemoteFileSize As Long, _
                        ByVal LngVal_DownloadSize As Long, _
                        ByRef BlnRef_Cancel As Boolean)
        Try
            If BlnVal_SizeSet Then
                With Me.ProgressBar1
                    .Maximum = LngVal_RemoteFileSize
                    .Value = LngVal_DownloadSize
                End With
                Me.Lbl_Msg.Text = "ダウンロード(" & _
                                  CStr(LngVal_DownloadSize) & "/" & _
                                  CStr(LngVal_RemoteFileSize) &  ")"
            End If
            Application.DoEvents()
            BlnRef_Cancel = BlnCls_Cancel
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 中止ボタンのクリック処理。
    Private Sub Btn_Stop_Click( _
                        ByVal sender As System.Object, _
                        ByVal e As System.EventArgs) _
                        Handles Btn_Stop.Click
        Try
            Dim Str_Msg As String = Nothing
            Str_Msg = "ダウンロードを中止します。" & _
                      vbCrLf & "よろしいですか?"
            If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                BlnCls_Cancel = True
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' FormClosing.
    Private Sub Form1_FormClosing(_
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                        Handles Me.FormClosing
        Try
            Dim Bln_End As Boolean = False
            Dim Str_Msg As String = Nothing
            Str_Msg = "プログラムを終了します。" & vbCrLf & "よろしいですか?"
            If Not (ClsPrv_FTP Is Nothing) Then
                If ClsPrv_FTP.IsDownloadFile() Then
                    Str_Msg = "ファイルをダウンロード中です." & _
                              vbCrLf & "中止しますか?"
                Else
                    Bln_End = True
                End If
            Else
                Bln_End = True
            End If
            If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                If Not Bln_End Then
                    e.Cancel = True
                    BlnCls_Cancel = True
                End If
            Else
                e.Cancel = True
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:StopCheck_UploadFile

構文:Public Event StopCheck_UploadFile( SizeSet , LocalFileSize , UploadSize , Cancel )

機能:UploadFile処理の中断有無の設定イベント。

引数:

名前 引数渡しの方法 説明
SizeSet Boolean 値渡し(ByVal) True :引数の各サイズをセットしています。
False:引数の各サイズにセットされていない物があります。
LocalFileSize Long 値渡し(ByVal) ローカルファイルのサイズを返します。
UploadSize Long 値渡し(ByVal) アップロード済みのサイズを返します。
Cancel Boolean 参照渡し(ByRef) アップロードを中止するかを渡します。
True:中止 False:中止しません(既定値)

戻り値:なし。

使用例:

Public Class Form1
    ' NSDFTPを初期化します。
    Dim ClsPrv_FTP As New NSDFTP
    ' 中止の確認用。
    Dim BlnCls_Cancel As Boolean = False

    Private Sub Button1_Click( _
                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) _
                    Handles Button1.Click

        ClsPrv_FTP.FtpServer = ""           ' <-サーバー名をセットします。
        ClsPrv_FTP.PathName = ""            ' <-パス名をセットします。
        ClsPrv_FTP.UserName = "anonymous"   ' <-ログインIDをセットします。
        ClsPrv_FTP.Password = ""            ' <-パスワードをセットします。

        ' サーバーにログインします。
        If ClsPrv_FTP.Login() Then
            MsgBox("ログインしました。")

            BlnCls_Cancel = False
            Dim Cls_FileFolderList() As NSDFTP.FTP_FILE_FOLDER_INFO = Nothing

            ' Stop確認のイベントをセットします。
            AddHandler ClsPrv_FTP.StopCheck_UploadFile, _
                       AddressOf StopCheck_UploadFile
            Try
                Dim Str_LocalFile As String = ""  ' <- ローカルファイル名を指定します。
                ' ファイルをアップロードします。
                Dim Bln_Ret As Boolean = ClsPrv_FTP.UploadFile(Str_LocalFile, True, True)
            Catch ex As Exception
            Finally
                ' Stop確認のイベントを解放します。
                RemoveHandler ClsPrv_FTP.StopCheck_UploadFile, _
                              AddressOf StopCheck_UploadFile
            End Try

                :
        Else
            MsgBox("ログインができません。" & vbCrLf & _
                   "FTPアドレス、ログインID、パスワードを確認してください。")
        End If
    End Sub

    ' 中止の有無を返す処理。
    Private Sub StopCheck_UploadFile( _
                        ByVal BlnVal_SizeSet As Boolean, _
                        ByVal LngVal_LocalFileSize As Long, _
                        ByVal LngVal_UploadSize As Long, _
                        ByRef BlnRef_Cancel As Boolean)
        Try
            If BlnVal_SizeSet Then
                With Me.ProgressBar1
                    .Maximum = LngVal_LocalFileSize
                    .Value = LngVal_UploadSize
                End With
                Me.Lbl_Msg.Text = "アップロード(" & _
                                  CStr(LngVal_UploadSize) & _
                                  "/" & CStr(LngVal_LocalFileSize) &  ")"
            End If
            Application.DoEvents()
            BlnRef_Cancel = BlnCls_Cancel
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' 中止ボタンのクリック処理。
    Private Sub Btn_Stop_Click( _
                        ByVal sender As System.Object, _
                        ByVal e As System.EventArgs) _
                        Handles Btn_Stop.Click
        Try
            Dim Str_Msg As String = Nothing
            Str_Msg = "アップロードを中止します。" & _
                      vbCrLf & "よろしいですか?"
            If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                BlnCls_Cancel = True
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' FormClosing.
    Private Sub Form1_FormClosing(_
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                        Handles Me.FormClosing
        Try
            Dim Bln_End As Boolean = False
            Dim Str_Msg As String = Nothing
            Str_Msg = "プログラムを終了します。" & vbCrLf & "よろしいですか?"
            If Not (ClsPrv_FTP Is Nothing) Then
                If ClsPrv_FTP.IsDownloadFile() Then
                    Str_Msg = "ファイルをアップロード中です." & _
                              vbCrLf & "中止しますか?"
                Else
                    Bln_End = True
                End If
            Else
                Bln_End = True
            End If
            If MsgBox(Str_Msg, MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                If Not Bln_End Then
                    e.Cancel = True
                    BlnCls_Cancel = True
                End If
            Else
                e.Cancel = True
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub

    ' FormClosed.
    Private Sub Form1_FormClosed( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosedEventArgs) _
                        Handles Me.FormClosed
        Try
            ' Ftp用リソースを解放します。
            ClsPrv_FTP.Dispose()
            ClsPrv_FTP = Nothing
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

Copyright (C) 2009-2013 Nihon System Developer Corp. All Rights Reserved.