Главная страница
    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.008 c
8-76520
SPIRIT
2002-12-12 13:50
2003.03.24
Прочитать TAG в MP3


1-76447
АндрейБ
2003-03-11 09:05
2003.03.24
Объединение ячеек


3-76332
Маша
2003-03-05 20:19
2003.03.24
Как правильно запрос написать в ADOQuery?


1-76398
andrey_pst
2003-03-13 09:02
2003.03.24
Запутался с try ... finally ... end;


1-76425
Mike2003
2003-03-11 12:40
2003.03.24
TCanvas или TImage





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский