<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Datenbank mit discs.txt]]></title><description><![CDATA[<p dir="auto">Hallo,<br />
hat schon jemand die Datei Discs.txt in ein Datenbankformat umgewandelt? Wenn ja, ist das Tool zu haben?</p>
<p dir="auto">Gruß<br />
Didi</p>
]]></description><link>https://forum.audiograbber.de/topic/2344/datenbank-mit-discs.txt</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 20:36:31 GMT</lastBuildDate><atom:link href="https://forum.audiograbber.de/topic/2344.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 25 Dec 2004 12:31:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datenbank mit discs.txt on Tue, 28 Dec 2004 18:34:21 GMT]]></title><description><![CDATA[<p dir="auto">Vielen Dank!  <img src="https://forum.audiograbber.de/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=e9a97f19cd2" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:1.4em;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
<p dir="auto">Ich werde es in den nächsten Tagen ausprobieren!</p>
<p dir="auto">Tschüss!<br />
Didi</p>
]]></description><link>https://forum.audiograbber.de/post/13150</link><guid isPermaLink="true">https://forum.audiograbber.de/post/13150</guid><dc:creator><![CDATA[didi257]]></dc:creator><pubDate>Tue, 28 Dec 2004 18:34:21 GMT</pubDate></item><item><title><![CDATA[Reply to Datenbank mit discs.txt on Tue, 28 Dec 2004 17:40:20 GMT]]></title><description><![CDATA[<p dir="auto">Tool nicht, aber ich kann dir einen Auszug aus meinem VBA-Programm geben.</p>
<pre><code>&amp;#039;--------------------------------------------------------------------------&lt;br /&gt;&amp;#039;Funktion     : CDInDatenbank&lt;br /&gt;&amp;#039;Beschreibung : Überprüft, ob eine übergebene CD bereits in der Datenbank&lt;br /&gt;&amp;#039;               vorhanden ist&lt;br /&gt;&amp;#039;Version      : 1&lt;br /&gt;&amp;#039;Autor        : Der langhaarige Bombenleger&lt;br /&gt;&amp;#039;Parameter    : SerienNr        =  Serien-Nr aus CDPlayer.ini&lt;br /&gt;&amp;#039;               Interpret       = Interpretenname&lt;br /&gt;&amp;#039;               Album           = Albenname&lt;br /&gt;&amp;#039;               MeldungAnzeigen = True, wenn eine Meldung angezeigt werden&lt;br /&gt;&amp;#039;                   soll, wenn die CD schon vorhanden ist&lt;br /&gt;&amp;#039;Rückgabewert : True, wenn alles geklappt hat&lt;br /&gt;&amp;#039;Beispiel     : CDInDatenbank(&amp;quot;[227A552]&amp;quot;, &amp;quot;Rockhard-Magazin&amp;quot;, &amp;quot;Dynamit Vol. 44&amp;quot;)&lt;br /&gt;&amp;#039;--------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Public Function CDInDatenbank(SerienNr As String, _&lt;br /&gt;                              Interpret As String, _&lt;br /&gt;                              Album As String, _&lt;br /&gt;                              Optional MeldungAnzeigen As Boolean = False) As Boolean&lt;br /&gt;Dim intStatus As Integer  &amp;#039;1= CD ist in der Datenbank vorhanden&lt;br /&gt;                          &amp;#039;       (kein Fehler)&lt;br /&gt;                          &amp;#039;2= CD ist unter anderem Albennamen gespeichert&lt;br /&gt;                          &amp;#039;4= CD ist unter anderem Interpreten vorhanden&lt;br /&gt;                          &amp;#039;5= CD ist unter anderem Albennamen&lt;br /&gt;                          &amp;#039;       &amp;amp; Interpreten vorhanden&lt;br /&gt;Dim strMeldung As String&lt;br /&gt;Dim rstSuchen As DAO.Recordset&lt;br /&gt;&lt;br /&gt;Set rstSuchen = CodeDb.OpenRecordset(&amp;quot;SELECT * FROM Alben &amp;quot; &amp;amp; _&lt;br /&gt;      &amp;quot;WHERE SerienNr = &amp;#039;&amp;quot; &amp;amp; SerienNr &amp;amp; &amp;quot;&amp;#039;&amp;quot;)&lt;br /&gt;&lt;br /&gt;If Not rstSuchen.EOF Then&lt;br /&gt;  CDInDatenbank = True&lt;br /&gt;  intStatus = 1&lt;br /&gt;  If Album &amp;lt;&amp;gt; rstSuchen!Albenname Then&lt;br /&gt;    intStatus = intStatus + 1&lt;br /&gt;  End If&lt;br /&gt;  &lt;br /&gt;  If Interpret &amp;lt;&amp;gt; Nz(DLookup(&amp;quot;Interpret&amp;quot;, _&lt;br /&gt;      &amp;quot;Interpreten&amp;quot;, &amp;quot;InterpretenID=&amp;quot; &amp;amp; rstSuchen!InterpretenID), &amp;quot;&amp;quot;) Then&lt;br /&gt;    intStatus = intStatus + 3&lt;br /&gt;  End If&lt;br /&gt;  &lt;br /&gt;  If intStatus &amp;gt; 1 And MeldungAnzeigen Then&lt;br /&gt;    Select Case intStatus&lt;br /&gt;    Case 2 &amp;#039;Anderer Albenname&lt;br /&gt;      strMeldung = &amp;quot;CD ist unter anderem Albenname eingetragen!&amp;quot;&lt;br /&gt;    Case 4 &amp;#039;Anderer Interpret&lt;br /&gt;      strMeldung = &amp;quot;CD ist unter anderem Interpreten eingetragen!&amp;quot;&lt;br /&gt;    Case 5 &amp;#039;Anderer Albenname &amp;amp; Interpret&lt;br /&gt;      strMeldung = &amp;quot;CD ist unter anderem Albenname &amp;amp; &amp;quot; &amp;amp; _&lt;br /&gt;          &amp;quot;Interpreten eingetragen!&amp;quot;&lt;br /&gt;    End Select&lt;br /&gt;    &lt;br /&gt;    MsgBox strMeldung, vbCritical + vbOKOnly, &amp;quot;CD-Datenbank&amp;quot;&lt;br /&gt;  End If&lt;br /&gt;Else&lt;br /&gt;  CDInDatenbank = False&lt;br /&gt;End If&lt;br /&gt;rstSuchen.Close&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;&amp;#039;--------------------------------------------------------------------------&lt;br /&gt;&amp;#039;Prozedur     : FindDiscDiscs&lt;br /&gt;&amp;#039;Beschreibung : Sucht in der Discs.txt nach Audio-CDs. Wird eine CD&lt;br /&gt;&amp;#039;               gefunden, so werden die Ergebnisse an die String-Parameter&lt;br /&gt;&amp;#039;               zurückgegeben.&lt;br /&gt;&amp;#039;Version      : 2 : Anpassung an mehrere Schnittstellen&lt;br /&gt;&amp;#039;Autor        : Der langhaarige Bombenleger&lt;br /&gt;&amp;#039;Parameter    : CDDBID = Disc-ID mit der auch die CD auf den FreeDB-&lt;br /&gt;&amp;#039;                   Servern eindeutig identifiziert wird&lt;br /&gt;&amp;#039;               Serialnumber = Seriennummer der gefundenen CD&lt;br /&gt;&amp;#039;                   (Achtung! hat nicht mit der CDDBID gemein!)&lt;br /&gt;&amp;#039;               Artist = Interpret der CD&lt;br /&gt;&amp;#039;               Title = CD-Titel&lt;br /&gt;&amp;#039;Beispiel     : Call FindDiscDiscs(strCDDBID, strSerialnumber, strArtist,&lt;br /&gt;&amp;#039;                   strTitle, DateiNr) In den Stringvariablen stehen&lt;br /&gt;&amp;#039;               dann die Informationen der gefundenen CD.&lt;br /&gt;&amp;#039;--------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Private Sub FindDiscDiscs(ByRef CDDBID As String, _&lt;br /&gt;                          ByRef Serialnumber As String, _&lt;br /&gt;                          ByRef Artist As String, _&lt;br /&gt;                          ByRef Title As String, _&lt;br /&gt;                          QuellDateiNr As Integer)&lt;br /&gt;                      &lt;br /&gt;&amp;#039;CDDBID:0D0B1312&lt;br /&gt;&amp;#039;[18D0754]&lt;br /&gt;&amp;#039;artist=Sesamstraße&lt;br /&gt;&amp;#039;title=Die schönster Lieder&lt;br /&gt;&amp;#039;numtracks=18&lt;br /&gt;&amp;#039;compilationdisc=No&lt;br /&gt;&amp;#039;Genre=Pop&lt;br /&gt;&amp;#039;Year=1994&lt;br /&gt;&amp;#039;comment=&lt;br /&gt;&amp;#039;0=Quietsche-Entchen&lt;br /&gt;&amp;#039;...&lt;br /&gt;&amp;#039;17=Denn Keks schmeckt lecker, lecker, lecker&lt;br /&gt;&amp;#039;frames=33,10895,21498,37220,47630,60235,74233,&lt;br /&gt;&amp;#039;order=0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17&lt;br /&gt;&lt;br /&gt;While Not Left(Artist, 7) = &amp;quot;artist=&amp;quot; And Not EOF(QuellDateiNr)&lt;br /&gt;  &lt;br /&gt;  If (Left(Artist, 7) &amp;lt;&amp;gt; &amp;quot;artist=&amp;quot;) Or _&lt;br /&gt;      (Left(Artist, 6) &amp;lt;&amp;gt; &amp;quot;Title=&amp;quot;) Then&lt;br /&gt;    CDDBID = Serialnumber&lt;br /&gt;    Serialnumber = Artist&lt;br /&gt;    Artist = Title&lt;br /&gt;  End If&lt;br /&gt;  &lt;br /&gt;  If Not EOF(QuellDateiNr) Then&lt;br /&gt;    Line Input #QuellDateiNr, Title&lt;br /&gt;  End If&lt;br /&gt;Wend&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&amp;#039;--------------------------------------------------------------------------&lt;br /&gt;&amp;#039;Prozedur     : SongsLesenDiscs&lt;br /&gt;&amp;#039;Beschreibung : Liest Songs aus der Discs.txt in die temporäre Tabelle&lt;br /&gt;&amp;#039;               tmpCDPlayerINIImportSongs ein&lt;br /&gt;&amp;#039;Version      : 2 : Anpassung an mehrere Schnittstellen&lt;br /&gt;&amp;#039;Autor        : Der langhaarige Bombenleger&lt;br /&gt;&amp;#039;Parameter    : QuelldateiNr = Datei-Nr. auf die zugegriffen wird&lt;br /&gt;&amp;#039;               SerienNr =  Serien-Nr aus CDPlayer.ini&lt;br /&gt;&amp;#039;Beispiel     : CallSongsLesenINI(1, &amp;quot;[123456]&amp;quot;)&lt;br /&gt;&amp;#039;--------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Private Sub SongsLesenDiscs(ByVal QuellDateiNr As Integer, _&lt;br /&gt;                       ByVal SerienNr As String)&lt;br /&gt;Dim Track As String&lt;br /&gt;Dim TrackName As String&lt;br /&gt;Dim TrackNr As String&lt;br /&gt;Dim rstSongs As Recordset&lt;br /&gt;Dim varFrames As Variant&lt;br /&gt;Dim i As Integer&lt;br /&gt;&lt;br /&gt;Set rstSongs = CodeDb.OpenRecordset(&amp;quot;SELECT * FROM tmpCDPlayerINIImportSongs &amp;quot; &amp;amp; _&lt;br /&gt;    &amp;quot;WHERE SerienNr = &amp;#039;&amp;quot; &amp;amp; SerienNr &amp;amp; &amp;quot;&amp;#039;&amp;quot;)&lt;br /&gt;    &lt;br /&gt;If Not rstSongs.EOF Then&lt;br /&gt;  MsgBox &amp;quot;Es sind bereits Songs zu dieser Serien-Nr. vorhanden! Serien-Nr. nicht eindeutig!&amp;quot;, _&lt;br /&gt;      vbOKOnly + vbCritical&lt;br /&gt;  Exit Sub&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;With rstSongs&lt;br /&gt;  &amp;#039;Songs erstmal einlesen&lt;br /&gt;  Do&lt;br /&gt;    If Not EOF(QuellDateiNr) Then&lt;br /&gt;      Line Input #QuellDateiNr, Track&lt;br /&gt;    End If&lt;br /&gt;    If (Left(Track, 7) &amp;lt;&amp;gt; &amp;quot;frames=&amp;quot; And _&lt;br /&gt;        IsNumeric(Left(Track, InStr(Track, &amp;quot;=&amp;quot;) - 1)) = True) And Track &amp;lt;&amp;gt; &amp;quot;&amp;quot; Then&lt;br /&gt;      .AddNew&lt;br /&gt;      .Fields(&amp;quot;SerienNr&amp;quot;) = SerienNr&lt;br /&gt;      TrackNr = Left(Track, InStr(Track, &amp;quot;=&amp;quot;) - 1)&lt;br /&gt;      .Fields(&amp;quot;Nr&amp;quot;) = CInt(TrackNr) + 1&lt;br /&gt;      .Fields(&amp;quot;Titel&amp;quot;) = IIf(Len(Right(Track, Len(Track) - _&lt;br /&gt;          InStr(Track, &amp;quot;=&amp;quot;))) = 0, &amp;quot;(No Name)&amp;quot;, Right(Track, Len(Track) - InStr(Track, &amp;quot;=&amp;quot;)))&lt;br /&gt;      .Update&lt;br /&gt;      Track = &amp;quot;&amp;quot;&lt;br /&gt;    End If&lt;br /&gt;  &lt;br /&gt;  Loop Until Left(Track, 7) = &amp;quot;frames=&amp;quot; Or EOF(QuellDateiNr)&lt;br /&gt;  &lt;br /&gt;  &amp;#039;Start-Frames sind erst am Ende eingetragen, deswegen eine zweite Schleife&lt;br /&gt;  varFrames = Split(Mid(Track, 8), &amp;quot;,&amp;quot;)&lt;br /&gt;  .MoveFirst&lt;br /&gt;  &amp;#039;Debug.Print .RecordCount&lt;br /&gt;  &amp;#039;If Not .EOF Then&lt;br /&gt;    For i = 0 To UBound(varFrames) - 1&lt;br /&gt;      .Edit&lt;br /&gt;      If InStr(varFrames(i), &amp;quot;(&amp;quot;) &amp;gt; 0 Then&lt;br /&gt;        .Fields(&amp;quot;Frame&amp;quot;) = Left(varFrames(i), InStr(varFrames(i), &amp;quot;(&amp;quot;) - 1)&lt;br /&gt;      Else&lt;br /&gt;        .Fields(&amp;quot;Frame&amp;quot;) = varFrames(i)&lt;br /&gt;      End If&lt;br /&gt;      .Update&lt;br /&gt;      .MoveNext&lt;br /&gt;    Next i&lt;br /&gt;  &amp;#039;End If&lt;br /&gt;End With&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&amp;#039;--------------------------------------------------------------------------&lt;br /&gt;&amp;#039;Prozedur     : StandardDiscsAuswahl&lt;br /&gt;&amp;#039;Beschreibung : Liest die CD-Header (Interpret, Album, Seriennr...) aus der&lt;br /&gt;&amp;#039;               Discs.txt. Die Ergebnisse werden dabei in einem&lt;br /&gt;&amp;#039;               Listview abgespeichert. Zusätzlich wird überprüft, ob die&lt;br /&gt;&amp;#039;               CD schon in der Datenbank vorhanden ist. Ist die CD nicht&lt;br /&gt;&amp;#039;               vorhanden, so wird bei dieser CD dann im Listview ein&lt;br /&gt;&amp;#039;               Haken gesetzt.&lt;br /&gt;&amp;#039;Version      : 2 : Anpassung an mehrere Schnittstellen&lt;br /&gt;&amp;#039;Autor        : Der langhaarige Bombenleger&lt;br /&gt;&amp;#039;Beispiel     : Call StandardDiscsAuswahl()&lt;br /&gt;&amp;#039;--------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Private Sub StandardDiscsAuswahl()&lt;br /&gt;Dim Quelldatei As String&lt;br /&gt;Dim DateiNr As Integer&lt;br /&gt;&lt;br /&gt;Dim strCDDBID As String&lt;br /&gt;Dim strSerialnumber As String&lt;br /&gt;Dim strArtist As String&lt;br /&gt;Dim strTitle As String&lt;br /&gt;Dim litmEintrag As MSComctlLib.ListItem&lt;br /&gt;&lt;br /&gt;Me.CDsAnzeigen.ListItems.Clear&lt;br /&gt;Me.CDsAnzeigen.ColumnHeaders.Clear&lt;br /&gt;Me.CDsAnzeigen.ColumnHeaders.Add , , &amp;quot;Interpret&amp;quot;, 2000&lt;br /&gt;Me.CDsAnzeigen.ColumnHeaders.Add , , &amp;quot;Album&amp;quot;, 2500&lt;br /&gt;Me.CDsAnzeigen.ColumnHeaders.Add , , &amp;quot;Jahr&amp;quot;, 540&lt;br /&gt;Me.CDsAnzeigen.ColumnHeaders.Add , , &amp;quot;Musikstil&amp;quot;, 1200&lt;br /&gt;Me.CDsAnzeigen.ColumnHeaders.Add , , &amp;quot;CDDBID&amp;quot;, 1000&lt;br /&gt;Me.CDsAnzeigen.ColumnHeaders.Add , , &amp;quot;Serien-Nr.&amp;quot;, 1000&lt;br /&gt;Me.CDsAnzeigen.ColumnHeaders.Add , , &amp;quot;Sampler&amp;quot;, 800&lt;br /&gt;&lt;br /&gt;Quelldatei = &amp;quot;C:\Programme\Audiograbber\Discs.txt&amp;quot;&lt;br /&gt;CodeDb.Execute (&amp;quot;DELETE * FROM tmpCDPlayerINIImportSongs&amp;quot;)&lt;br /&gt;&lt;br /&gt;If Nz(Dir(Quelldatei), &amp;quot;&amp;quot;) = &amp;quot;&amp;quot; Then&lt;br /&gt;  MsgBox Quelldatei &amp;amp; &amp;quot; konnte nicht gefunden werden! &amp;quot; &amp;amp; _&lt;br /&gt;      &amp;quot;Import nicht möglich!&amp;quot;, vbOKOnly + vbCritical, &amp;quot;Datei nicht gefunden&amp;quot;&lt;br /&gt;  DoCmd.Close acForm, Me.Name, acSavePrompt&lt;br /&gt;  Exit Sub&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;DateiNr = FreeFile&lt;br /&gt;Open Quelldatei For Input As #DateiNr&lt;br /&gt;DoCmd.Hourglass True&lt;br /&gt;  &lt;br /&gt;Do&lt;br /&gt;  &amp;#039;Variablen vom letzten Schleifendurchgang leeren&lt;br /&gt;  strCDDBID = &amp;quot;&amp;quot;&lt;br /&gt;  strSerialnumber = &amp;quot;&amp;quot;&lt;br /&gt;  strArtist = &amp;quot;&amp;quot;&lt;br /&gt;  strTitle = &amp;quot;&amp;quot;&lt;br /&gt;  &lt;br /&gt;  Call FindDiscDiscs(strCDDBID, strSerialnumber, strArtist, strTitle, _&lt;br /&gt;      DateiNr)&lt;br /&gt;  If Not EOF(DateiNr) Then&lt;br /&gt;    Set litmEintrag = Me.CDsAnzeigen.ListItems.Add(, , _&lt;br /&gt;        Mid(strArtist, 8)) &amp;#039;&amp;quot;Item=&amp;quot; &amp;amp; str(Me.CDsAnzeigen.ListItems.Count + 1)&lt;br /&gt;    litmEintrag.SubItems(1) = Mid(strTitle, 7)&lt;br /&gt;    litmEintrag.SubItems(4) = Mid(strCDDBID, 8)&lt;br /&gt;    litmEintrag.SubItems(5) = strSerialnumber&lt;br /&gt;    &lt;br /&gt;    &amp;#039;Restliche Informationen aus Schnittstelle lesen&lt;br /&gt;    Do&lt;br /&gt;      If Left(strTitle, 16) = &amp;quot;compilationdisc=&amp;quot; Then&lt;br /&gt;        litmEintrag.SubItems(6) = IIf(Mid(strTitle, 17) = &amp;quot;yes&amp;quot;, &amp;quot;Ja&amp;quot;, &amp;quot;Nein&amp;quot;)&lt;br /&gt;      End If&lt;br /&gt;      &lt;br /&gt;      strArtist = strTitle&lt;br /&gt;      Line Input #DateiNr, strTitle&lt;br /&gt;    Loop Until Left(strTitle, 5) = &amp;quot;year=&amp;quot; Or EOF(DateiNr)&lt;br /&gt;    &lt;br /&gt;    &amp;#039;Informationen dann in Listitem schreiben&lt;br /&gt;    If Not EOF(DateiNr) Then&lt;br /&gt;      litmEintrag.SubItems(2) = Mid(strTitle, 6) &amp;#039;Jahr&lt;br /&gt;      litmEintrag.SubItems(3) = Mid(strArtist, 7) &amp;#039;Musikstil/Genre&lt;br /&gt;    End If&lt;br /&gt;    &lt;br /&gt;    litmEintrag.Checked = Not CDInDatenbank(strSerialnumber, strArtist, strTitle, False)&lt;br /&gt;    Call SongsLesenDiscs(DateiNr, strSerialnumber)&lt;br /&gt;    &lt;br /&gt;  End If&lt;br /&gt;Loop Until EOF(DateiNr)&lt;br /&gt;&lt;br /&gt;DoCmd.Hourglass False&lt;br /&gt;&lt;br /&gt;End Sub
</code></pre>
]]></description><link>https://forum.audiograbber.de/post/13148</link><guid isPermaLink="true">https://forum.audiograbber.de/post/13148</guid><dc:creator><![CDATA[toast78]]></dc:creator><pubDate>Tue, 28 Dec 2004 17:40:20 GMT</pubDate></item></channel></rss>