Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Fragen - Antworten
Autor
Nachricht
winfreak
Newbie
Newbie

Anmeldedatum: 19.09.2008
Beiträge: 3

FTP Programm in Visual Basic .NET... Wie?
Verfasst am: 20.09.2008, 17:30

Hallo,

Ich würde gerne für einen Filehoster ein FTP Programm schreiben.
Nun weiß ich nicht genau wie ich das anstellen soll, es soll eine Window Anwendung und keine Konsolen Anwendung werden. Ich hab das so geplant:

Man hat eine Form, in der der Login ist, dann, wenn man auf Login klickt, wird eine Verbindung zum fest vorgelegten FTP Server mit angegebenem Benutzernamen und PW hergestellt. Wenn der Anmeldeversuch erfolgreich war, erscheint die 2. Form mit dem Hauptteil des Programms. Dieses Programm zeigt die Liste der Dateien in dem Verzeichnis an, wenn man jetzt mit der rechten Maustaste auf eine Datei klickt, kann man sie löschen usw... das ganze (wenns nicht möglich ist) würde auch mit nem menu strip funzen.

Danke für die Hilfe!

winfreak
 
BlAcKfINAl.aT
Poster
Poster

Anmeldedatum: 26.07.2008
Beiträge: 162


Verfasst am: 20.09.2008, 17:52

Hi ,
Hab hier was gefunden , versuchs ma damit

Visual Basic: [code]
' Download a remote file to a local file name and include a path. Then, set the
' resume flag. The local file name will be created or will be overwritten, but the path must exist.
Public Sub DownloadFile(ByVal sFileName As String, _
ByVal sLocalFileName As String, _
ByVal bResume As Boolean)
Dim st As Stream
Dim output As FileStream
Dim cSocket As Socket
Dim offset, npos As Long

SetBinaryMode(True)

If (sLocalFileName.Equals("")) Then
sLocalFileName = sFileName
End If

If (Not (File.Exists(sLocalFileName))) Then
st = File.Create(sLocalFileName)
st.Close()
End If

output = New FileStream(sLocalFileName, FileMode.Open)
cSocket = CreateDataSocket()
offset = 0

If (bResume) Then
offset = output.Length

If (offset > 0) Then
'Send an FTP command to restart.
SendCommand("REST " & offset)
If (m_iRetValue <> 350) Then
offset = 0
End If
End If

If (offset > 0) Then
npos = output.Seek(offset, SeekOrigin.Begin)
End If
End If
'Send an FTP command to retrieve a file.
SendCommand("RETR " & sFileName)

If (Not (m_iRetValue = 150 Or m_iRetValue = 125)) Then
MessageString = m_sReply
Throw New IOException(m_sReply.Substring(4))
End If

Do While (True)
m_aBuffer.Clear(m_aBuffer, 0, m_aBuffer.Length)
m_iBytes = cSocket.Receive(m_aBuffer, m_aBuffer.Length, 0)
output.Write(m_aBuffer, 0, m_iBytes)

If (m_iBytes <= 0) Then
Exit Do
End If
Loop

output.Close()
If (cSocket.Connected) Then
cSocket.Close()
End If

ReadReply()
If (Not (m_iRetValue = 226 Or m_iRetValue = 250)) Then
MessageString = m_sReply
Throw New IOException(m_sReply.Substring(4))
End If

End Sub

bzw.

' This is a function that is used to upload a file from your local hard disk to your FTP site
' and then set the resume flag.
Public Sub UploadFile(ByVal sFileName As String, _
ByVal bResume As Boolean)
Dim cSocket As Socket
Dim offset As Long
Dim input As FileStream
Dim bFileNotFound As Boolean

cSocket = CreateDataSocket()
offset = 0

If (bResume) Then
Try
SetBinaryMode(True)
offset = GetFileSize(sFileName)
Catch ex As Exception
offset = 0
End Try
End If

If (offset > 0) Then
SendCommand("REST " & offset)
If (m_iRetValue <> 350) Then

'The remote server may not support resuming.
offset = 0
End If
End If
'Send an FTP command to store a file.
SendCommand("STOR " & Path.GetFileName(sFileName))
If (Not (m_iRetValue = 125 Or m_iRetValue = 150)) Then
MessageString = m_sReply
Throw New IOException(m_sReply.Substring(4))
End If

'Check to see if the file exists before the upload.
bFileNotFound = False
If (File.Exists(sFileName)) Then
' Open the input stream to read the source file.
input = New FileStream(sFileName, FileMode.Open)
If (offset <> 0) Then
input.Seek(offset, SeekOrigin.Begin)
End If

'Upload the file.
m_iBytes = input.Read(m_aBuffer, 0, m_aBuffer.Length)
Do While (m_iBytes > 0)
cSocket.Send(m_aBuffer, m_iBytes, 0)
m_iBytes = input.Read(m_aBuffer, 0, m_aBuffer.Length)
Loop
input.Close()
Else
bFileNotFound = True
End If

If (cSocket.Connected) Then
cSocket.Close()
End If

'Check the return value if the file was not found.
If (bFileNotFound) Then
MessageString = m_sReply
Throw New IOException("The file: " & sFileName & " was not found." & _
" Cannot upload the file to the FTP site.")

End If

