Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi WMA Tags lesen und SCHREIBEN (https://www.delphipraxis.net/78147-wma-tags-lesen-und-schreiben.html)

Nils_13 29. Sep 2006 17:15


WMA Tags lesen und SCHREIBEN
 
Hi,

kennt jemand eine Version der WMA-Unit der Audio Tools Library, welche die Tags auch speichern kann oder eine Methode Tags auszulesen und zu speichern ?

EWeiss 30. Sep 2006 09:21

Re: WMA Tags lesen und SCHREIBEN
 
Zitat:

Zitat von Nils_13
Hi,

kennt jemand eine Version der WMA-Unit der Audio Tools Library, welche die Tags auch speichern kann oder eine Methode Tags auszulesen und zu speichern ?

Nö !
Aber ich habe ne Unit welches beides kann, nicht von der Audio Tools Library.

Zitat:

Methode Tags auszulesen und zu speichern ?
Dafür benötigst du erstmal das SDK vom Mediaplayer.
In verbindung mit wmvcore dürfte das nicht so schwer sein.

Du benötigst die TGUIDS der Informationsheader die dazugehörigen Type Declarationen usw..
Ist aber alles im SDK beschrieben.

Dein Problem ist lediglich den C++ code nach Delphi zu übersetzen.
Glaube nicht das es von MS ne UNIT dafür gibt.

gruß

Nils_13 30. Sep 2006 10:56

Re: WMA Tags lesen und SCHREIBEN
 
Ok, aber wo ist dann die Unit, die du ja in deinem Projekt benutzt hast ?

EWeiss 30. Sep 2006 11:03

Re: WMA Tags lesen und SCHREIBEN
 
Zitat:

Zitat von Nils_13
Ok, aber wo ist dann die Unit, die du ja in deinem Projekt benutzt hast ?

Hehehehe .....
Unterwegs.

gruß

Nils_13 30. Sep 2006 11:16

Re: WMA Tags lesen und SCHREIBEN
 
Thx.

Die Muhkuh 30. Sep 2006 12:11

Re: WMA Tags lesen und SCHREIBEN
 
Hi EWeiss,

evtl. kannst Du die Unit ja hier anhängen, falls andere die gleichen Probleme haben.

EWeiss 30. Sep 2006 15:01

Re: WMA Tags lesen und SCHREIBEN
 
Liste der Anhänge anzeigen (Anzahl: 2)
Was du mir da geschickt hast kann nicht laufen.

Show PIC ...
Jahr als Titel
Genre als Titel

So kann das nix werden.
das muss einen Laufzeitfehler auslösen :wink:

Test.jpg ist OK da ist nix mit komischen zeichen.

gruß

Nils_13 30. Sep 2006 15:10

Re: WMA Tags lesen und SCHREIBEN
 
Wieso kann das nicht laufen ?
Ich verstehe dich nicht.
Delphi-Quellcode:
procedure TAudioFile.GetWMAInfo(filename:String);
var
  TagsData: PTagsData;
begin
  New(TagsData);
  try
    OpenWMAFile(filename, TagsData);
    fArtist   := TagsData.Author;
    fTitel    := TagsData.Title;
    fAlbum    := TagsData.Album;
    fGenre    := TagsData.Genre;
    fYear     := TagsData.Year;
    fTrack    := TagsData.Track;
    fKommentar := TagsData.Comments;
  finally
    DisPose(TagsData);
    FPfad     := filename;
    FOrdner   := ExtractFileDir(filename);
    FDateiname := filename;
  end;
end;

procedure TAudioFile.SaveWMAInfo(filename,a,b,c,d,e,f,g: String);
var
  TagsData: PTagsData;
begin
  New(TagsData);
  try
    TagsData.Title := a;
    TagsData.Author := b;
    TagsData.Album := c;
    TagsData.Genre := d;
    TagsData.Year  := e;
    TagsData.Track := f;
    TagsData.Comments := g;
    SaveWMAFile(TagsData);
  finally
    Dispose(TagsData);
  end;
end;

EWeiss 30. Sep 2006 15:16

Re: WMA Tags lesen und SCHREIBEN
 
Zitat:

Zitat von Nils_13
Wieso kann das nicht laufen ?
Ich verstehe dich nicht.
Delphi-Quellcode:
procedure TAudioFile.GetWMAInfo(filename:String);
var
  TagsData: PTagsData;
begin
  New(TagsData);
  try
    OpenWMAFile(filename, TagsData);
    fArtist   := TagsData.Author;
    fTitel    := TagsData.Title;
    fAlbum    := TagsData.Album;
    fGenre    := TagsData.Genre;
    fYear     := TagsData.Year;
    fTrack    := TagsData.Track;
    fKommentar := TagsData.Comments;
  finally
    DisPose(TagsData);
    FPfad     := filename;
    FOrdner   := ExtractFileDir(filename);
    FDateiname := filename;
  end;
end;

procedure TAudioFile.SaveWMAInfo(filename,a,b,c,d,e,f,g: String);
var
  TagsData: PTagsData;
begin
  New(TagsData);
  try
    TagsData.Title := a;
    TagsData.Author := b;
    TagsData.Album := c;
    TagsData.Genre := d;
    TagsData.Year  := e;
    TagsData.Track := f;
    TagsData.Comments := g;
    SaveWMAFile(TagsData);
  finally
    Dispose(TagsData);
  end;
end;

Die Datei die du mir geschickt hast kann nicht laufen siehe Wma.JPG
Du kannst bei Jahr keine Strings addieren und dann ins WMA Format schreiben.
Das verursacht beim einladen einen AV.

Jahr ist ein numerischer wert kein string.
Das selbe gilt für Track

gruß

EDIT: Alle Dateien von Windows habe ich getestet (die sich im system befinden)
Alle aber auch alle, funktionieren einwandfrei ohne Fehler.
Kann es sein das du in die Datei schreibst während sie am laufen ist?

Nils_13 30. Sep 2006 15:21

Re: WMA Tags lesen und SCHREIBEN
 
Du meinst, ich soll aus Track und Year Integer machen ? Gerade das geht nicht....

EWeiss 30. Sep 2006 15:26

Re: WMA Tags lesen und SCHREIBEN
 
Zitat:

Zitat von Nils_13
Du meinst, ich soll aus Track und Year Integer machen ? Gerade das geht nicht....

Du verstehst mich nicht.
Wie du auf dem Bild sehen kannst steht an der stelle von Jahr 'asd'
Da sollte schon ein reales Jahr in nummern stehen. (kann ruhig als string übergeben werden)

Die Datei hat bei mir direkt ein AV verursacht.

Ansonsten wie oben schon geschrieben unter EDIT:
Alle Dateien von Windows habe ich getestet (die sich im system befinden)
Alle aber auch alle, funktionieren einwandfrei ohne Fehler.
Kann es sein das du in die Datei schreibst während sie am laufen ist? ;)

gruß

EWeiss 30. Sep 2006 15:35

Re: WMA Tags lesen und SCHREIBEN
 
Und noch etwas!!

Manche WMA Dateien sind mit dem 'DRM' Digital Rights Management gegen Raubcopien geschützt.
Versuchst du diese zu überschreiben wirst du kein glück haben.
Auch das verursacht unweigerlich einen AV.

Nur Private Dateien können mt dieser Unit beschrieben und auch zurückgelesen werden.
Diese ist kein Hack für DRM geschützte Dateien.

Gruß

Nils_13 30. Sep 2006 15:43

Re: WMA Tags lesen und SCHREIBEN
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ob da ein reeles Datum steht oder nicht ist bei meinem Player nicht AV gefährdet.
Damit du es dir besser vorstellen kannst, hier ein Bild davon:

EWeiss 30. Sep 2006 15:51

Re: WMA Tags lesen und SCHREIBEN
 
Zitat:

Zitat von Nils_13
Ob da ein reeles Datum steht oder nicht ist bei meinem Player nicht AV gefährdet.
Damit du es dir besser vorstellen kannst, hier ein Bild davon:

ahhh in der Playliste !
Das ist dein Problem, hat aber nichts mit der WMA Unit zu tun.
Den Titel bekommst du wenn du den WMATag einliest bevor du die Liste füllst.
if WMA then read tag und addiere zur Playlist.

Du mußt doch nur den Titel von fTitel an die Playliste übergeben.
Kann nicht sehen was da in deinen Code vorgeht.


gruß

Nils_13 30. Sep 2006 15:57

Re: WMA Tags lesen und SCHREIBEN
 
Delphi-Quellcode:
procedure TfrmMain.UpdateListBox;
var i : integer;
begin
  lbList.Clear;
  lbList.Items.BeginUpdate;
  for i := 0 to length(fFiles) - 1 do
  begin
    if
    lbList.Items.Add(fFiles[i].Artist + ' - ' + fFiles[i].Titel + ' [' + trim(DurationMinSec(IntToStr(GetSongLength))) + ']');
  end;
  lbList.Items.EndUpdate;
