|
|
|
|
|
FTP - UPLOAD selbstgemacht
Für alle, die gerne etwas lernen wollen und vielleicht auch das eine oder andere Projekt für eigene Zwecke umsetzen wollen, will ich hier einmal kurz die Entwicklung eines Tools aufzeigen und die Funktionen erklären. Es geht dabei um ein supereinfaches Hilfsmittel, das man bei der täglichen Arbeit mit dem Internet benutzen kann. Mit diesem kleinen Programm kann man auf den Server ein Upload fahren, ohne aufwändige Softwareprogramme zu bemühen. Wer selbst seine Homepage so spartanisch editiert, wie ich dies tue, der kennt das Problem: die Seite, die zum Server gespielt werden soll, ist offline fertig erstellt und muss nun per FTP - Transport dem Provider überspielt werden, damit sie öffentlich im Internet ist. Je nach Gusto kommt jetzt eines der vielen FTP - Programme zum Zuge. Ich benutze zum Beispiel Smart FTP, ein schönes Programm, das für Privatanwender sogar kostenlos ist. Doch manchmal ist es mir zu umständlich. Aus diesem Grunde habe ich mir dieses kleine Programm geschrieben, das in Windeseile kleine FTP - Uploads machen kann. Wer dieses Programm benutzen will, der benötigt zum einen die MSVBVM60.DLL und die MSINET.OCX. Beide Pgramme sind in meinem Internetangebot vorhanden. (siehe unten) Was geschieht bei einem solchen Vorgang, den man FTP - Upload nennt? Zunächst muss die Adresse des FTP Servers des Internetproviders bekanntsein. Man bekommt sie mitgeteilt, wenn man den Dienst beim Provider bestellt. Das kann zum Beispiel - wie bei mir- ftp:://ftp2.kontent.de sein. Zusätzlich benötigt man den Usernamen. Normalerweise ist es die Adresse der Internetseite ohne das www, wie z.B. Heinz-Mustermann.de. Jetzt kommt noch das Passwort, das man sich normalerweise nach dem ersten Login selbst auswählen kann. Mit diesen Angaben ist eine Verbindung zum FTP - Server möglich. Es geschieht zwar noch keine Aktion, doch die Verbindung steht. Mit der Control von Microsoft MSINET.OCX ist ein Kinderspiel, die FTP - Funktionen abzubilden. Beginnen wir einfach einmal mit der Programmierung. Die geladen Control erhält jetzt den Namen inet1
inet1.AccessType = icUseDefault In diesem Stück Programmcode ist die Verbindung zum Server realisiert. der eingegebene Accesstyp bezieht sich auf einen Servertyp ohne Proxy. Nutzt man einen Proxy, so kann man das hier einstellen. Der Protokolltyp ist logischerweise auf FTP gestellt und der ausgewählte Port ist normalerweise die 21, die für solche Aufgaben freigeschaltet wird.
Jetzt kommen wir zur Aktion. Es soll eine Datei vom Lokalen Directory auf das vorgegebene
FTP - Directory überspielt werden. Es gibt da verschiedene Wege, wie meistens im Leben. Wir
nutzen hier das Execute Kommando. Wenn die Verbindung hergestellt ist - und davon gehen wir ja aus -
wird mit Wenn dieser Befehl abgeschickt wird, so hat das Programm einige Sekunden Arbeit, bis der File auf dem Server gelandet ist. Deshalb muss man das Programm hier anhalten, bis der Vorgang abgeschlossen ist. Da sind viele, die es probiert haben, gescheitert (wie ich aus einigen Newsgroups entnommen habe). Eine gut funktionierende Lösung ist diese Routine :
Private Sub Warte_auf_Antwort() Solange inet1.StillExecuting einen Wert ungleich Null hat (den hat er, solange die Ausführung läuft) wird in der Schleife geblieben. Der Befehl DoEvents ermöglicht es, die Schleife zu verlassen, z.B. wenn man das Ganze abbrechen will.
Erst wenn die Schleife verlassen wird geht es im Programm mit dem Closebefehl weiter.
Die Downloads:Wie bei Visual Basic Programmen üblich, muss eine fette Runtimebibliothek auf dem Rechner gespeichert sein. Oftmals ist sie bereits vorhanden und liegt im windows\system oder windows\system32 ordner. Den Sucher am besten einmal laufen lassen und nachsehen.<>MSVBVM60.DLL Runtimebibliothek(1.4MB) laden Auch die unten angegebene Control muss geladen sein. Man sollte sie in das windows\system32 Verzeichnis kopieren. MSINET.OCX Internetcontrol (112 KB) laden Schließlich noch das Programm als EXE - Datei ftptest.exe FTP - Uploadprogramm (28 KB KB) laden Und hier zum Schluß noch den kompletten Quellcode, um sein eigenes Programm zu basteln.
Private Sub btn_copy_Click()
Private Sub btn_edit_Click()
Private Sub Warte_auf_Antwort()
Private Sub btn_save_Click()
Private Sub Form_Load()
|
||
|
© 2003 by Wolfgang Back info@wolfgang-back.com |