Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.02.2012, 16:17   #1
munthrekosh
Пользователь
 
Аватар для munthrekosh
 
Регистрация: 12.11.2011
Сообщений: 80
По умолчанию RichEdit отслеживаем символ стоящий после курсора (Delphi 7)

Из RichEdit нужно брать символ стоящий после курсора и возвращать код этого символа с помощью ord в StatusBar.Panels[4]...Сижу уже над этим последним рывком 2 часа. Прочитал и поискал я достаточно, но так до меня и не дошло как это можно осуществить. Помогите
Ш.Р.Ю.-программист! йопта!!!
munthrekosh вне форума Ответить с цитированием
Старый 29.02.2012, 16:29   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

что то типа
Код:
Edit1.Text := StrToInt(ord(copy(RE1.Lines.Strings[RE1.CaretPos.Y], RE1.CaretPos.X, 1)))
Где RE1 это ричедит сам!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 29.02.2012, 16:32   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

RichEdit.SelStart и будет относительная позиция курсора в тексте, если только нет выделения
Цитата:
С выделением тоже работает
В общем да, только это будет позиция начала выделенного участка
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 29.02.2012 в 16:48.
Аватар вне форума Ответить с цитированием
Старый 29.02.2012, 16:34   #4
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Можно слегка попроще:
Код:
procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
begin
  StatusBar1.Panels[4].Text :=
    IntToStr(Ord(RichEdit1.Text[RichEdit1.SelStart+1]));
end;
2 Аватар. С выделением тоже работает. Ведь позиция курсора не меняется при выделении текста.
Прик вне форума Ответить с цитированием
Старый 29.02.2012, 17:03   #5
munthrekosh
Пользователь
 
Аватар для munthrekosh
 
Регистрация: 12.11.2011
Сообщений: 80
По умолчанию

Не робит ни то ни другое
Ш.Р.Ю.-программист! йопта!!!
munthrekosh вне форума Ответить с цитированием
Старый 29.02.2012, 17:14   #6
munthrekosh
Пользователь
 
Аватар для munthrekosh
 
Регистрация: 12.11.2011
Сообщений: 80
По умолчанию

есть ли аналог copy который вырезал бы чисто один символ? а то обычный copy возвращает string, а ord работает только с char
Ш.Р.Ю.-программист! йопта!!!
munthrekosh вне форума Ответить с цитированием
Старый 29.02.2012, 17:44   #7
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

У меня робит.
Функция Copy может "вырезать" любое количество символов, в т.ч. и одиночный.
См. справку по функции.
Прик вне форума Ответить с цитированием
Старый 29.02.2012, 17:50   #8
munthrekosh
Пользователь
 
Аватар для munthrekosh
 
Регистрация: 12.11.2011
Сообщений: 80
По умолчанию

Цитата:
Сообщение от Прик Посмотреть сообщение
У меня робит.
Функция Copy может "вырезать" любое количество символов, в т.ч. и одиночный.
См. справку по функции.
Но возвращает то он string. А нужен char

Кстати, прик, на твой код выскакивает следующие
Ш.Р.Ю.-программист! йопта!!!

Последний раз редактировалось munthrekosh; 29.02.2012 в 17:53.
munthrekosh вне форума Ответить с цитированием
Старый 29.02.2012, 18:00   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
StatusBar1.Panels[4].Text :=RichEdit1.Text[RichEdit1.SelStart+1];
ИЛИ
StatusBar1.Panels[4].Text :=Copy(RichEdit1.Text,RichEdit1.SelStart+1,1);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.02.2012, 18:04   #10
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Код:
Char(RichEdit1.Text[RichEdit1.SelStart+1]);
Прик вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из текста удалить все вхождения некоторого наперед заданного символа и символ, стоящий в тексте перед ним LittleStudent Помощь студентам 1 15.04.2011 00:46
Добавить символ в местонахождении курсора в memo (delphi) AnKor94 Общие вопросы Delphi 3 07.03.2010 23:16
Delphi 7 вставка текста в Richedit в позицию курсора newbee-dust Помощь студентам 3 10.06.2009 12:58
RichEdit Координаты Курсора nusik Общие вопросы Delphi 5 25.04.2009 23:24
Положение курсора в RichEdit Utkin Компоненты Delphi 5 09.02.2009 10:48