Здравствуйте, мне был задан вопрос как получить из кавычек такого «»(кавычки вертикальные) — кавычки такого вида <<>>(кавычки в виде перевернутого треугольника). Точнее в TMemo отображаются кавычки при загрузке страницы такого вида - «»(кавычки вертикальные), хотя на сайте кавычки такого вида <<>>(кавычки в виде перевернутого треугольника). Может как-то можно настроить TMemo, чтобы отображались кавычки такие как на сайте, а можно попробывать вместо TMemo использовать TRichEdit - по крайней мере у него побольше возможностей. Но если и там не получится, то возможно только, наверное, это замена кавычек вида «» на кавычки вида <<>>. Для этого я предлагаю использовать процедуры
- ord
- chr
С помощью процедуры ord мы сможем получить код любого нашего символа, а с помощью процедуры chr мы сможем наш, полученный код, преобразовать в нужный символ, то есть в символ, который расположен под данным кодом.
В TMemo вручную не набрать кавычки вида <<>>. Но надо же узнать код и той и другой кавычки данного вида, чтобы потом заменять их на вид такой «». Как всем известно MS WORD эти кавычки (<<>>) отображает нормально, набираем в MS WORD данные кавычки, а затем просто копируем и тот и другой вид кавычек и вставляем в TRichEdit например и Lines[0] TRichEdit мы записываем в строковую переменную, а затем определяем ord(str(1)), ord(str(2)). То есть в str у нас кавычки <<>>. Соответственно под индексом 1 одна кавычка, под индексом 2 вторая. Результат будет целого типа, то есть выведется код данных символов. Нам необходимо их запомнить, так как мы будем на них заменять с помощью процедуры chr. Для этого на TButton событие OnClick я написал следующий код
procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
i,j:integer;
begin
try
str:='@$#"привет как дела"""""привет нормально""""""';
i:=1;
while (i<=length(str)) do
begin
if str[i]='"' then
begin
str[i]:=chr(171);
j:=pos('"',str);
if j<>0 then
str[j]:=chr(187);
end;
inc(i);
end;
ShowMessage(str);
except
on e:Exception do
end;
end;
Если честно не надо было мне менять такие кавычки на такие, и не решал эту проблему я никак, но может как-то можно решить ее по-другому и побыстрее было бы здорово, если бы кто-то подсказал.