PDA

View Full Version : Supermarriohs Moviemanager :)



supermarrioh
23.05.09, 02:52
Nachdem ich mal wieder eine Akute Langeweile hatte, ist in Verbindung mit der Tatsache das ich noch keine Film-Verwaltungs-Tool gefunden habe was auch nur ansatzweise den Bedürfnissen eines Menschen mit vielen Filmen in unterschiedlichen Formaten und Qualitäten gerecht wurde, die Idee entstanden mal sowas selber zu schreiben.

Für mein Projekt war Delphi die erste Wahl.
Wieso Delphi?
Ganz einfach, Delphi hab ich irgendwann mal in der Schule nen bisschen gelernt.
Somit ist es neben QBasic die einzige Programmiersprache die ich wenigstens Ansatzweise beherrsche.

Also hab ich mir Fix vom örtlichen Softwaretracker Delphi 2009 besorgt, es installiert und war erstmal geschockt.
"Das sieht aber ganz anders aus als das Delphi damals... *cry*"
Naja, vom damals schon veralteten


Delphi 1 (Codename: Delphi)

Die erste Version von Delphi wurde am 14. Februar 1995 veröffentlicht und erzeugte nur Code für 16-Bit-Anwendungen für Windows 3.x. Der Umfang der mitgelieferten Komponenten war relativ gering.

Zu Delphi 2009 ist es schon ein ziemlicher Quantensprung.
Aber nach und nach habe ich dann doch noch so einiges wiederendeckt was es damals schon gab und mich mehr oder weniger zurechtgefunden.
Also ab ans Programmieren.
Nach 2 Stunden "What the fuck, wie ging dsa nochmal" und Hilflosem in der Hilfe Blättern ist die erste Pre-Alpha-Konzeptstudie, der MovieManager 0.1 kompiliert worden.

Was er hat (zugegeben, es ist sehr wenig):
-Eine Aufnahmemaste für neue Filme
-Eine Titelliste aller schon Aufgenommenen Filme ( Sogar alphabetisch sortiert :P)
-Eine Interne Datenbank

Was bald kommen soll:
-Ein Feld was die Informationen über den gerade in der Titelliste angewählten Film schön strukturiert anzeigt.
-Eine Speicher/Ladefunktion für die Datenbank.
-Ein Play-Knopf der den Film in einem Externen Player startet

Was irgendwann mal kommen soll/könnte:
-Ein ordentliches Datenbankformat
-Anbindung an IMDB
-Automatische Aufnahme frisch runtergeladener Filme mithilfe vom IMDB
-Noch viel mehr.

Ich werde das Projekt hier fortlaufend offen dokumentieren, immer mit Quelltextdateien und kompilierter Dateil im Anhang.
Mithilfe, Tips und Bugmeldungen ( Obwohl das Tool momentan kaum was kann was nicht Funktionieren könnte ;)) sind gern gesehen, aber kein muss.
Es ist und wird erstmal ein reines Funprojekt aus Langeweile bleiben, wo villeicht irgendwann mal was sinvolles rauskommen könnte :=)

Im diesen sinne, schaut es euch an und seid über die Vielzahl an Anwendungsmöglichkeiten erstaunt :P

ghostfucker
23.05.09, 03:20
also db tut schonmal bei mir nicht... es wird nicht automatisch eine angelegt/geladen und manuell speichern/laden geht auch net, oder zumindest sind die buttons deaktiviert ;)

ist ansonsten noch sehr spartanisch^^ du könntest/solltest dir mal winform bzw. xmlns genauer anschauen, damit lassen sich änständige sachen fabrizieren ;)

supermarrioh
23.05.09, 13:27
db tut schonmal bei mir nicht
Doch, sie tut es.
Sie ist eben nur eine Stringliste, du schließt das Programm, die DB ist weg :P

Was bald kommen soll:
-Eine Speicher/Ladefunktion für die Datenbank.

ghostfucker
23.05.09, 18:33
allerdings ist ne string liste keine db, da steckt schon etwas mehr dahinter ;)

supermarrioh
23.05.09, 19:23
Kommt auf den Betrachtungswinkel an.
Auch eine Stringliste kann eine Datenbak darstellen, wenn es auch eine recht simple ist, beziehungsweise die Stringliste ist die Basis für eine Datenbank.
Jeweils eine Zeile ist ein Film, in der Zeile steht zuerst der Titel, danach sind die Eigenschaften des Films jeweils durch ';' getrennt in einer spez. Reihenfolge aufgelistet.
Mein Programm wird erstmal ein haufen solcher Kompromisse bleiben, um das ganze besser hinzubekommen hab ich einfach zu wenig Ahnung :D

Im nähsten Schritt werden die Knöpfe für das Laden und speicher Aktiviert, wenn ich raushabe wie ich das in Delphi hinbekomme :) So kann die Datenbank dann auch exportiert werden oder fremde Datenbanken geladen werden. Dazu kommt dann noch ein Knopf der an eine schon geladene Datenbank eine weitere anhängt und auf doppelte Eemente überprüft.

ghostfucker
23.05.09, 19:53
eine stringliste ist sicherlich in keiner form eine db. es ist ein objekt zur darstellung von etwas, möglicherweise von datensätzen, die eben aus einer datenbank kommen könnten.
das objekt an sich, hat allerdings rein gar nichts mit einer db zu tun.

du musst dir also überlegen was du mit den daten machst die eingegeben werden. ein einfaches speichern in textform ist durchaus möglich, aber nicht zu empfehlen. du wirst dann auch bei einem solchen system db elemente programmieren müssen, um größere probleme (die dir später begegnen werden ;)) zu verhindern...

