Yapmak istediğim medya playda süre hesaplama, Listview time alanım var, aynı anda iki farklı toplama işlemi yaptırmam gerek bunu birden fazla procedure oluşturarak yapılabilir fakat bu işlemi tek bir procedure altında yapmak istiyorum, fakat takıldım kaldım...
Örnek:

Örnekte ki gibi aynı anda iki alanı da hesaplamak istiyorum 1. listviewdeki tüm süre hesaplanacak 2. ise next ve pause arasında kalan alan hesaplanacak burada ki sıkıntım ise alt satırlarda olan next ve pause süreler dikkate alınmayacak...
Bu konuda nasıl bir yol izlemeliyim...
Kod: Tümünü seç
procedure TMainForm.KalanDuration(Sender: TObject);
var
I, J: Integer;
TSaat, NSaat: TTime;
TSaniye, NSaniye: Integer;
begin
try
NSaat := 0;
TSaat := 0;
with PListView1 do
begin
for I := VSonraki to Items.Count - 1 do
begin
if Items.Item[I].SubItems[6] = 'Next' then
begin
NSaat := NSaat + StrToTime(Items[I].SubItems[4]);
end;
if Items.Item[I].SubItems[6] = 'Pause' then
begin
Exit;
end;
end;
for J := VSonraki to Items.Count - 1 do
begin
TSaat := TSaat + StrToTime(Items[J].SubItems[4]);
end;
end;
finally
NSaniye := SecondsBetween(0, NSaat);
TSaniye := SecondsBetween(0, TSaat);
StatusBar1.Panels[5].Text := NextDuration(NSaniye);
StatusBar1.Panels[6].Text := ToplamDuration(TSaniye);
end;
end;