end;
Da kann nichts schief laufen.

Nachtrag:
Delphi-Quellcode:
  TAudioFile = class
  private
    FPfad: string;
    FDateiname: string;
    FOrdner: string;
    FDateiGroesse: Integer;
    //WMA-Tags
    FWMATrack : Integer;
    FWMAYear : Integer;
    //OggVorbis-Tags
    FOggTrack: Word;
    // aus den ID3-Tags (oder andere Meta-Tags)
    FArtist: string;
    FTitel: string;
    FAlbum: string;
    FTrack: WideString;
    FYear:  string;
    FGenre: string;
    FKommentar: string;
    FLyrics: string;
    // aus den MPEG-Infos
    FDauer: Integer;
    FBitrate: word;
    Fvbr: boolean;
    FChannelMode: String;
    FSamplerate:Integer;
    FEndung: String;
    procedure SetNA(filename: String);

    procedure GetMP3Info(filename:string);
    procedure GetWMAInfo(filename:string);
    procedure GetWAVInfo(filename:string);
    procedure GetAIFFInfo(filename:string);
    procedure GetOGGInfo(filename:string);

  public
    property pfad:     string read FDateiname;
    property Dateiname: string read FDateiname;
    property Ordner:   string read FOrdner;
    property DateiGroesse: Integer read FDateiGroesse;
    // OGG-Tags
    property OGGTrack: word read FOggTrack;
    // aus den ID3-Tags (oder andere Meta-Tags)
    property Artist: string read FArtist;
    property Titel: string read FTitel;
    property Album: string read FAlbum;
    property Track: widestring read FTrack;
    property Year:  string read FYear; // Ja, ein String!
    property Genre: string read FGenre;
    property Kommentar: string read FKommentar;
    property Lyrics: string read FLyrics;
    // aus den MPEG-Infos
    property Dauer: Integer read FDauer;
    property Bitrate: word read FBitrate;
    property vbr: boolean read Fvbr;
    property ChannelMode: String read FChannelMode;
    property Samplerate:Integer read FSamplerate;
    property Endung : string read FEndung write FEndung;

   constructor create;
   destructor destroy; override;
   procedure GetAudioData(filename:string);
   procedure SaveMP3Info(filename,titel,artist,album,track,year,comment,genre:string);
   procedure SaveWMAInfo(filename,a,b,c,d,e,f,g: String);
  end;

EWeiss 30. Sep 2006 16:01

Re: WMA Tags lesen und SCHREIBEN
 
Zitat:

Zitat von Nils_13
Delphi-Quellcode:
procedure TfrmMain.UpdateListBox;
var i : integer;
begin
  lbList.Clear;
  lbList.Items.BeginUpdate;
  for i := 0 to length(fFiles) - 1 do
  begin
    if
    lbList.Items.Add(fFiles[i].Artist + ' - ' + fFiles[i].Titel + ' [' + trim(DurationMinSec(IntToStr(GetSongLength))) + ']');
  end;
  lbList.Items.EndUpdate;
end;
Da kann nichts schief laufen.

Setz doch einfach nen Breakpunkt in die Zeile und prüfe ob der Titel da schon nicht ankommt.
Hoffe doch das du das array von fFiles als public declariert hast.
Vergleich die zeile doch mal mit dieser welche den Lauftext ausgibt.

gruß

Nils_13 30. Sep 2006 16:08

Re: WMA Tags lesen und SCHREIBEN
 
WatchList:
Delphi-Quellcode:
fFiles[i].Titel: 'Test 3 wmaf'#0#$16#0#1

EWeiss 30. Sep 2006 16:12

Re: WMA Tags lesen und SCHREIBEN
 
Zitat:

Zitat von Nils_13
WatchList:
Delphi-Quellcode:
fFiles[i].Titel: 'Test 3 wmaf'#0#$16#0#1

Jo ist also vorhanden.
Stehe jetzt auch auf den schlauch warum sich der Titel dann nicht
in deine Liste addiert.

hat aber definitiv nix mit der WMA Unit zu tun. :)

gruß

Nils_13 30. Sep 2006 16:14

Re: WMA Tags lesen und SCHREIBEN
 
Hm, bei der ATL-Unit lief das einwandfrei. Warum da Zeichen im Lauftext sind ist klar, denn man beachte
#0#$16#0#1. Wie bekomm ich wenigstens erstmal das raus.

