Ich hab eine Listview wo ich Audiodateien einlese.
Dann hab ich zwei radiobuttons mit denen ich SVCD und DVD definiere.
Wenn nun schon Audiostreams in der Listview sind will ich die Zeilen umfärben,
falls der User von SVCD auf DVD wechselt.
Delphi-Quellcode:
var i :integer;
begin
if dvd.checked=true then
begin
for i := 0 to audiolist.items.Count - 1 do
if audiolist.Items[i].subitems[1]='48000' then
canvas.Font.Color := clgreen
else
Canvas.Font.Color := clred;
end
else
begin
for i := 0 to audiolist.items.Count - 1 do
if audiolist.Items[i].subitems[1]='44100' then
Canvas.Font.Color := clgreen
else
Canvas.Font.Color := clred;
end;
nur klappt der Code nicht.
Ich könnte zwar die Listview löschen und neu laden, wollte ich aber nicht.
Mir ist nun folgende Lösung eingefallen:
Delphi-Quellcode:
var i :integer;
s0,s1,s2,s3:string;
begin
for i := 0 to audiolist.items.Count - 1 do
begin
s0:=audiolist.Items[i].Caption;
s1:=audiolist.Items[i].subitems[0];
s2:=audiolist.Items[i].subitems[1];
s3:=audiolist.Items[i].subitems[2];
audiolist.Items[i].caption:='1111';
audiolist.Items[i].caption:=s0;
audiolist.Items[i].subitems[0]:='1111';
audiolist.Items[i].subitems[0]:=s1;
audiolist.Items[i].subitems[1]:='1111';
audiolist.Items[i].subitems[1]:=s2;
audiolist.Items[i].subitems[2]:='1111';
audiolist.Items[i].subitems[2]:=s3;
end;