Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Playlist aus itunes (.txt) lässt sich nicht einlesen! (https://www.delphipraxis.net/83376-playlist-aus-itunes-txt-laesst-sich-nicht-einlesen.html)

mtin 1. Jan 2007 15:57


Playlist aus itunes (.txt) lässt sich nicht einlesen!
 
Liste der Anhänge anzeigen (Anzahl: 1)
zunächst mal wünsch ich allen ein frohes neues Jahr :dp:

und hier kommt gleich mein erstes Problem im Jahre 2007 :mrgreen:
in iTunes gibts soweit ich das sehe keine möglichkeit, die mp3s die in ner Playlist sind einfach und schnell in einen Ordner auf dem Schreibtisch zu kopieren!
Man kann allerdings eine Textdatei erstellen lassen, in der alle Lieder aufgelistet sind und wo unter anderem auch der Pfad angegeben ist...also hab ich mir gedacht ich schreib dafür schnell ein Programm was mir die Lieder dann zusammenkopiert!

soweit so gut, das Programm an sich ist kein Problem und funktioniert auch, kommt aber nicht mit den textdateien zurecht! Wenn ich diese zeilenweise oder mit einer Stringlist einlese und dann so
Delphi-Quellcode:
Memo1.Text:=str.GetText;
einem Memo zuweise sieht das so aus:
http://img529.imageshack.us/img529/3...7164509io1.jpg
Editor.exe kann die Textdatei aber anzeigen, und wenn ich dann im Editor den gesamten Inhalt kopiere und in eine neue Textdatei einfüge und die speicher dann funktioniert auch mein Programm! Irgendwas muss also an den Textdateien sein...

hoffentlich kennt jemand das Problem oder weiß abhilfe :(

ich hab auch mal so eine Textdatei angehängt...

igel457 1. Jan 2007 16:16

Re: Playlist aus itunes (.txt) lässt sich nicht einlesen!
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wie man im HEX-Editor erkennen kann, beginnt die Datei mit zweimal dem Zeichen FF FF.
Also solltest du erstmal diese Wegschneiden:
Delphi-Quellcode:
Memo1.Text := copy(str.GetText,1,2);
Außerdem solltest du alle 00s rausschneiden:
Delphi-Quellcode:
Memo1.Text := stringreplace(copy(str.GetText,1,2),#0,'',[]);
Dann sollte es gehen...

EDIT: 1. Anhang vergessen, 2. Kleinen Fehler korrigiert

mtin 1. Jan 2007 16:46

Re: Playlist aus itunes (.txt) lässt sich nicht einlesen!
 
das ist ja merkwürdig....warum macht denn iTunes sowas :mrgreen:

nunja, aber ich denk um die ersten 2 Zeichen wegzuschneiden wär der Copy befehl eher so in der drehe oder?
Delphi-Quellcode:
copy(text,3,length(text)-2);
aber das hilft mir trotzdem nicht, Delphi scheint die textdatei nicht weiter einzulesen!
bzw. wenn ich die 2 zeichen wegschneide bleibt halt nur noch das "T" im memo stehen wie auf dem screenshot oben...

marabu 1. Jan 2007 16:47

Re: Playlist aus itunes (.txt) lässt sich nicht einlesen!
 
Hallo,

die ersten beiden Bytes stellen ein sogenanntes Byte-Order-Mark dar, die Datei ist offensicgtlich UTF-16 kodiert.

Delphi-Quellcode:
procedure LoadText(s: TStrings; fn: TFileName);
const
  BOM_UTF16 = $FEFF;
var
  bom: Word;
  ws: WideString;
  fs: TFileStream;
begin
  fs := TFileStream.Create(fn, fmOpenRead or fmShareDenyWrite);
  try
    fs.Read(bom, SizeOf(bom));
    if bom = BOM_UTF16 then
    begin
      SetLength(ws, (fs.Size - fs.Position) shr 1);
      fs.Read(ws[1], Length(ws) shl 1);
      s.Text := WideCharToString(PWideChar(ws));
    end else s.LoadFromStream(fs);
  finally
    fs.Free;
  end;
end;
Mit LoadText(Memo.Lines, 'qp.txt') kannst du sie laden.

Alles Gute im Neuen Jahr.

mtin 1. Jan 2007 17:07

Re: Playlist aus itunes (.txt) lässt sich nicht einlesen!
 
Zitat:

Zitat von marabu
Hallo,
Mit LoadText(Memo.Lines, 'qp.txt') kannst du sie laden.

Alles Gute im Neuen Jahr.

Danke und dir auch!
funktioniert bestens! :spin2:

Norbert987 1. Jan 2007 19:41

Re: Playlist aus itunes (.txt) lässt sich nicht einlesen!
 
Dem "gleichen" Problem, nämlich aus iTunes Lieder zu exportieren und die zusammen in einen Pfad reinzukopieren, habe ich mich auch schonmal angenommen. Ich habe es mittels Drag&Drop gelöst. Das ist natürlich nicht die beste Methode um alle MP3s zu behandeln, aber bei mir ging es darum, einen MP3 Player zu bespielen. Wenn interesse besteht, lade ich das Programm gerne hoch.

marabu 2. Jan 2007 06:49

Re: Playlist aus itunes (.txt) lässt sich nicht einlesen!
 
Hallo Norbert,

Zitat:

Zitat von Norbert987
Wenn interesse besteht, lade ich das Programm gerne hoch.

es gibt bestimmt noch mehr Leute, die sich mit dem Thema iTunes und Export auseinandersetzen werden. Wenn du deinen Code hier einstellst, dann werden die sich zu gegebener Zeit sicher darüber freuen. Wenn du keinen Quelltext einstellen magst, dann kannst du dein Programm auch in der Sparte Freeware vorstellen.

Freundliche Grüße

Norbert987 5. Jan 2007 12:28

Re: Playlist aus itunes (.txt) lässt sich nicht einlesen!
 
Liste der Anhänge anzeigen (Anzahl: 1)
Download im Anhang, ist nichts großes, aber es kann dem einen oder anderen doch helfen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz