2019-11-18 10:41:44 +00:00
|
|
|
unit funciones;
|
|
|
|
|
|
|
|
|
|
interface
|
|
|
|
|
|
|
|
|
|
function RtfToText(Cadena: PChar): PChar; cdecl; export;
|
|
|
|
|
|
|
|
|
|
implementation
|
|
|
|
|
|
|
|
|
|
uses
|
|
|
|
|
Forms, Classes, SysUtils, StdCtrls, ComCtrls,
|
|
|
|
|
Menus, Windows;
|
|
|
|
|
|
2021-03-04 14:07:54 +00:00
|
|
|
function RtfToText(Cadena: PChar): PChar;
|
|
|
|
|
var
|
|
|
|
|
AStream : TStringStream;
|
|
|
|
|
ARichEdit: TRichEdit;
|
|
|
|
|
begin
|
|
|
|
|
ARichEdit := TRichEdit.CreateParented(HWND_MESSAGE);
|
|
|
|
|
try
|
|
|
|
|
AStream := TStringStream.Create(Cadena);
|
|
|
|
|
try
|
|
|
|
|
ARichEdit.SelectAll;
|
|
|
|
|
ARichEdit.SelText := StrPas(Cadena);
|
|
|
|
|
Result := PChar(ARichEdit.Text);
|
|
|
|
|
finally
|
|
|
|
|
FreeAndNIL(AStream);
|
|
|
|
|
end;
|
|
|
|
|
finally
|
|
|
|
|
FreeAndNIL(ARichEdit);
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
{ANTIGUA FUNCION CON FUGA DE MEMORIA
|
2019-11-18 10:41:44 +00:00
|
|
|
function RtfToText(Cadena: PChar): PChar;
|
|
|
|
|
var
|
|
|
|
|
AStream : TStringStream;
|
|
|
|
|
ARichEdit: TRichEdit;
|
|
|
|
|
begin
|
|
|
|
|
AStream := TStringStream.Create(Cadena);
|
2021-03-04 14:07:54 +00:00
|
|
|
ARichEdit := TRichEdit.CreateParented(HWND(-3));
|
2019-11-18 10:41:44 +00:00
|
|
|
try
|
|
|
|
|
ARichEdit.SelectAll;
|
|
|
|
|
ARichEdit.SelText := StrPas(Cadena);
|
|
|
|
|
Result := PChar(ARichEdit.Text);
|
|
|
|
|
finally
|
|
|
|
|
FreeAndNIL(AStream);
|
|
|
|
|
end;
|
|
|
|
|
end;
|
2021-03-04 14:07:54 +00:00
|
|
|
}
|
2019-11-18 10:41:44 +00:00
|
|
|
|
|
|
|
|
end.
|