ActiveX: SLFTP      (Filnamn: SLFTP.OCX)
 

    
SLFTP är en komponent som kan användas för att kommunicera med en FTP server. Du kan med denna komponent t.ex ladda ned eller ladda upp filer, skapa eller radera kataloger, lista innehållet i kataloger, erhålla information (tex storlek) om filer plus annat.

Datatyperna nedan är angivna enligt VB 6.0 standard. I VB.NET ska Integer ersättas med Short (16 bitar) och Long ersättas med Integer (32 bitar). 
 
 
Egenskaper
 
Namn Datatyp Beskrivning
IsConnected Boolean Indikerar ifall det finns en öppen förbindelse med en FTP-server. Är en förbindelse öppnad returnerar denna egenskap True, annars False.
.
IgnoreCache Boolean Om denna egenskap sätts till True så kommer en eventuell kopia av filen i den lokala cachen att ignoreras. Filen kommer alltid att laddas ned från servern. Om denna egenskap sätts till False så kan filen under vissa omständigheter hämtas från den lokala cachen istället för servern.
.
Mode Integer Anger om FTP-komponenten ska arbeta i aktivt läge eller passivt läge när den kommunicerar med en FTP-server. Egenskapen kan ha en av följande värden:
 
  0 - ActiveMode   ( FTP-komponenten ska arbeta i aktivt läge. Detta är grundinställningen. )
  1 - PassiveMode    ( FTP-komponenten ska arbeta i passivt läge. Vissa servrar kräver detta. )
 
Denna egenskap är en ny egenskap som infördes i VB Super Library 2014. Tidigare versioner av komponenten arbetade alltid i aktivt läge, så vill du att din programkod ska fungera precis som förut sätter du Mode till 0.
.
Password String Specificerar ett lösenord som används vid inloggning till FTP-servern.
.
RemotePort Long Specificerar den port på FTP-servern som ska användas till kommunikation. Är vanligtvis port 21. 
.
RemoteServer String Specificerar domännamnet på den FTP-server som ska kontaktas. 
.
Username String Specificerar ett användarnamn som används vid inloggning till FTP-servern.
.
 
 
Metoder
 

Innan några FTP-kommandon kan anropas i SLFTP måste en förbindelse öppnas med metoden OpenConnection eller OpenSyncConnection. När du är färdig med användadet av FTP-kommandona måste förbindelsen stängas med CloseConnection. Felkod för eventuella fel kan erhållas genom att anropa metoden GetLastError. Vissa fel kan också erhållas i klartext genom att anropa metoden GetErrorMessage.
  

OpenConnection () As Boolean

Öppnar en förbindelse till en FTP-server. Egenskaperna RemoteServer, RemotePort, Password och Username måste vara satta till korrekta värden innan denna metod anropas. Metoden returnerar True om allt gått bra, eller False vid fel.

OpenSyncConnection (sAgent As String, AccessType As Long, sProxyName As String) As Boolean

Öppnar en förbindelse till en FTP-server. Parametern sAgent specificerar namnet på det program, eller nån form av text, som används för att identifiera den som öppnar upp en förbindelse med en FTP-server. Parametern AccessType specificerar vilken access-typ som ska användas. Kan vara en av följande värden:

0 = Använd Registry-konfiguration
1 = Direkt till nätet
3 = Via namngiven Proxy
4 = Förhindra användning av JavaScript / INS

Parametern sProxyName specificerar namnet på en eventuell proxy-server. Egenskaperna RemoteServer, RemotePort, Password och Username måste vara satta till korrekta värden innan denna metod anropas. Metoden returnerar True om allt gått bra, eller False vid fel.

CloseConnection () As Boolean

Stänger förbindelsen till en FTP-server. Metoden returnerar True om allt gått bra, eller False vid fel.
 
 

 
CreateDir (sDir As String) As Boolean


Skapar en katalog på en FTP-server. Parametern sDir specificerar namnet på den katalog som ska skapas. Metoden returnerar True om allt gått bra, eller False vid fel.

DelFile (sFilename As String) As Boolean

Radererar en fil på FTP-servern. Parametern sFilename specificerar namnet på den fil som ska raderas. Metoden returnerar True om allt gått bra, eller False vid fel.

