Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];

Вниз

rtf to txt   Найти похожие ветки 

 
Zbigniew Bonek   (2003-03-08 03:49) [0]

Уважаемые Мастера Дельфи подскажите, пожалуйста, как привести rtf формат (например {\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fswiss\fcharset0 Arial;}{\f1\fswiss\fcharset204{\*\fname Arial;}Arial CYR;}{\f2\fswiss\fprq2\fcharset204 MS Sans Serif;}}{\colortbl ;\red0\green0\blue0;}\viewkind4\uc1\pard\cf1\lang1033\f0\fs16 1234567890\lang1049\f1\"e9\"f6\"f3\"ea\"e5\"ed\"e3\"f8\"f9\"e7\lang1033\f0\par} к "нормальному" тексту, без использования RichEdita. Может компонент какой есть?
Заранее благодарен.


 
ScableR   (2003-03-08 03:57) [1]

Попытайся юзануть SynEdit.


 
Anatoly Podgoretsky   (2003-03-08 10:36) [2]

НаМикрософтовском сайте есть описание формата.
Почему такая непризьн к RichEdit?
Ну тогда используй щкв.


 
Zbigniew Bonek   (2003-03-12 02:01) [3]

Спасибо за помощь ;-)


function RtfToTxt(const Value: String): String;
var
i: Word;
tag: Boolean;
st: String;
begin
Result := ""; tag := False; st := "";
if Value = "" then Exit;
if Copy(Value, 0, 6) <> "{\rtf1" then
begin
Result := Value;
Exit;
end;
for i := 1 to Length(Value) do
begin
if Value[i] in ["\", "}", "{"] then
tag := True;
if Value[i + 1] in ["\", "}", "{"] then
begin
tag := False;
if st <> "" then
begin
if st = "par" then Result := Result + #13#10
else if (st[1] = """") and (Length(st) >= 3) then
begin
Delete(st, 1, 1);
Result := Result + Chr(HexToInt(Copy(st, 0, 2))) + Copy(st, 3, Length(st) - 2);
end
else if ((Pos(" ", st) > 0) or ((Copy(st, 0, 3) = "par") and (st <> "pard"))) and (st[Length(st)] <> ";") then
begin
while (Pos(#13, st) > 0) do Delete(st, Pos(#13, st), 1);
while (Pos(#10, st) > 0) do Delete(st, Pos(#10, st), 1);
if Copy(st, 0, 3) = "par" then
Result := Result + #13#10 + Copy(st, 4, Length(st) - 3)
else
Result := Result + Copy(st, Pos(" ", st) + 1, Length(st) - Pos(" ", st));
end;
end;
st := "";
end;
if tag then
st := st + Value[i + 1];
end;
end;



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.012 c
1-76479
Slym
2003-03-11 19:48
2003.03.24
Поворот текста из нескольких строк в TPicture...


14-76628
Visit
2003-03-07 10:09
2003.03.24
Замена курсора


1-76437
NEEDHelp
2003-03-11 23:39
2003.03.24
Delphi ERROR


1-76384
Alex Shulg
2003-03-12 11:06
2003.03.24
Обработка сообщений VCL компонента


6-76565
Leny
2003-01-27 09:21
2003.03.24
Что значит сообщение...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский