La blibliteca de manejo de cadenas StrUtils de Free Pascal tiene la función "extractword", para separar subcadenas a partir de una cadena con delimitadores tipo 'cadena1,cadena2,cadena3'
Código Delphi
[-]function ExtractWord(N: Integer; const S: string; const WordDelims: TSysCharSet): string;
Ejemplo:
Código Delphi
[-]Function Obtener_Host: String; Var
Nombre_Host: String;
Modo_remoto: Boolean;
Begin
Result := 'Localhost'; Modo_remoto := ExpandUNCFileName(Application.ExeName)[ 1 ] = '\';
If Modo_remoto Then
Result := ExtractWord(1, ExpandUNCFileName(Application.ExeName), [ '\' ]);
End;
Si miras el código fuente de esa unidad encontrarás otras funciones muy útiles.