Na du lädst doch mit FTP Dateien, die u.U. Werte enthalten?
Je nach Netzwerk-Reihenfolgekonvention (Network Order) muss man die Datenkonventionen dann an den eigenen PC anpassen (oder eben nicht, wenn man Glück hat). Da hilft dann das Proc von Michael.
Aber er sollte Dir das vielleicht selbst erläutern.
WinINet.inc - Eine Inc für verbesserte und erweiterte FTP-Funktionen
-
-
-
Duecsateien enthalten was auch immer, das weiß das Programm natürlich nicht. Warum sollte da was umgewandelt werden?
-
Beispiel: FTP kennt unterschiedliche Übertragungsmodi vom und zum FTP-Server, z.B. BINÄR oder ASCII/ANSI. Überträgt man falsch, wird z.B. oft die Zeilenschaltung nicht verstanden, und aus dem Text wird eine einzige Wurst ohne Umbrüche.
Ähnlich innerhalb von Binärdaten selbst: Da gibt es Zahlenformate, die mit dem höchsten Byte anfangen und andere, die mit dem niedrigsten Byte anfangen. Wäre schön, wenn anlässlich des Download von unterschiedlichen Systemen die Daten gleich richtig ankommen.Du hast allerdings insofern recht, als einem mit der reinen Übertragung befassten Programmierer das auch egal sein kann - solange nicht über Netze mit unterschiedlichen Adressierungsformaten gearbeitet werden soll.
-
Die Inc überträgt grundsätzlich binär. Sorgt nicht die API dafür, dass alles so ankommt wie es abgeschickt wurde? Ich habe mir noch keine Gedanken darüber gemacht, weil ich nicht damit gerechnet habe, dass es möglich ist, dass im Binärmodus was anders ankommen sollte.
-
Es kommt darauf an wie tief Du bei der Internet.inc einsteigen möchtest.
Die gehobenen Routinen sind alle schon intern auf die Network-Order getrimmt.Wenn Du aber auch das arbeiten mit Sockeln anbieten möchtest, dann gerätst Du zwangsläufig an Parameter, die zwingend in Network-Order übergeben werden müssen.
Solange da keine Werte übergeben werden müssen, die vor/nach der Umsetzung die halbe Quadint-Länge überschreiten (also das Sign-Bit setzen) ist auch alles in Ordnung.
Aber man muss dies natürlich wissen und auch berücksichtigen, wenn man diese Grundroutinen schreibt.Schauen wir einfach mal, was da für die Internet.inc noch so alles zusammen kommt.
-
Mein erstes Anliegen war ein http-Download, bei dem die Datei nicht auf der Platte landet sondern im RAM, als Bereich. Da halte aber momentan.
Zwischenzeitlich will ich mich erst nochmal der MyFTP.inc widmen. Es fehlt noch der Code für die multiplen Verbindungen in der Version für XProfan X2. Außerdem will ich die asynchrone Verarbeitung angehen, also mehrere Befehle quasi gleichzeitig ausführen. -
Update auf Version 0.9.18/0.9.15a:
- Verbesserungen in der Verbindungsverwaltung. Vor dem Programmende sollte "DisconnectAll" aufgerufen werden, egal ob schon alle Verbindungen geschlossen wurden oder nicht. -
Update auf Version 0.9.19:
- Angleichung der Quellcodes, so dass auch mit der WinINet.inc mehrere Verbindungen gleichzeit aufgebaut und verwaltet werden können.
- Genauere Fehlercodes, wenn die Verbindung nicht aufgebaut werden kann. Bisher nur "Benutzer oder Passwort falsch". -
Update auf Version 0.9.22:
- kleine interne Änderung, nicht lebenswichtig -
Update auf Version 1.0.25:
- kleine Fehlerbehbung in 2 Funktionen (betraf nur die WinINet.inc).
- Neue Funktion ListDirStruct: Listet alle Unterverzeichnisse eines Ordners auf.
- Neue Funktion ListDirSub: Funktioniert wie ListDir, nur dass alle Unterordner ebenfalls durchsucht werden.
- Neue Set/Get-Funktion: MyFTPListDirMode. Wird dieser Schalter auf 1 gesetzt gibt ListDir nicht nur den Dateinamen sondern den Dateinamen mit dem kompletten Pfad zurück. Gilt nicht für ListDirSub, dort wird immer der komplette Pfad mit Dateiname zurückgegeben. Gilt auch nicht für ListDirStruct, dort werden immer komplette Pfade zurückgegeben.Ich habe die Inc sehr oft getestet und benutze sie in einigen meiner Projekte erfolgreich. Ich denke es ist Zeit für Version 1.0.
Für Anregungen, Verbesserungen, Erweiterungen und natürlich Bugreports stehe ich jederzeit zur Verfügung.Euch allen frohe Weihnachten und allen, die kein Weihnachten feiern, einen schönen Jahresausklang.
-
Update auf Version 1.0.26:
- Starke Optimierung der Funktion ListDirSub: Sie arbeitet jetzt deutlich schneller. -
Update auf Version 1.0.27:
- Bugfix für ListDirSub (2 Zeilen vertauscht, betraf nur Modus MyFTP("ListDirSub",S1|N1,N2) -
Update auf Version 1.0.28:
- UTF8-Modus und ListDir-Modus werden nun für jede Verbindung gespeichert
- Neuer Befehl: CleanUp
- Etliche Funktionen aufgeräumt und optimiert -
Update auf Version 1.0.29:
- Erweiterung für Connect (ID kann automatisch vergeben werden). Wurde für meine neue Inc benötigt. Mehr dazu später. -
Update auf Version 1.0.30:
- Bugfix für IsConnected. Es konnte ein Fehler auftreten, wenn keine Verbindung bestand. -
Update auf Version 1.0.31:
- Bugfix für etliche Funktionen. Mein Dank geht hierbei komplett an Michael Wodrich, der mich auf einige Bugs hingewiesen hat. Im Einzelnen: bei einigen Funktionen konnte ein Fehler hervorgerufen werden, wenn die Nummer einer Verbindung ungültig war und die Funktion DeleteDirSub hatte 2 Bugs (Funktion wurde nicht abgearbeitet bzw. falsche Übernahme von Parametern).
- Alle Funktionen prüfen jetzt, ob die Anzahl der übergebenen Parameter korrekt ist. Falls nicht wird -2 zurückgegeben.
- Bei der Funktion DeleteDirSub kann der 2. Parameter jetzt weggelassen werden.Ein weiterer potenzieller Bug bezüglich SwitchTo wird noch untersucht (auch hier hat mich Michael Wodrich darauf hingewiesen. Ein Bugfix folgt gegebenenfalls zeitnah.
-
Hallo Jac, die WinINet.zip kann ich nicht entpacken...
Kann das jemand bestätigen oder liegt der Fehler bei mir?
-
Da scheint es ein Problem zu geben. Windows meldet bei Entpackversuch Fehler 0x800004005 und WinRAR meint, das Archiv sei zerstört.
Gruß Volkmar
-
Ich kümmer mich bald darum, bin aber gerade in Berlin und nächste Woche in Hannover.
-
Jetzt sollte es wieder gehen.
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!