CD/DVD Inhaltsdatenbank



  • Jetzt bin ich erst zuhause angekommen und werd gleich damit beginnen... abwarten.



  • die 15 min sind um.. wo ist der link? 😃



  • Hmm... ne, hab nur grad gemerkt, dass Paradox doch nicht ganz so gut ist, weil man hier nur eine Tabelle hat... und eine Referentielle Integrität müsste man manuell errichten... und es ist shice mit Strings, er wandelt alles gleich in Memo um... deshalb muss ich MS Office raussuchen, dass ich mit Access ne ordentliche DB aufbauen kann. Das Programm an sich kann aber schon CDs einlesen und in eine Datenbank speichern... nur das Suchen fehlt noch. Also ich sage mal... morgen dürfte es im Laufe des Abends fertig werden.



  • Cool, vielen Dank! Is echt nervig, wenn man immer ewig auf DVDs rumsuchen muss, um irgendwas zu finden.



  • Joah... kein Problem... hab mich grad dazu entschlossen doch - und nur eine - Paradoxtabelle zu verwenden, sofern Varchar möglich ist, ist evtl. für manch einen nicht die Beste Variante, aber für mich die einfachste... und zwar sieht diese Tabelle dann wie folgt aus:

    +-------------------------------------------+
    | T_Datei                                   |
    |----------+---------+---------+------------|
    | Feldname |   Typ   | Groesse | Schluessel |
    |----------|---------|---------|------------|
    | P_ID     | Auto +  | -       | Primaer    |
    | Name     | Varchar | 127     | -          |
    | Pfad     | Varchar | 255     | -          |
    | CD       | Varchar | 63      | -          |
    +----------+---------+---------+------------+
    

    Aber auf jedenfall klappt das Durchsuchen des Mediums bereits... und das Schreiben in die Tabelle... muss dann natürlich noch angepasst werden, aber das ist kein Problem. Also, ich schreib dazu heute noch etwas. Bis nachher dann.

    - Windoof

    EDIT: Ich habe gestern bereits das Einlesen getestet, indem ich meine vollgeknallte 80GB-Platte eingelesen habe... hat nichtmal eine Minute gedauert... und ich habe die Liste als Textdatei exportiert - und es hat alles wunderbar geklappt ^^ Also bei 4.7GB DVDs, wenn man die Geschwindigkeitseingrenzung mit berücksichtigt, dürfte etwa vergleichbar sein...



  • So... also wie gesagt: Das Einlesen funktioniert und das Löschen auch. Die DB ist schon vorhanden, also da gibt es keine Probleme. Problem ist nur, dass ich kein SQL anwenden kann, da eine Paradoxtabelle keinen Namen hat, nur einen Dateinamen und der ist ja mit Punkten, etc... und sowas ist ja ungültig in SQL, zumal die TQuery-Komponente beim BCB eine Datenbank erwartet, in der mehrere Tabellen vorhanden sien können. Aber es funktioniert, ich mach jetzt noch nen Such-Algo drüber und dann ist das Projekt erstmal abgeschlossen.



  • *freu* Dann poste doch nachher noch ma den link. Willst du den source code hergeben? Dann könt ich ma mit meinem Anfang vergleichen... Kann man bestimmt was draus lernen 🙂



  • So, Projekt abgeschlossen 😉 - hier der Link: http://www.cpp-club.net/downloads/cdArchiv.exe - Ist ein WinRAR-Archiv, selbstextrahierend.

    EDIT: Da ist eine Beispieldatenbank schon mit bei, also mit Daten drin, und zwar folgende:

    +----+----------+------+-------------+
    | ID |  CD/DVD  | Pfad |  Dateiname  |
    +----+----------+------+-------------+
    |  1 | Meine CD |      | Autorun.exe |
    |  2 | Meine CD |      | Autorun.inf |
    +----+----------+------+-------------+
    


  • Vielen Dank!



  • Also ein Problem habe ich schon festgestellt: Die Maximallänge der Pfade ist zu kurz... geht in Paradox aber nicht länger... evtl. kannst du den Code anpassen und eine bessere DB erstellen. Aber ich denke das reicht als kleines Projekt, und du sagtest ja, dass es dir um die CD/DVD geht 😉



  • beim kompilieren kommmt ein linker fehler:
    [Linker Fehler] Unable to open file 'XP.RES'

    und wenn man die code dateien anguckt (Strg+F12) dann kommt bei 'xp.rc':
    ---------------------------
    Fehler
    ---------------------------
    Datei E:\Eigen\xp-style\xp.rc kann nicht geöffnet werden.
    ---------------------------
    OK
    ---------------------------

    Hast du vielleicht nen eigenen Windows Style, der verhindert, dass das Programm überall läuft?



  • Ähm... nein, aber den XP-Style habe ich extern ausgelagert und binde ihn in jedem Projekt ein, da musst du unter Projekt->Entfernen oder so die xp.rc aus dem Projekt entfernen und dien eigenes XP-Style einbinden... stimmt ja, hab ich ganz vergessen, dass ich nen XP-Style immer einbinde ^^ Sorry.



  • Hmm ich hab das ursprüngliche Archiv verloren und der Link funktioniert nicht mehr... hast du das zufällig noch Windoof?



  • So, nach langer, langer Zeit bin ich wieder dazu gekommen, dieses Forum aufzusuchen... das PRogramm an sich müsste ich noch da haben, werde ich nachher nochmal hochladen (Hast du ein Glück, dass meine Seite erst ende Juli offline geht. ;)). Poste nachher den Link, sollte ich es noch haben. Falls also noch Interesse besteht...





  • Bekomme gleich zu Anfang eine MessageBox:

    Inkompatible Schnittstellen (unterschiedliche Engine-Versionen)

    Dann während der Suche

    tCD: Cannot perform this operation on a closed dataset.

    Die Suche geht nie zu Ende. Nach der letzten Meldung (s.o.) läuft sie auch eigentlich nicht mehr, aber das Prog hängt...



  • Hm... werd's mir mal anschauen, welches Betriebssystem verwendest du, also welche Windows-Version?

    EDIT: Ich habe den Fehler nicht reproduzieren können, tritt dieser Fehler hier bei sonst noch jemandem auf?

    Ansonstenkönnte ich bei Interesse noch die BCB6-Projektdateien hochladen, falls jemand Lust hat, daran weiterzubasteln, Hinweis: Der Quelltext ist aber nicht kommentiert und diese Mühe mache ich mir jetzt nicht extra deshalb, auhc, wenn der Quelltext nicht unbedingt lang ist (nur meine eigene CPP-Datei gerechnet, das, was vom BCB ist nicht, damit wäre der Quelltext wohl elend lang).



  • Hi,
    habe WinXP SP2. Liegt vielleicht daran, dass ich hier auch nen BCB installiert habe - allerdings die 3er-Version. Die ist schon ziemlich alt. Kann es sein, dass da ein Konflikt zwischen den Engine-Versionen besteht?



  • Soweit ich weiß, kann das sehr gut daran liegen... also bei mir funktioniert das Tool.


Anmelden zum Antworten