Laden...

FTP-Client zum weiterentwickeln

Erstellt von Robertico vor 17 Jahren Letzter Beitrag vor 12 Jahren 11.483 Views
R
Robertico Themenstarter:in
344 Beiträge seit 2006
vor 17 Jahren
FTP-Client zum weiterentwickeln

Hallo alle,

da ich ein wenig verstehen wollte wie dies funktioniert, habe ich an einem FTP-Client angefangen.

Dazu habe ich aus Codeproject eine Klasse entnommen und diese so umgebaut, dass ich daraus in Events meine Messages bekomme.

Weiter habe ich eine schöne Methode gefunden, mit der man das dazu gehörige Icon an hand der Extension bekommt.

Viel können, kann es noch nicht. Daher kann man auch noch durchblicken.
Etwa so aufgebaut wie SmartFTP.

Kann nur Verbindung aufbauen und die Pfade/Dateien auslesen.
Aja: NOOP kann es auch 😉

Habe noch Probleme mit der RichTextBox. Nachzulesen und beantworten bitte in dem Thread:
RichtextBox verliert alte Formatierung

Wenn mir da jemand helfen könnte 😁

Man sieht das Problem in der Zeile:

[ 18:52:11 ]   SIZE [ 18:52:11 ]  211 End 

obwohl ich ZeilenEnde hinter SIZE dazu gebe kommt dies nicht.

Dann habe ich noch eine Frage:
FTP gibt bei List die Werte der Dateien zurück. Allerdings wenn eine Uhrzeit dabei ist, nicht das Jahr. SmartFTP hat aber das Jahr der Datei wenn eine Uhrzeit dabei ist.

Kann mir da auch jemand oben drauf antworten?

Gruß Robert (weiter unten aktuelle Version)

R
Robertico Themenstarter:in
344 Beiträge seit 2006
vor 17 Jahren
R
Robertico Themenstarter:in
344 Beiträge seit 2006
vor 17 Jahren

Hatte ein Problem.

Etwa 130 Verzeichnisse musste ich löschen. Gespickt von Umlauten.
SmartFTP kam mit den Umlauten nicht klar.
FTPClient habe ich den Knopf zum Löschen nicht gefunden.
Was tun sprach Zeuss.

Da habe ich diesen kurzerhand umlautetauglich gemacht und im Contexmenü vom treeView das Löschen von Verzeichnissen eingebaut.

Dies geschieht rekursiv und man kann sich nicht unbedingt darauf verlassen, dass wenn der Pfad nicht mehr angezeigt wird auch wirklich nicht mehr da ist.

Neustarten des Programms schafft Sicherheit. Allerdings, wenn während des Löschens keine rote Schrift kommt, so kann man davon ausgehen, dass alles geklappt hat. (Wenn ich Zeit habe baue ich da noch Sicherheit ein, oder jemand anderes möchte das tun)
Kann mir wirklich niemand helfen bei obigem Problem?erledigt

Gruß Robert

J
42 Beiträge seit 2007
vor 17 Jahren

Moin,

kann dir leider nicht helfen hätte aber eine Frage: wie funktioniert denn deine Methode die je nach extension das richtige icon läd?

Danke und Grüße
Bastian

R
Robertico Themenstarter:in
344 Beiträge seit 2006
vor 17 Jahren

Hallo jdem,

habe mich nicht damit auseinandergesetzt wie es funktioniert.
Nur habe ich gesucht und bin bei Codeproject fündig geworden.
Denke, dass es jeder Explorer auch so macht.
Man hat ja oft ein Programm, mit dem man bei Doppelklick auf eine Datei diese öffnet.
Welches Programm wird aus der Registry ausgelesen. Dieses zugehörige Icon holt die Methode:

public static Icon IconFromExtension(string Extension, IconSize Size)

heraus.

Wenn du das Projekt lädts, findest du es in der Datei Images.cs .

Gruß Robert

R
Robertico Themenstarter:in
344 Beiträge seit 2006
vor 16 Jahren
Neue Version

Habe den FTP-Client jetzt grundlegend umgebaut.

Man kann Dateien von FTP laden im Editor ändern und wieder abspeichern.

Dies ist schon eine brauchbare Version, die ich aber noch erweitern werde.

Rechtsklick auf die Datei, und man kann sie laden oder löschen.
Rechtsklick auf den Baum um ganze Verzeichnisse zu löschen.
Rechtsklick auf die Reiter um zu schließen.
Contexmenü im Editor.
Die letzten offenen FTP-Verbindungen werden beim Start wieder geöffnet.
Dies merkt er sich unter:
HKEY_LOCAL_MACHINE\SOFTWARE\Ro_FTP_Client\Servers

Einige Sachen sind noch "Under Constuction" eine Messagebox sagt welche.

Gruß Robert

R
Robertico Themenstarter:in
344 Beiträge seit 2006
vor 16 Jahren

Die Dateien:

€dit: Hab noch einen einfachen Web-Browser dazu getan. Klick auf die Weltkugel.

S
322 Beiträge seit 2007
vor 15 Jahren

Hi,

wie weit bist du mit dem FTP-Client?
Kannst du den aktuellen Source zur Verfügung stellen?

Deine letzte EXE funktioniert bei mir nicht, ich erhalte eine Exception wenn ich auf neuer Server gehe:

Fehlermeldung:
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
bei FTPLib.FtpClient.OnMessageSended(String _message, Color col)
bei FTPLib.FtpClient.ChangeDir(String path)
bei Ro_FTP_Client.FTPClient.treeView1_AfterSelect(Object sender, TreeViewEventArgs e)
bei System.Windows.Forms.TreeView.OnAfterSelect(TreeViewEventArgs e)
bei System.Windows.Forms.TreeView.TvnSelected(NMTREEVIEW* nmtv)
bei System.Windows.Forms.TreeView.WmNotify(Message& m)
bei System.Windows.Forms.TreeView.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Gruß
Steffen

M
1 Beiträge seit 2011
vor 12 Jahren

Guten Tag Robertico

Könntest du uns mehr Einblick in dein Projekt geben ?

Ich interessiere mich sehr stark wie du das mit der FTP verbindung managst bzw. wie du es schaffst eine automatische verbindung herzustellen.

bzw. die letzte EXE erneuern da sie leider nicht geht.

MFG Christian