schau am besten nach einer mini db, z.b. sql lite. diese musst du lediglich mit sql ansteuern und es ist die einzig richtige, und dazu noch einfachste lösung.

Snitlev
23.05.09, 22:19
ha, dachte schon das ich hier nichts verstehe aber Sql lernen - ein Tutorial zum Selbststudium mit einer Beispiel-Datenbank (http://www.sql-und-xml.de/sql-tutorial/) ist wirklich das Prog. um sehr große Datenbankverwaltungen zu bewältigen...

aber nicht für das was uns hier unser Freund Supermarrioh erkklären möchte, denn er will lediglicg eine ganz einfache Form einer Datenbank für nur eine Art Movielist anfertigen und dieses was er dort anstrebt ist dafür auch vollkomend ausreichend bis auch noch einige Modifizierungen/spezifikationen un Form durch Erweiterungen der entsprechenden Datenbanken...

Ich finde das klasse was der Supermarrioh hier für uns macht, und Ghostfucker du gehst zu sehr auf das professionelle wo nun mal SQL angesagt ist, denn bei SQL gibt es mittlerweile keine Begrenzung mehr was Datenmengen angeht, und somit kann man sich ausrechnen das man SQL nur für große Datenbanken anwendet die nunmal ausschließlich Unternehmen nutzen...

mfg

ghostfucker
24.05.09, 03:00
@snitlev, bitte lesen: SQL ? Wikipedia (http://de.wikipedia.org/wiki/SQL), denken, und wenn man es verstanden DANN etwas schreiben...

Snitlev
24.05.09, 04:40
solange du deine wiederliche Sigantur nicht entfernst werde ich Dir garnicht mehr antworten,

back to the topic ich habe es gelesen...

mfg

:fuckseba:

supermarrioh
27.05.09, 00:44
du musst dir also überlegen was du mit den daten machst die eingegeben werden. ein einfaches speichern in textform ist durchaus möglich, aber nicht zu empfehlen. du wirst dann auch bei einem solchen system db elemente programmieren müssen, um größere probleme (die dir später begegnen werden ;)) zu verhindern...

schau am besten nach einer mini db, z.b. sql lite. diese musst du lediglich mit sql ansteuern und es ist die einzig richtige, und dazu noch einfachste lösung.


Ich glaube du schätzt meine Kenntnisse zu hoch ein :), ich bringe mir gerade die absoluten Basics bei.
Ich scheitere momentan schon daran die blöde Liste in eine Textdatei zu exportieren... :D
Laden kann ich schon :)

ghostfucker
27.05.09, 01:07
eigentlich schätze ich dich schon richtig ein, nur denke ich weiter und versuche dir tipps zu geben, den mit einer textdatei als db wirst du probleme bekommen...

importieren/exportieren ist hier einfach, das ist klar. das größte problem wird einfach sein, was ist wenn du eine eigenschaft updaten willst (z.b. jahr, qulität, pfad etc.), was eben in der textdatei geschehen muss. denk mal drüber nach, wie du das lösen würdest ;-)

mit so einem system wird halt die db schnell inkonsistent, wenn es nicht richtig programmiert ist. und es ist eben aus meiner sicht einfacher eine richtige (und fertige) db zu nehmen, als sich eine zu programmieren.

supermarrioh
27.05.09, 02:04
importieren/exportieren ist hier einfach, das ist klar. das größte problem wird einfach sein, was ist wenn du eine eigenschaft updaten willst (z.b. jahr, qulität, pfad etc.), was eben in der textdatei geschehen muss. denk mal drüber nach, wie du das lösen würdest ;-)
Ist schon gelöst, das Konzept dazu steht schon. Erstmal wird alles intern in der Liste geändert, erst beim speichern der Daten wird die Textdatei komplett neu geschrieben.
Haarig könnte es momentan nur werden wenn eine Eigenschaft hunzukommt die mehrere Werte hat, die voneinander unabhängig sind. Z.B. für die geplante Rubrik Schauspieler, da gibt es mehr als einen, der eine hat aber auch nichts direkt mit dem anderen zu tun.



eigentlich schätze ich dich schon richtig ein, nur denke ich weiter und versuche dir tipps zu geben, den mit einer textdatei als db wirst du probleme bekommen...

Danke dafür :=)
Ich bin auch dabei mich damit zu beschäftigen, allerdings scheitert es momentan wenn es komplexer wird ziemlich an der praktischen Umsetzung einfachster Dinge...
Ich bekomme keine Dialogbox hin für den Speicherort der Datei
Ich bekomme keine selbstgebauten Popups hin weil mich die Übergabefunktionen für objekte zwischen einzelnen Units gerade ziemlich abfucken
Ich bekomme es nicht hin die Stringliste in eine Textdatei zu exportieren. (Wenn, bekomme ich das momentan nur Zeichen für Zeichen hin. Und das das etwas ineffizient ist hab ich mir auch schon gedacht)

Und solange ich solch einfache Sachen nicht beherrsche, brauche ich mit komplexeren, externen Datenbanken, die wohlmöglich noch nichtmal in meiner schönen Programmierumgebung direkt einzubinden sind anzufangen. Ich würde erbarmungslos scheitern.

Wenn es Später dann doch mal in eine "Produkive" Phase gehen sollte, wird es sowieso ein rewrite from scratch geben.
Wenn man Ohne Vorkenntnisse ein Haus baut, weiß man nacher wies geht. Allerdings wird das Übungsobjekt Haus davon auch nicht viel besser und bleibt ein haufen 100 mal reparierter Einzelprobleme.
Aber solange ich mir nicht halbwegs sicher bin das ich wenigsten den Mörtel mischen kann werd ich mich nicht an das Haus machen in dem ich später mal wohnen will :)


PS:

Ja, ich mag Methaphern :P