ReadReply()
If (Not (m_iRetValue = 226 Or m_iRetValue = 250)) Then
MessageString = m_sReply
Throw New IOException(m_sReply.Substring(4))
End If
End Su
[/code]
 
winfreak
Newbie
Newbie

Anmeldedatum: 19.09.2008
Beiträge: 3


Verfasst am: 20.09.2008, 18:06

Habs mal probiert... der schwafelt was von Deklanierungsfehlern
 
BlAcKfINAl.aT
Poster
Poster

Anmeldedatum: 26.07.2008
Beiträge: 162


Verfasst am: 20.09.2008, 18:18

MUsst doch nur das einfügen und die Funktionen dann aufrufen.

Kannste VB-Grundlagen?
 
elek´tronik
Tutorial Leser
Tutorial Leser

Anmeldedatum: 25.07.2008
Beiträge: 56


Verfasst am: 21.09.2008, 11:06

(BlAcKfINAl.aT;8649)
Kannste VB-Grundlagen?


Das grade du ihm fragst ob er die VB-Grundlagen beherrscht finde ich irgendwie lustig.
Und wenn ich mal den Source überfliege denn du hier per Copy & Paste gepostet hast fällt mir auf, das der Source ihm nichts bringt.
Alles was er damit machen kann ist Uploaden und Downloaden, da ist noch kein löschen und kein listen und nichts dabei.

Ausserdem handelt es sich hier glaube ich um keinen VB6-Code und um keinen .NET-Code.

(BlAcKfINAl.aT;8649)
MUsst doch nur das einfügen und die Funktionen dann aufrufen.


Nein muss er nicht, er braucht auch noch einen Winsock in seiner Form der csocket heisst, aber auch das nur am Rande.
So viel zum Thema VB-Grundlagen...
 
BlAcKfINAl.aT
Poster
Poster

Anmeldedatum: 26.07.2008
Beiträge: 162


Verfasst am: 21.09.2008, 11:08

Omg, das ist natürlich C&P.

Hab ich aus Google.

Ausserdem kann ich mittlerweile VB CLASSIC Grundlagen , und das mit winsock dürfte ja eig klar sein....

Und UP u. Download Funktion beantwortet AUCH ein Teil seiner Fragen oO

Mfg..
 
elek´tronik
Tutorial Leser
Tutorial Leser

Anmeldedatum: 25.07.2008
Beiträge: 56


Verfasst am: 21.09.2008, 11:31


(BlAcKfINAl.aT;8667)
Omg, das ist natürlich C&P.

Hab ich aus Google.

Ausserdem kann ich mittlerweile VB CLASSIC Grundlagen , und das mit winsock dürfte ja eig klar sein....

Und UP u. Download Funktion beantwortet AUCH ein Teil seiner Fragen oO

Mfg..


Pass mal auf mein verehrter BlAcKfINAl.aT:

Erstens sucht er ein Code für VB.NET und nicht für VB Classic, was dir aber bestimmt schon aufgefallen ist, wie z.B. am Threadtitel, oder um mich mal richtig weit aus dem Fenster zu lehnen am Forum in dem gepostet wurde.

Das mit dem Winsock ist alles andere als klar, denn es gibt auch diverse andere Wege um eine FTP-Verbindung auf zu bauen, wie z.B. über das Internet Control, oder soweit ich weiss kann man das in VB.NET sogar ohne diverse .ocx oder .dll Files machen, das kann man dann nachlesen hier, oder auch bei Google.

Natürlich ist damit dann ein Teil seines Problems gelöst, was aber total irrelevant ist weil man das alles auch anders lösen kann.
Und zwar auch noch so das man alles in ein Modul machen kann.
Zur Erklärung:
Ein FTPd kann über diverse Kommands angesprochen werden die man alle hier nachlesen kann.
Man kann damit auch Dateien löschen, Dateien verschieben, Dateien rauf- oder auch runterladen, je nach belieben werden auch noch diverse andere Sachen unterstützt, was aber auch vom FTPd abhängt.

Um aber mal was konstrktives zum Thema zu posten beende ich diesen Post mit ein paar Links die man bei Google finden kann und die bestimmt sehr hilfreich sein werden:

Google:
http://www.freevbcode.com/ShowCode.asp?ID=4655
http://www.java2s.com/Tutorial/VB/0400__So...ientinVBnet.htm
http://www.developer.com/net/vb/article.php/3428901

vb@rchiv:
http://www.vbarchiv.net/tipps/details.php?id=1565

PSC:
http://planetsourcecode.com/vb/scripts/Sho...=5285&lngWId=10
http://planetsourcecode.com/vb/scripts/Sho...=1452&lngWId=10

MfG
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Fragen - Antworten

Tags: ftp, löschen, datei, basic, visual

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Wichtig: [Ebook] jetzt lerne ich Visual Basic 6 5066 02.06.2010, 13:55
Keine neuen Beiträge Miceosoft Visual Basic 6.0 Einsteiger Kurs? 1189 17.02.2007, 21:01
Keine neuen Beiträge SUCHE MICROSOFT VISUAL BASIC! 944 12.02.2007, 21:54
Keine neuen Beiträge Microsoft Visual Basic 1275 28.01.2007, 00:59
Keine neuen Beiträge Visual Basic.. Version?? 1230 22.01.2007, 18:23
 


[ Time: 0.2178s ][ Queries: 100 (0.1370s) ][ GZIP on - Debug on ]