[C++] Filmeinformationen aus dem Netz

DexXxtrin

Erfahrenes Mitglied
Hallo zusammen

Als erstes mal zur Erklärung:
Um meine C++ Kenntnisse zu verbessern/vertiefen habe ich mir ein Projekt vorgenommen.
Ich möchte ein Programm schreiben, mit welchem alle Medien (Videos, Filme, Musik, Bilder) auf meinem PC verwalten kann.
Dabei geht es mir in erster Linie mehr um den Lerneffekt durch das ganze Projekt, als das Endprodukt.
Deshalb bitte ich bei den Antwort auch nicht direkt auf fertige Lösungen zu verweisen, sondern Erklärungen, damit ich mir das selbst erarbeiten kann.

So nun zu meiner Frage:
Es were schöne wenn, ich nenne es jetzt mal Multimediathek, von Filmen die Informaitonen (Cover, Jahr, Besetzung, Beschreibung, Trailer,...) aus dem Internet holt und aktualisiert.
Mein erster Ansatz ist über die IMDB (gibt es schlauere, bessere?). Da hab ich gesehen dass es einen FTP-Zugang gibt mit Listen.
Nun wie geht man damit um - wie startet man vom C++ Programm aus eine Abfrage?

Hoffe es kann mir jemand helfen.

Gruss DexXxtrin
 
Hi

Möglichkeiten gibt mehrere.

Willst du etwas eher plattformunbhängiges oder kann auch was vom OS sein (welche OS)?
Soll es nur C++-Code werden oder wäre ein externes Programm (dass dir den FTP-Teil
mit einem passenden Aufruf aus deinem Programm heraus erledigt) auch ok?
 
Also in erster Linie sollte es auf W7 (x64) laufen. Ist Linux auch möglich gleichzeitig? Sonst wäre das evtl. noch eine Option.

Möchte so viel wie möglich mit C++, allerdings auch nur so viel wie sinnvoll.
Wie meinst du das mit dem ext. Programm? Ein selbst geschriebenes einfach in einer anderen (besser für diesen Teil geeigneten) Sprache oder gleich z.B. FileZilla fernsteuern?
 
Mit Programm meinte ich zwar nicht Filezilla, aber cUrl.
Außer das Programm zu starten und den Returnwert abzufragen hat man da nicht viel zu tun.
Die Daten sind dann aus einer lokalen Datei auslesbar.

Beim Codeteil ist der bestmögliche Fall, dass man die selben Codedateien unverändert
für beide Betriebssysteme kompilieren kann. Bedeutet aufpassen was man für Funktionen verwendet,
bei externen Libraries nur solche nehmen die für beide OS funktionieren, und eventuell
Teile vom Code wirklich für beide OS separat schreiben (mit entsprechenden "Anweisungen",
was für welches OS gedacht ist).
Für FTP ist mir nichts bekannt, was keinen doppelten Code erfordert und trotzdem
ohne Libs oder Programmen von Drittherstellern auskommt.
 
Wenn ich das richtig sehe, kann cUrl als Library eingebunden werden (so wäre es ja kein ext. Programm mehr), oder verstehe ich da was falsch?

Die Info zu den OS's ist sehr hilfreich, da dies Neuland ist für mich!


Ob es nur mit FTP geht weiss ich nicht, es ist einfach das einzige was ich bis jetzt gesehen habe. (ftp://ftp.fu-berlin.de/misc/movies/database/)
Dort liegen die Files, allerdings kann ich mir noch nicht ganz ausdenken, wie ich da eine Abfrage starte (wie die Files zusammenhängen).
Hab mal in ein paar reingeschaut, aber ja.... der Aufbau ist mir nicht ganz schlüssig.
 
Hey,
ich weiß nicht wie viel Aufwand/Zeit du investieren willst, deshalb werfe ich jetzt einfach mal Qt in den Raum. (Ich weiß, Schande über mich!)

Was du beschreibst ist eine klassische Desktop-Application mit Netzwerk- und ggf. Datenbankfunktionen. Qt stellt für eigentlich alles was im klassischen Desktop-Bereich an Funktionen anfällt bereit. Unter anderem Funktionen für FTP-Verbindungen, Datenbanken, WYSIWYG für GUIs, und - sofern du alle nicht-Qt Routinen in deinem Programm plattformunabhängig schreibst - läuft unter Windows, Linux, Mac, und teilweise sogar auf portablen Geräten.

Allerdings müsstest du dann Qt lernen, und das ist mit ziemlichem Aufwand verbunden :D

Wenn du allerdings planst in Zukunft öfter Desktop-Applications zu schreiben, dann lohnt es sich meiner Meinung nach ;)

Ich drück dir in jedem Fall die Daumen!
Gruß Technipion
 
Allerdings müsstest du dann Qt lernen, und das ist mit ziemlichem Aufwand verbunden :D

Falls man schon mit anderen GUIs ein wenig Erfahung hat, ist man recht schnell drin. Voraussetzung ist natürlich, dass gute C/C++ Kentnisse vorhanden sind.
Ich habe vorher nur mit der WinAPI programmiert, ich weiß seehr umständlich, und bin dann rüber zu Qt und hab mich da nach 1-2 Wochen schon halbwegs gut reingearbeitet.
Anfangs "erdrückte" mich jedoch ein wenig der ganze Umfang udg., aber jetzt ist es einfach nur noch angenehm zu programmieren im vergleich zur WinAPI.
Das einzige was in Qt ein bisschen schade ist, ist dass es doch schon einige DLLs benötigt um auch anderen nicht-Developern-PCs zu laufen. Und das mit dem Statischen-Linken ist auch so eine Sache.
Aber ansonsten ist Qt eine sehr gute Wahl, denn es gibt wie @Technipion schon sagte, fast alles was man benötigt und dazu noch Platform-Unabhängig.
 
Ich hab mir Qt nun einwenig angeschaut und nachgelesen. Scheint keine schlechte Lösung zu sein, vorallem da es mir ums Lernen geht.

Aber um nicht vom Thema ab zu kommen... Mir ging es in erster Linie darum, wie ich die Informationen abfrage. Sprich die Verbunding sei schon aufgebaut.
Die bisherigen Antworten waren auf den Verbindungsaufbau bezogen (worüber ich natürlich auch dankbar bin).

Edit: Die omdb hab ich ebenfalls mal angeschaut. Jedoch überzeugt mich diese nicht wirklich bzw. die Ergebnisse bei einer Abfrage...
 
Zuletzt bearbeitet:
Hallo

also mein Favorite ist Delphi/Lazarus mit den Indy Komponenten.
C++ lehrnen halte ich für den Anfang sehr unpraktisch.
Pascal war und ist leider keine Lehrsprache mehr, aber sehr mächtig.
Mit den Indy Komponenten steht alles zur Verfügung, was man für
Internet Programme braucht (TCP/UDP Server/Client).
Das Paket lässt sich dank C++ Builder auch unter diesen einbinden.

Hope this Helps
Jens
 
Zurück