unit funciones; interface function RtfToText(Cadena: PChar): PChar; cdecl; export; implementation uses SysUtils; function RtfToText(Cadena: PChar): PChar; var i: integer; CadenaAux1: String; begin //Si no tiene ninguna llave no esta guardado como rtf if (Pos('{', Cadena) = 0) then Result := Cadena else //Esta guardado com rtf begin //Quitamos todo lo que está antes de \fs1x i := Pos('\fs', Cadena); CadenaAux1 := Copy(Cadena, i, StrLen(Cadena)-1); //Quitamos la parte de delante \fs1x i:= Pos(' ', CadenaAux1); CadenaAux1 := Copy(PChar(CadenaAux1), i+1, StrLen(PChar(CadenaAux1))-1); //Quitamos todo lo de la parte de atras a partir de la primera barra \ que tengamos i:= Pos('\', CadenaAux1); CadenaAux1 := Copy(PChar(CadenaAux1), 0, i-1); Result := PChar(CadenaAux1); end; end; end.