El método FindData sirve para buscar información asociada a cada elemento, pero no de Subitems, me explico, si quieres, puedes asociar un objeto (o registro) a cada elemento del ListView, para localizar esos datos. FinData solo tiene sentido si has añadido los elemntos de esta forma:
Código Delphi
[-]
type TInfo = record HoraInicio,HoraFin : TDateTime; end;
TpTInfo = ^TInfo;
procedure TForm1.Button1Click(Sender: TObject);
var H :TpTInfo;
begin
with ListView1.items.Add do
begin
Caption := 'PC3';
SubItems.Add('Ocupado');
SubItems.Add('');
SubItems.Add('');
SubItems.Add('');
New(H);
H^.HoraInicio := Now;
H^.HoraFin:=IncMinute(h^.HoraInicio, 30);
Data:= H; end;
end;
Y no creo que sea lo que necesitas.
Ten en cuenta que cada elemento del ListView tiene asociado un Tstring que son todas las columnas restantes del Listview, por tanto, no queda más remedio que acceder a cada elemento para despues mirar su propiedad Subitems.
Por otra parte a FindData tienes que pasarle el puntero que previamente has guardado en la propiedad Data, (en el ejemplo que he puesto,
H) .
Solucion al tema: Buuuuuuucle sin alcohol
Saludos, espero que te aclare algo más