ActiveSocket can be well integrated into VBScript environments. This document describes how the ActiveSocket FtpServer object can be integrated into VBScript projects.
The most important functions of the FtpServer object are:
Download ActiveSocket from the ActiveXperts Download Site and start the installation. The installation guides you through the installation process.
Create a new script using your favorite editor. You can simply use notepad. However, a VBScript editor is recommended, so you can browse through objects, objects properties and object functions.
You're now able to write a more advanced script to communicate using the ActiveSocket Toolkit.
Create a new VBScript file called DEMO.VBS. It is recommended to insert the following line on top of your code:
Option Explicit
This statement requires that all variable names be defined (with the Dim statement), to avoid simple typos that can cause incredible headaches and long debugging sessions for something that should have never happened.
Now, declare the ActiveSocket object(s):
Dim objFtpServer
Create the ActiveSocket object(s) like this:
Set objFtpServer = CreateObject( "ActiveXperts.FtpServer" )
Now, add the following lines to the file to have your fist ActiveSocket VBScript program:
WScript.Echo "Version: " & objFtpServer.Version WScript.Echo "Expiration Date: " & objFtpServer.Expiration Date
You can now connect to a remote FTP server, logon, change directory and perform file operations.
The following VBScript code shows how to list files in a specific directory on a remote FTP server:
Option Explicit
Dim objConstants, objFtpServer, objFtpFile, strSaveAs
Set objFtpServer = CreateObject ( "ActiveXperts.FtpServer" )
' Write some information to console
WScript.Echo "ActiveSocket " & objFtpServer.Version & " demo."
WScript.Echo "Expiration date: " & objFtpServer.ExpirationDate & vbCrLf
' Log all FTP operations
objFtpServer.LogFile = "C:\ftpget.txt"
' Connect to the remote FTP server
objFtpServer.Connect "ftp.activexperts-labs.com", "anonymous", "me@myself.dom"
Wscript.Echo "Connect, result: " & objFtpServer.LastError & " (" & objFtpServer.GetErrorDescription ( objFtpServer.LastError ) & ")"
If( objFtpServer.LastError <> 0 ) Then
Wscript.Echo "Ready."
WScript.Quit
End If
' Show last response of FTP server
WScript.Echo "Last response: " & objFtpServer.LastResponse
' Use binary transfer for GetFile calls
objFtpServer.BinaryTransfer = True
' Change directory
objFtpServer.ChangeDir "/Samples/ASocket/Visual Basic/Demo"
Wscript.Echo "ChangeDir, result: " & objFtpServer.LastError & " (" & objFtpServer.GetErrorDescription ( objFtpServer.LastError ) & ")"
If( objFtpServer.LastError <> 0 ) Then
objFtpServer.Disconnect
Wscript.Echo "Disconnected."
Wscript.Echo "Ready."
WScript.Quit
End If
' Iterate over all files
Set objFtpFile = objFtpServer.FindFirstFile()
Wscript.Echo "Find file, result: " & objFtpServer.LastError & " (" & objFtpServer.GetErrorDescription ( objFtpServer.LastError ) & ")"
' WScript.Echo "Last response: " & objFtpServer.LastResponse
While ( objFtpServer.LastError = 0 )
WScript.Echo "Name: " & objFtpFile.Name
WScript.Echo " IsDirectory: " & objFtpFile.IsDirectory
WScript.Echo " Size (bytes): " & objFtpFile.Size
WScript.Echo " Creation date (seconds): " & objFtpFile.DateSeconds
WScript.Echo " Creation date: " & objFtpFile.Date
' To save the file, call the GetFile function.
' strSaveAs = "C:\temp\" & objFtpFile.Name
' objFtpServer.GetFile objFtpFile.Name, strSaveAs
' Wscript.Echo "Save file as " & strSaveAs & ", result: " & objFtpServer.LastError & " (" & objFtpServer.GetErrorDescription ( objFtpServer.LastError ) & ")"
' To delete a file, call the DeleteFile function.
' objFtpServer.DeleteFile objFtpFile.Name
' Wscript.Echo "Delete file, result: " & objFtpServer.LastError & " (" & objFtpServer.GetErrorDescription ( objFtpServer.LastError ) & ")"
Set objFtpFile = objFtpServer.FindNextFile()
Wscript.Echo "Find file, result: " & objFtpServer.LastError & " (" & objFtpServer.GetErrorDescription ( objFtpServer.LastError ) & ")"
Wend
objFtpServer.Disconnect
Wscript.Echo "Disconnected."
Wscript.Echo "Ready."
There are many working samples included with the product. You can also find them on the ActiveXperts FTP site: ftp.activexperts-labs.com/samples/asocket.