Как я понимаю основная проблема в том чтобы расщепить строку на составные части. Здесь решение. Но сразу предупреждаю
Требует строгого форматирования исходной строки (не допусаются двойные пробелы, нельзя заменить кавычки двойными для секунд)
Код:
function StripStr(s:string):extended;
var
Index,i:integer;
z:array[0..2] of string;
begin
s:=Trim(s);
Index:=0;
fillchar(z,SizeOf(z),0);
for i:=1 to Length(s) do
if s[i]=' ' then inc(Index)
else z[Index]:=z[Index]+s[i];
SetLength(z[1],Length(z[1])-1);
SetLength(z[2],Length(z[2])-2);
Result:=StrToFloat(z[0]) + StrToFloat(z[1])/60 + StrToFloat(z[2])/3600
end;