DownloadFile (sRemoteFilename As String, sLocalFilename As String) As Boolean

Laddar hem en fil från FTP-servern till den lokala datorn. Parametern sRemoteFilename specificerar en sökväg till den fil på FTP-servern som ska laddas ned och sLocalFilename specificerar det filnamn som den nedladdade filen ska få på den lokala datorn. Metoden returnerar True om allt gått bra, eller False vid fel.

FileExists (sFilename As String) As Boolean

Testar om en fil existerar på FTP-servern. Parametern sFilename specificerar sökvägen till den fil vars existens ska testas. Metoden returnerar True om allt gått bra, eller False vid fel.

GetCurDir () As String

Returnerar aktiv katalog på FTP-servern. Inträffar det något fel under operationen returnerar metoden en tom sträng (""). Rot-katalogen på FTP-servern returneras som "/".

GetErrorMessage () As String

Returnerar ett felmeddelande i klartext ifall ett fel inträffade i samband med användning av FTP-funktionerna i SLFTP.

GetFileDateTime (sFilename As String) As String

Returnerar fildatum och klockslag för en fil med namnet sFilename på FTP-servern. Inträffar det något fel under operationen returnerar metoden en tom sträng ("").

GetFileSize (sFilename As String) As Long

Returnerar filstorleken för en fil på en FTP-server. Parametern sFilename specificerar den fil vars storlek ska erhållas. Storleken returneras i bytes. Vid fel returnerar metoden 0.

GetLastError () As Long

Returnerar felkod för senast inträffade felet i komponenten. En lista på möjliga felkoder finns på denna Internetsida.

ListDir (sDir As String, sFileSpec As String) As String

Listar innehållet i en katalog på FTP-servern. Parametern sDir specificerar den katalog vars innehåll ska listas upp och sFileSpec specificerar det urval av filer som ska listas upp (tex *.htm eller *.*). Alla filer som uppfyller kriteriet placeras i en sträng som metoden sedan returnerar. Innehåller katalogen fler än en fil separeras dessa med tecknet "|". Vid fel returnerar metoden "".

ListDirectoriesInDir (sDir As String) As String

Listar alla kataloger i en katalog på FTP-servern. Parametern sDir specificerar den katalog vars innehåll ska listas upp. Alla kataloger som hittas placeras i en sträng som metoden sedan returnerar. Innehåller katalogen två eller fler kataloger separeras dessa med tecknet "|". Vid fel returnerar metoden "".

RemoveDir (sDir As String)  As Boolean

Raderar en katalog på en FTP-server. Parametern sDir specificerar den katalog som ska raderas på servern. Metoden returnerar True om allt gått bra, eller False vid fel.

SetCurDir (sDir As String)  As Boolean

Sätter ny aktiv katalog på en FTP-server. Parametern sDir specificerar den nya aktiva katalogen. Metoden returnerar True om allt gått bra, eller False vid fel.

StoreFile (sLocalFilename As String, sRemoteFilename As String) As Boolean

Överför en fil från den lokala datorn till FTP-servern. Parametern sRemoteFilename specificerar filnamn och sökväg på FTP-servern och sLocalFilename specificerar en sökväg och filnamn på den lokala datorn. En överföring sker från sLocalFilename till sRemoteFilename. Metoden returnerar True om allt gått bra, eller False vid fel.
.


Exempel

Dim bStatus As Boolean

SLFTP1.RemoteServer = "ftp.test.com"     
' Specificera FTP-server
SLFTP1.Username = "SamLogic"             
' Specificera användarnamn
SLFTP1.Password = "test"                 
' Specificera lösenord
SLFTP1.Mode = ActiveMode                  ' Vi ska arbeta i aktivt läge

If SLFTP1.OpenConnection() Then                 
' Öppna förbindelse med FTP-servern
    If SLFTP1.SetCurDir("/www") Then            
' Sätt aktiv katalog till "/www"
        If SLFTP1.FileExists("index.htm") Then  
' Undersök om filen existerar
            bStatus = SLFTP1.DownloadFile("index.htm", "c:\temp\index.htm") 
' Ladda ned filen
        End If
    End If
    SLFTP1.CloseConnection
End If
  
  

SamLogic