EWeiss 30. Sep 2006 16:21

Re: WMA Tags lesen und SCHREIBEN
 
Zitat:

Zitat von Nils_13
Hm, bei der ATL-Unit lief das einwandfrei. Warum da Zeichen im Lauftext sind ist klar, denn man beachte
#0#$16#0#1. Wie bekomm ich wenigstens erstmal das raus.

In VB gibts ne repleace function welche in der lage ist den
wert hinter den Namen in nil zu konvertieren.
Keine ahnung obs sowas ähnliches in Delphi auch gibt.


gruß

Nils_13 30. Sep 2006 16:50

Re: WMA Tags lesen und SCHREIBEN
 
Ich denke es liegt an den Pointern. Pointer machen nie, was man will. Das nur Artist in de rListbox steht ist kein Wunder, denn der String wird durch #0 terminiert. Es gibt da den Copy-Befehl, aber die Zeichenfolge nach dem String wird vlt. von WMA zu WMA unterschiedlich sein und somit könnte das schwer werden.

EWeiss 30. Sep 2006 17:01

Re: WMA Tags lesen und SCHREIBEN
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Nils_13
Ich denke es liegt an den Pointern. Pointer machen nie, was man will. Das nur Artist in de rListbox steht ist kein Wunder, denn der String wird durch #0 terminiert. Es gibt da den Copy-Befehl, aber die Zeichenfolge nach dem String wird vlt. von WMA zu WMA unterschiedlich sein und somit könnte das schwer werden.

Bei mir auch in der TEdit 'show Pic' habe dort auch keine zusätzlichen zeichen.
Die zeichenfolge nach dem string ist abhängig vom Titel.
Dürfte aber uninteressant sein.

Du mußt den String spliten mit dem Delemiter "'" und alles wegschneiden was hinter dem 2 "'" zeichen steht.
Dann bleibt nur noch 'ads' übrig.

NE andere Idee habe ich da auch nicht.

Nils_13 30. Sep 2006 17:08

Re: WMA Tags lesen und SCHREIBEN
 
Warum funktioniert es bei dir, aber nicht bei mir :shock: ?

In der Tagform wird alles korrekt angezeigt, aber nicht in der Playlist und im Lauftext.

EWeiss 30. Sep 2006 17:10

Re: WMA Tags lesen und SCHREIBEN
 
Zitat:

Zitat von Nils_13
Warum funktioniert es bei dir, aber nicht bei mir :shock: ?

Check doch mal die Properties deiner TEdit mit den
Properties TEDIT von meinen Sample.
Möglich das dort das problem liegt.

Gruß

Nils_13 30. Sep 2006 17:13

Re: WMA Tags lesen und SCHREIBEN
 
Hm? Die Tags sind in deiner Demo genauso, wie bei mir, nur in der Playlist und im Lauftext nicht.

EWeiss 30. Sep 2006 17:15

Re: WMA Tags lesen und SCHREIBEN
 
Zitat:

Zitat von Nils_13
Hm? Die Tags sind in deiner Demo genauso, wie bei mir, nur in der Playlist und im Lauftext nicht.

Was sind denn fFiles[i] ? controls ? oder array.

gruß

Nils_13 30. Sep 2006 17:18

Re: WMA Tags lesen und SCHREIBEN
 
Liste der Anhänge anzeigen (Anzahl: 1)
Delphi-Quellcode:
fFiles : Array of TAudioFile;
[ironie]Und noch was: Warum lädt immer jeder alles runter, obwohl ihn wahrscheinlich nur der Code interessiert...oh was ist denn das lad es mir mal runter.[/ironie] Eine ähnliche Unit kriegt ihr übrigens kostenlos im DF....

Hier mal die Unit, in der TAudioFile steht:

EWeiss 30. Sep 2006 17:23

Re: WMA Tags lesen und SCHREIBEN
 
Zitat:

Zitat von Nils_13
Delphi-Quellcode:
fFiles : Array of TAudioFile;
Hier mal die Unit, in der TAudioFile steht:

Versuch doch mal folgendes.
Nur zum testen .. leg mal ein TEdit in deiner form an.
und weise den einen index 0 zu.
So das dieses als array angesprochen wird.
Dann lade die TEDIT dynamisch zur laufzeit.. und weise diesen den Titel zu.

Übergeben den Titel von TEDIT(1) oder was auch immer an die Playlist und schau was passiert.

gruß

Nils_13 30. Sep 2006 17:33

