Ich versuche ein Programm zu schreiben mit dem man seine Filme und Serien verwalten kann

  • VB.NET

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Ich versuche ein Programm zu schreiben mit dem man seine Filme und Serien verwalten kann

    Topic wurde aus Bessere Lösung für Anwendungsfall gesucht (Datagridview,Datatable) ausgelagert.

    Hallo,
    Sorry, dass ich so ein alten Thread wieder ausgrabe, allerdings ist mein Vorhaben ähnlich wie hier schon beschrieben. Ich versuche ein Programm zu schreiben mit dem man seine Filme und Serien verwalten kann. Meine Idee ist das für jede Serie/Film ein Cover mit Name angezeigt wird. Wenn man auf ein Cover doppelklickt, soll sich dann eine neue Form mit Details zu dem Film/Serie anzeigt werden.

    Mein Vorgehen bisher:
    Listview: Ich hab jeden Film/Serie in die Listview-Tabelle eingetragen und jedem Eintrag ein Bild zugeordnet und dann die Ansicht auf Largeicon umgestellt, das funktioniert soweit auch, das Problem, ich konnte die Beschriftung nicht ändern, z.b. andere Schriftfarbe oder die Hintergrundfarbe anpassen.

    Meine Zweite Idee war dann ein Panel zu nehmen und für jeden Eintrag, dann eine Picturebox mit Label erstellen. Problem dabei ist, dass beim Scrollen ein schlieren von den Pictureboxen entsteht. Die EIgenschaften DoubleBuffered, OptimizedDoubleBuffered, ControlStyles.UserPaint oder ControlStyles.AllPaintingInWmPaint sind auf True gesetzt, jedoch bringt dies keine Abhilfe.

    Daher erstmal die Frage ist es möglich dieses Vorhaben mit Visual Basic zu realisieren oder gibt es eine andere Programmiersprache mit der dies einfacher zu lösen ist?

    Der Vorschlag mit der Datengebundenen Listbox, wäre noch eine Möglichkeit. Ich weiß nur nicht wie ich in der Listbox Bilder anzeigen kann, wäre sehr nett wenn man dies nochmal etwas genauer erklären könnte.
    Grüße Gyoukuro

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Gyoukuro schrieb:

    Daher erstmal die Frage ist es möglich dieses Vorhaben mit Visual Basic

    Es ist möglich.
    Es wäre wohl das einfachste dafür ein Custom Control zu bauen.

    Aber noch einfacher wäre es einfach XBMC (Jetzt Kodi) zu verwenden.
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Danke erstmal für die Antworten, ich werde zuerst mal versuchen mein Projekt mit typisierten Datasets umzuschreiben.

    Edit: Ich hab mir den Thread Vier-Views-Theorie durchgelesen und die Videos geschaut, jetzt hab ich mir mal ein neues Projekt erstellt in dem ich experimentieren kann. Hab jetzt 2 DataTables (Filme und Serien), ich bin mir jetzt etwas unsicher ob ich zwischen diesen Tables eine Beziehung brauch, mein Gedanke ist, dass eine Serie auch einen Film haben könnte und anders herum. Was ist eure Meinung?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Gyoukuro“ ()

    Hab noch eine Frage kann man die DataTables auch an eine Listview binden? Hab jetzt nur die Möglichkeit gefunden diese an ein DataGriedView oder eine Listbox zu binden. Es geht nur um die Anzeige der Daten, die Informationen selbst will ich aus einer Online-Datenbank nehmen.
    Muss mich nochmal melden, bin jetzt dabei ohne DataGridView die Daten in die DataTables einzupflegen, die DataTables sehen etwa so aus:

    Media _________________________ Serien
    ID (Primärschlüssel)______________ ID (Primärschlüssel)
    Name _________________________ EpisodenTitel
    ______________________________ Media-ID (Fremdschlüssel)

    Um Daten in die Tables zu schreiben nutze ich: MovieDataSet1.Serie.AddSerieRow()
    Den String für EpisodenTitel ist kein Porblem, allerdings scheitere ich daran im den Fremdschlüssel zu übergeben.
    ja, um einer untergeordneten Tabelle einen Datensatz zuzufügen brauchst du zwingend einen Datensatz der übergeordneten Tabelle.
    Ist doch logisch: Es gibt keine Serie, die nicht zu einem Medium gehört.

    Leider kann ich mir unter Media nix vorstellen - das einzige Medium, was ich kenne, was Serien beinhalten könnte ist Video.
    Aber für ein einziges Medium legt man keine Tabelle an.

    Auch "Episodentitel" ist komisch, denn eine Serie hat doch keinen Episodentitel.
    Da muss eine untergeordnete Tabelle her, damit man einer Serie mehrere Episoden zufügen kann.

    Also so tickt jdfs mein kranker gesunder Menschenverstand.
    Mit Media meine ich ja eine Videodatei, diese kann aber entweder ein Film oder eine Serie sein, und für den Fall das es eine Serie ist, soll der Primärschlüssel in die Tabelle Serien. Gut möglich das mein Ansatz einfach falsch ist.

    Zu den Episodentitel meine ich das so:
    01: Der Mann im Spiegel
    02: Eine Nacht im Oktober
    03: Allein auf der Welt
    04: Versuchsperson 9
    05: Erneuerung
    06: Die wir zurück gelassen haben
    07: Mauerblümchen
    08: Rückkehr ins Ungewisse
    09: Der Feind meines Feindes
    10: Prophezeiung

    Gyoukuro schrieb:

    Mit Media meine ich ja eine Videodatei, diese kann aber entweder ein Film oder eine Serie sein
    Verstehe ich das richtig: IN einer Video-Datei sind, wenn es eine Serie ist, mehrere Episoden?

    Ich hätte gedacht, eine Datei sein ein Film, und so ein Film ist entweder Teil einer Serie, oder er ist es nicht.
    Also, ich glaube ich hatte da einen kleinen Denkfehler, aber um deine Frage zu beantworten: Nein, die Episoden sind nicht in der Video-Datei, am besten vergessen wir das Szenario.

    So, Ich habe auf der Festplatte einen Ordner(der Ordnernamen ist nach dem Film/der Serie benannt), der Ordner besitzt zwei Unterordner(Film und Serie). Der Ordner heißt Iron Man.
    Für Iron Man gibt es eine Filmreihe und eine Zeichentrick-Serie
    Im Ordner "Iron Man" sind im Unterordner "Film": "Iron Man 1", "Iron Man 2", "Iron Man 3"
    im Unterordner "Serien" : "Episode 1", Episode 2", "Episode 3", "Episode 4",...

    Dem Programm gebe ich per Drag&Drop den Ordner "Iron Man", nun wird der Ordnername ausgelesen und in die DataTable"Media" (Ich gebe zu der Name ist nicht passend) in die Spalte "Name" eingetragen, sieht dann so aus:

    Media
    ID|Name
    0|Iron Man

    Nun wird im Unterordner"Film" die Namen der Dateien ausgelesen und in die DataTable"Film" in die Spalte "Dateiname" geschrieben:

    Film
    ID|Dateiname|Media-ID
    0|Iron Man 1|0
    1|Iron Man 2|0
    2|Iron Man 3|0

    Das gleiche passiert mit den Dateien im Unterordner"Serien", die Dateinamen kommen in DataTable"Serien" in die Spalte"Dateiname":

    Serien
    ID|Dateiname|Media-ID
    0|Episode 1|0
    1|Episode 2|0
    2|Episode 3|0

    So, jetzt habe ich 3 DataGridViews auf meiner Form, das 1. Zeigt mir die Eintrage der DataTable"Media", 2. Die Datengebundenen Film-Einträge und 3. die Datengebundenen Serien-Einträge.

    Mein Problem war, dass ich nicht wusste wie ich den ID-Wert von DataTable"Media" für den Namen "Iron Man" abfragen kann. Dies hab ich mittlerweile wie folgt gelöst:

    Dim Ordername = Iron Man
    Dim foundRows() As Data.DataRow
    foundRows = DataSet1.Tables(1).Select("Name Like ' "& ordnername &" %' ")
    DataSet1.Film.AddFilmRow(Dateiname, foundRows(0))
    oder
    DataSet1.Serien.AddSerienRow(Dateiname, foundRows(0))

    Bis jetzt jetzt habe ich keine Fehler festgestellt.

    Edit: Die Dateinamen bei DataTable"Serien" stimmt nun, Copy&Paste Fehler

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Gyoukuro“ ()

    Thema#1
    Wenn du Code postest, stell ihn in Code-Tags: richtig posten auf VBP


    Thema#2

    Gyoukuro schrieb:

    So, Ich habe auf der Festplatte einen Ordner(der Ordnernamen ist nach dem Film/der Serie benannt), der Ordner besitzt zwei Unterordner(Film und Serie). Der Ordner heißt Iron Man.
    Für Iron Man gibt es eine Filmreihe und eine Zeichentrick-Serie
    Im Ordner "Iron Man" sind im Unterordner "Film": "Iron Man 1", "Iron Man 2", "Iron Man 3"
    im Unterordner "Serien" : "Episode 1", Episode 2", "Episode 3", "Episode 4",...
    ich kann dir nur dringend empfehlen: Vermeide Selbst-Obfuskation - Bename sinnig.
    Der Unterordner "Serien" darf keinesfalls "Serien" heißen, sondern muss: "Anime" oder so.


    Thema#3
    Datenmodelle diskutiert man am besten anhand von ScreenShots des typisierten Dataset-Designers.
    Da hat man einen besseren Überblick eine standardardisierte Darstellungsweise, und kann eine gemeinsame Sprache sprechen.


    Thema#4
    Dein Datenmodell ist untauglich, genau wegen deines Hanges zur Selbst-Obfuskation. Also ich hab jetzt 3 * mein Kopf auffn Tisch gehauen, wegen

    Gyoukuro schrieb:

    ... Ich gebe zu der Name ist nicht passend ...
    Wenn du das weißt, und machst es trotzdem - hmm - man kann dir nicht helfen, lass bitte das Posten auf VBP, und am besten gleich die ganze Programmiererei.


    Thema#5
    Dein Code ist grauenhaft, und ist untypisiert.
    Aufgrund der selbst-obfuskierenden Benamung kann ich dir aber keinen besseren Vorschlag machen, denn diese Benamung benutzen hieße in jedem Falle Unfug verschlimmern.
    Ich sag nur generell: Vergiss den DataTable.Select - Befehl, der ist untypisiert und auch nicht typisierbar, also da gibts in jedem Falle besseres - etwa Linq To Dataset.
    Ich verweise nochmal auf mein 4-Views-Tut, auf die Filme "Inspection" und "Coden in typisierter Manier".
    Dort, und jetzt wiederhole ichs nochmal für dich - sage ich u.a.:

    Wenn im Code der Datentyp DataRow
    auftaucht - dann macht man was falsch.



    Thema#6
    Sehe grade: offensichtlich proggst du mit Option strict Off.
    Das ist auch etwas, was gar nicht geht: Option Strict On! (geht der Link bei dir?)



    Thema#7
    Datenverarbeitungs-Vorraussetzungen


    hmm - ich fürchte, mit meim Gemecker hab ichs mir jetzt auch mit dir verdorben, sorry: meine Sozialkompetenz ist leider missgebildet.
    Glaub 90% meiner Hilfen verfallen im Nichts, weil zu viel auf einmal, und oder nicht nett genug formuliert.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „ErfinderDesRades“ ()

    Ich werde versuchen deine Ratschläge umzusetzen, bin halt noch ein Anfänger im Programmieren, da mache ich natürlich auch Fehler. Deine 4-Views-Tuts werde ich auch alle nochmal anschauen.

    ________________________________________________________________________________________________________________________________________________________________________________________________

    Der Unterordner "Serien" darf keinesfalls "Serien" heißen

    Warum? Könntest du dies erklären?

    ________________________________________________________________________________________________________________________________________________________________________________________________

    Mein DataSet will ich nochmal ändern, dann mach ich von dem neuen DataSet ein ScreenShot. Könnte auch das Projekt an sich Hochladen, wer will kann dann reinschauen.

    ________________________________________________________________________________________________________________________________________________________________________________________________

    ... man kann dir nicht helfen, lass bitte das Posten auf VBP, und am besten gleich die ganze Programmiererei.

    Noch nicht sicher. ;)

    Gyoukuro schrieb:

    Der Unterordner "Serien" darf keinesfalls "Serien" heißen

    Warum? Könntest du dies erklären?
    na, weils Quatsch ist. Erstmal ist nur eine Serie drin, nicht mehrere.
    Vor allem aber ist im anderen Ordner ja auch eine Serie drinne, sogar dieselbe, nur als Film.
    Also mehr kannst du dich wohl kaum verwirren, als wenn du den einen Ordner "Serien" nennst, und den anneren aber anders, wo dasselbe drinne ist.
    Oder Probe auf Exempel: Was ist nach deiner Benamung der Unterschied zwischen einer Serie und einem Film?
    "na, die Serie ist Zeichentrick". Merkst du was fürn Unfug das ist?