Problema en Lazarus al Separar cifra en numeros reales con coma flotante contenidas archivo .csv

Estoy desarrollando un programa en Lazarus Freepascal.

Tengo un archivo ".csv" con casi 10.000 lineas como esta:

"00:00:11",7531,645,"11,7","0,0000117","TEST"

Consegui y modifiqué un algoritmo "Explode" que logra desglosar cada dato separado por coma "," y lo guarda en un arreglo de la siguiente manera:

00:00:11
7531
645
11
7
0
0000117
TEST

function Explode ( Separator: Char; S: string ) : TArrayString;
var
  i: Integer;
  str: string[255];
  R: TArrayString;
begin
  SetLength(R,0);
  str := '';
  for i := 1 to Length(S) do
  begin
    if ((S[i] = Separator) or (i = Length(S))) then
    begin
      if (i = Length(S)) then
      begin
        str := str + S[i];
      end;
      SetLength(R,Length(R) + 1);
      R[Length(R) - 1] := str;
      str := '';
    end
    else
    begin
      str := str + S[i];
    end;
  end;
  Result := R;
end;

El problema que tengo, es que no consigo desglosar una cifra en numeros reales juntas sin que me las separe por la coma flotante...

Deberia de obtener:
11,7
0,0000117

He probado usar StringReplace, Pos y alguna que otra condición sin lograr nada en concreto!!!

Les agradezco de antemano cualquier ayuda... Saludos!