Re: WMA Tags lesen und SCHREIBEN
 
Ich habe es so gemacht:
Delphi-Quellcode:
//Lauftext
PlayFile(playindex);
with fFiles[playindex] do
begin
  s := Artist + ' - ' + Titel + ' [' + trim(DurationMinSec(IntToStr(GetSongLength))) + ']';
  lLauftext.Text   := s;
  lLauftext.Active := True;
  lLauftext.Transparent := True;
  Application.Title := s;
  Memo1.Lines.Add(s);
end;
Das Ergebniss:
Delphi-Quellcode:
PaulE
Der String wird terminiert. Das mit dem Copy wird auch mit deinem Prinzip sehr schwer, da sich die Zeichenfolge in der einen Datei z.B. 5 Zeichen lang ist und in der Anderen z.B. 7. Wir sollten dem Fehler auf den Grund gehen, anders geht es nicht, selbst wenn ist es sehr schlecht und fehleranfällig.

EWeiss 30. Sep 2006 17:44

Re: WMA Tags lesen und SCHREIBEN
 
Zitat:

Der String wird terminiert. Das mit dem Copy wird auch mit deinem Prinzip sehr schwer, da sich die Zeichenfolge in der einen Datei z.B. 5 Zeichen lang ist und in der Anderen z.B. 7. Wir sollten dem Fehler auf den Grund gehen, anders geht es nicht, selbst wenn ist es sehr schlecht und fehleranfällig.
Ja ! Versuche dir ja zu helfen.
Hätte auch eine Lösung anzubieten.

Simple :)


Delphi-Quellcode:
Var
RTitle: Shortstring;
RArtist: Shortstring;
 
procedure TForm1.OpenPBClick(Sender: TObject);
var
  TagsData: PTagsData;
begin
  if not opendialog1.Execute then
    exit;
  ClearAll;
  lblFileName.Caption := opendialog1.FileName;
  SavePB.Enabled := true;
  New(TagsData);
  try
    OpenWMAFile(opendialog1.FileName, TagsData);
    fFilesize.Text := inttostr(TagsData.FileSize) + ' bytes';
    fDuration.Text := DurationToStr(TagsData.Duration, true) + ' sec ';
    fBitRate.Text := inttostr(TagsData.BitRate div 1000) + ' kbit';
    fVBR.Text := booltostr(Tagsdata.VBR, true);
    fEncoder.Text := TagsData.Version;
    fGenre.Text := TagsData.Genre;
    fArtist.Text := TagsData.Author;
    fComposer.Text := TagsData.Composer;
    fTitle.Text := TagsData.Title;
    fAlbum.Text := TagsData.Album;
    fYear.Text := TagsData.Year;
    fTrack.Text := TagsData.Track;
    fURL.Text := TagsData.Url;
    fCopyRight.Text := TagsData.CopyRight;
    fComments.Text := TagsData.Comments;
    fLyrics.Text := TagsData.Lyrics;
  finally
    DisPose(TagsData);
  end;
  // Schau hier das wars!
  RTitle := fTitle.Text;
  RArtist := fArtis.Text;
  s := RArtist + ' - ' + RTitle + ' [' + trim(DurationMinSec(IntToStr(GetSongLength))) + ']';
end;
Bei mir wird beim Debuggen alles einwandfrei ohne zusätze angezeigt.

EDIT: Könnte reichen wenn du deine Strings mal nach ShortString ändern würdest!

Gruß

Nils_13 30. Sep 2006 17:56

Re: WMA Tags lesen und SCHREIBEN
 
Hm so leicht geht das garnicht, denn WMAFile.Read liegt schließlich in der Unit tags. Ich weise es vorher auch auf kein Edit zu. Was müsste ich dann noch am eben genanntem Lösungsweg ändern. Shortstring ändert übrigens nichts.

EWeiss 30. Sep 2006 18:00

Re: WMA Tags lesen und SCHREIBEN
 
Zitat:

Zitat von Nils_13
Hm so leicht geht das garnicht, denn WMAFile.Read liegt schließlich in der Unit tags. Ich weise es vorher auch auf kein Edit zu. Was müsste ich dann noch am eben genanntem Lösungsweg ändern. Shortstring ändert übrigens nichts.

Sorry schick mal deinen quelltext!
Werde ihn vernichten wenn das problem gelößt ist.

Hat so keinen sinn.. ich hab Delphi 2006 und du die 7 Version.
KA ob die compiler im verhalten gleich sind.

Nur ne simple Unit nutzt mir da nix

