Hallöchen...
Habe hier folgendes Szenario:
Delphi-Quellcode:
...
type
TID3Tag = Record
ID: String[3];
Titel: String;
Artist: String;
Album: String;
Year: String;
Comment: String;
Genre: Byte;
end;
...
function ReadID3Tag(FileName: String): TID3Tag;
var
FS: TFileStream;
Buffer: Array [1..128] of Char;
begin
FS := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
FS.Seek(-128, soFromEnd);
FS.Read(Buffer, 128);
with Result do
begin
ID := Copy(Buffer, 1, 3);
Titel := Copy(Buffer, 4, 30);
Artist := Copy(Buffer, 34, 30);
Album := Copy(Buffer, 64, 30);
Year := Copy(Buffer, 94, 4);
Comment := Copy(Buffer, 98, 30);
Genre := Ord(Buffer[128]);
end;
finally
FS.Free;
end;
end;
...
procedure TForm1.Button1Click(Sender: TObject);
var
S: String;
begin
with ReadID3Tag('c:\lied.mp3') do
begin
S := Artist + ' - ' + Titel;
end;
end;
...
So... Wenn ich das ganze jetzt so laufen lasse steht in der Variable S nur der Artist. Der Bindestrich und der Titel fehlen. Einem Label kann ich das so auch nicht zuordnen. Folgender Code funktioniert wiederrum:
Delphi-Quellcode:
...
procedure TForm1.Button1Click(Sender: TObject);
var
S: String;
begin
with ReadID3Tag('c:\lied.mp3') do
begin
Label1.Caption := Artist;
Label2.Caption := Titel;
S := Label1.Caption + ' - ' + Label2.Caption;
end;
end;
...
Wie kann ich der Variable S ohne diesen Umweg das ganze zuweisen?
mfg
~Lordnightmaere~