Files ins Internet



  • Hallo Leute!
    Gibt es die Möglichkeit unter C++ ein Programm zu schreiben, mit dem man Files ins Internet stellen kann. Z.B. auf meinen t-online account? Kann man bestimmt, aber ich bin nicht so recht fündig geworden (bin auch nocht nicht ssoo lange bei c++), wie man sowas anfängt... Kann mir jemand helfen, der soetwas schonmal gemacht hat? oder jemand, der weiß wo ich sowas im netz finde?
    Dankeschön an alle "Helfer"!
    MfG, Peter



  • Per FTP? Dann guck dir mal die Indy-Komponenten an.



  • <Peter>:
    Hast du wenigstens ein bischen Ahnung, wie zB. Web- oder FTP-Server intern funktionieren? Wenn nicht, dann solltest du vielleicht erstmal ein fertiges Produkt installieren und damit herumexperimentieren, bevor du versuchst, das nachzubauen.

    Das ist nicht abwertend gemeint, aber ohne Grundlagenwissen wirst du dich sehr schwer tun.



  • Danke an Eßer!!!
    Hat mir sehr geholfen...
    Jansen:
    Du hast Recht, mit dem Thema kenn ich mich nicht/vielleicht noch nicht aus, deshalb habe ich auch sowas gesucht, was Eßer mir empfohlen hat. Sowas nachzubauen wäre ich echt nicht in der Lage zu! Vielleicht lag es an meinem dumm formuliertem Thema?!



  • Selbst mit den Indy-Komponenten wirst du auf dem Schlauch stehen, wenn du keine Ahnung von den entsprechenden Protokollen hast. Zum Glück gibt's in der Indy-Hilfe ja immer Links zu den jeweiligen RFCs, ich hoffe nur, du benutzt diese auch. 😉



  • Hallo, ich bins nochmal!

    Bei folgendem Quelltext:

    IdFTP1->User = "misterx";
    IdFTP1->Password = "xxx";
    IdFTP1->Host = "home-up.t-online.de";
    IdFTP1->Connect();
    IdFTP1->List(ListBox1->Items, "*.*", false);
    IdFTP1->Put(OpenDialog1->FileName, ExtractFileName(OpenDialog1->FileName), OpenDialog1->Execute());
    IdFTP1->Disconnect();
    

    kommt folgende Fehlermeldung:
    Quelltextdatei "IdTCPConnection.pas" nicht gefunden!

    Hab ich da an meinem Programm Indy 9.0 oder BCB6.0 was falsch installiert oder liegt es am Quelltext??

    Danke euch!



  • HI!

    Kann mir jemand sagen, ob der Quelltext so, wie er da steht, bei jemand von euch funktioniert (bei richtiger angabe des ftp accounts) ?? Ich bekomme immer die Meldung (nachdem das Programm ohne Probleme compiliert und gelinkt wurde), dass diese Datei nicht gefunden wurde. Wenn ich dann im Fenster den richtigen Pfad angeben soll, finde ich diese Datei auch, aber dann kommt folgender Fehler:
    "...Meldung 552 Exceeded storage allocation: No such file or directory..."
    und anschließend wird ein Kommentar in der Datei markiert.

    Das war jetzt die komplette Beschreibung. Mich würde halt hauptsächlich nur interessieren, ob das bei euch läuft, oder nicht....

    Danke euch!!



  • Du hast den Pfad zum Indy-Quellverzeichnis nicht oder nicht richtig in den Umgebungs- bzw. Projektoptionen eingetragen. Und wenn nach den .pas-Dateien gefragt wird solltest du, statt auf die Datei selber, auf den entsprechenden Header (*.hpp) verweisen.



  • Ich bins nochmal!

    Sorry, dass ich mich so blöd anstelle, aber was mache ich falsch?
    1.) Ich hab in meinem Builder unter Komponenten->Packages installieren Indy hinzugefügt
    2.) Ich habe unter Tools->Umgebungsoptionen in der Karte Bibilothek und Bibilothekspfad das hier angehängt: ;C:\WINDOWS\Profiles\xxx\Desktop\IndyWin32_9_00_11_Src\C6 (bisschen doof, das ichs aufm Desktop gelassen hab, aber spielt hier ja keine Rolle)
    3.) Wenn ich die Zeile mit dem "put" weglasse funktioniert alles ohne Probleme.

    sonst kommt alles so, wie ich vorher beschrieben habe, auch, wenn ich den Header "IdTCPConnection.hpp" hinterher angebe



  • Ich dachte, Indy wäre beim BCB 5+ schon dabei. 😕



  • <Peter>:
    Hast du auch, wie im Indy9-Readme beschrieben, Version 8 deinstalliert und den Pfad zu v9 an den Anfang der Bibliotheks- bzw. Includepfade gesetzt?



  • Original erstellt von WebFritzi:
    Ich dachte, Indy wäre beim BCB 5+ schon dabei. 😕

    AFAIK erst ab BCB 6 Prof. In der Personal jedenfalls nicht.



  • Ersteinmal danke an euch! Jetzt klappts so, wies soll! (auch wenn ein bisschen verspätet...)

    Ich habe jetzt nur noch ne Frage:
    Wie bekomme ich es nun hin, dass die Datei hochgeladen wird, die in einem Textfeld angegeben ist?
    Also quasi so:

    String *mem;
    IdFTP2->User = "misterx";
    IdFTP2->Password = "xx";
    IdFTP2->Host = "home-up.t-online.de";
    IdFTP2->Connect();
    mem = Textfeld->text;
    IdFTP2->Put(mem,"fahrzeuge.htm",true);

    Kann mir jemand helfen??
    Danke euch!



  • Wo ist das Problem? Wenn du bei deiner String-Deklaration noch das '*' weglässt sollte alles funktionieren, so wie es dasteht.



  • Ach (bin ich blöd), ich hatte nen anderen klitze kleinen Fehler, aber naja.

    Aber dem ist noch nicht genug (langsam wirds mir richtig peinlich schon wieder was zu fragen, aber ich habe immer noch ein Problem:)
    Wenn ich eine x-beliebige Datei hochladen möchte(z.B. im .txt Format oder .htm Format) kommt immer die Meldung: "552. No such file or directory" und das Programm wird angehalten.
    Der File, den ich dann angebe ist aber auf der Festplatte im selben Ordner, wie die Programmdateien auch, enthalten.
    Habt ihr noch ne Idee, woran sowas liegen kann?

    Sorry, dass ich euch nochmal nerve!!!



  • Tja, da haben wir das Problem mit den Grundkenntnissen. 😉
    Sieh dir die oben erwähnten RFCs an, 552 ist eine Fehlermeldung des FTP-Protokolls.


Anmelden zum Antworten