gruß

EWeiss 30. Sep 2006 19:35

Re: WMA Tags lesen und SCHREIBEN
 
Liste der Anhänge anzeigen (Anzahl: 1)
So!
Neuer Versuch..

Habe jetzt mal die Funktion Split aus VB nach Delphi umgesetzt.
Verstehe nicht das so eine einfache Funktion in Delphi nicht zur verfügung steht.
Nun gut dann teste es einfach mal.

Delphi-Quellcode:
Type
  TSplitStrArray = array of String;
end;

function Split(const Source, Delimiter: String): TSplitStrArray;
var
  spCount: Integer;
  spPos: Integer;
  spLength: Integer;
  sTemp: String;
  aSplit: TSplitStrArray;

begin
  sTemp := Source;
  spCount := 0;
  spLength := Length(Delimiter) - 1;
  repeat
    spPos := Pos(Delimiter, sTemp);
    if spPos = 0 then
      break
    else begin
      Inc(spCount);
      SetLength(aSplit, spCount);
      aSplit[spCount - 1] := Copy(sTemp, 1, spPos - 1);
      Delete(sTemp, 1, spPos + spLength);
    end;

    until False;
      if Length(sTemp) > 0 then begin
        Inc(spCount);
        SetLength(aSplit, spCount);
        aSplit[spCount - 1] := sTemp;
      end;

    Result := aSplit;
end;

Aufrufen mit !
Delphi-Quellcode:
var
  spSource: TSplitStrArray;
  spDest: string;

Begin
  spSource := Split(TagsData.Author, #0);
  spDest := Trim(spSource[0]);
end;
Bei mir funktioniert es hundert pro

Geht bestimmt besser habe aber auf die schnelle nichts besseres umsetzen können.

Habs getestet Trim geht nicht erst dann wenn du die Daten
durch die Split funktion gejagt hast.

gruß

EWeiss 30. Sep 2006 20:02

Re: WMA Tags lesen und SCHREIBEN
 
Zitat:

Zitat von EWeiss
So!
Neuer Versuch..

Habe jetzt mal die Funktion Split aus VB nach Delphi umgesetzt.
Verstehe nicht das so eine einfache Funktion in Delphi nicht zur verfügung steht.
Nun gut dann teste es einfach mal.

Delphi-Quellcode:
Type
  TSplitStrArray = array of String;
end;

function Split(const Source, Delimiter: String): TSplitStrArray;
var
  spCount: Integer;
  spPos: Integer;
  spLength: Integer;
  sTemp: String;
  aSplit: TSplitStrArray;

begin
  sTemp := Source;
  spCount := 0;
  spLength := Length(Delimiter) - 1;
  repeat
    spPos := Pos(Delimiter, sTemp);
    if spPos = 0 then
      break
    else begin
      Inc(spCount);
      SetLength(aSplit, spCount);
      aSplit[spCount - 1] := Copy(sTemp, 1, spPos - 1);
      Delete(sTemp, 1, spPos + spLength);
    end;

    until False;
      if Length(sTemp) > 0 then begin
        Inc(spCount);
        SetLength(aSplit, spCount);
        aSplit[spCount - 1] := sTemp;
      end;

    Result := aSplit;
end;

Aufrufen mit !
Delphi-Quellcode:
var
  spSource: TSplitStrArray;
  spDest: string;

Begin
  spSource := Split(TagsData.Author, #0);
  spDest := Trim(spSource[0]);
end;
Bei mir funktioniert es hundert pro
Geht bestimmt besser habe aber auf die schnelle nichts besseres umsetzen können.

Wenn ich mir das so recht überlege könnte es ausreichen wenn du einfach vor jeder deiner
Variablen TagsData den Trim Befehl setzt.
Wenns geht ok! ;)
Die Split funktion dürfte trotzdem interessant für dich sein.
Kann man einfach mal einen String in seine bestandteile zerlegen ohne viel mühe.

gruß

Warum nmacht der hier andauernd doppelpost ?
Hmm zu schnell geklickt .. Entschuldigung!!

Nils_13 1. Okt 2006 09:49

Re: WMA Tags lesen und SCHREIBEN
 
Danke, jetzt funktioniert es.

EWeiss 1. Okt 2006 09:53

Re: WMA Tags lesen und SCHREIBEN
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Nils_13
Danke, jetzt funktioniert es.

Dann bin ich zufrieden war der aufwand doch nicht umsonst :)

Hier mal mein Player ..

gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:10 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