Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.07.2021, 16:07
Lighting Lighting вне форума
Прохожий
 
Регистрация: 18.07.2021
Сообщения: 5
Версия Delphi: Delphi 10.4
Репутация: 10
По умолчанию Как в окне JvRichEdit определить надстрочные и подстрочные символы?

Не могу сам решить эту задачу.
Есть текст, в котором надо выловить надстрочные и подстрочные символы. Как я понял, надо использовать EM_GETCHARFORMAT, но как, я не пойму.
Я использую библиотеку JEDI. Добавил в uses помимо JvRichEdit еще и RichEdit, потому как без него возникает ошибка в объявлении переменной CF:TCharFormat2;.
Пробую отслеживать dwMask и yOffset (да и другие варианты, которые нашел в примерах в интернете), но это не срабатывает...
Помогите решить задачу или посоветуйте учебник, в котором это было бы расписано, если такой существует, я вот найти не могу.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer; CF:TCharFormat2;
 
begin
for i:=1 to Length(RichEdit1.Text) do begin  //Искать по всем символам всего текста
 RichEdit1.SelStart:=i;
 
// FillChar(CF, SizeOf(CF), 0);
// CF.cbSize:=SizeOf(CF);
// CF.dwMask:=CFM_OFFSET;
// CF.dwMask:=CFE_SUPERSCRIPT;
// RichEdit1.Perform(EM_GETCHARFORMAT, SCF_SELECTION, LPARAM(@CF));
 
FillChar(CF, SizeOf(CF), 0);
 
 if CF.dwMask = CFM_SUPERSCRIPT then        //Если текущий символ надстрочный, то...
 begin
  S1:=S1+RichEdit1.Text[i];                 //Все надстрочные символы в одну переменную
 end;
 
 if CF.yOffset <0 then                      //Если текущий символ подстрочный, то...
 begin
  S2:=S2+RichEdit1.Text[i];                 //Все подстрочные символы в одну переменную
 end;
 
end;
 
RichEdit2.Lines.Add('Надстрочные: '+S1);
RichEdit2.Lines.Add('Подстрочные: '+S2);
end;
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:21.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter