Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Tmemo описание, Реализация 
:(
    Опции темы
User2103
Дата 22.6.2007, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 22.6.2007

Репутация: нет
Всего: нет



Как обрабатывать строки в мемо подскажите. Мне надо запустить,написать текст и при этом в оnchаnge  проверять наличие подстроки,потом эту подстроку выделить.Как можно это реализовать?Знаю что вопрос тупой,но все равно.Киньте фрагмент кода
PM MAIL   Вверх
SPrograMMer
Дата 23.6.2007, 06:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Спамер :)
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 5.11.2004
Где: Краснодар

Репутация: нет
Всего: 6



Цитата(User2103 @  22.6.2007,  23:26 Найти цитируемый пост)
Как обрабатывать строки в мемо подскажите

Memo1.Lines[I] - I`ая строка в мемо

Цитата(User2103 @  22.6.2007,  23:26 Найти цитируемый пост)
проверять наличие подстроки

Код

If Pos(SubStr,Memo1.Lines[Num])>0 Then
 // Под строка есть
Else
 //Подстроки нет.


Цитата(User2103 @  22.6.2007,  23:26 Найти цитируемый пост)
подстроку выделить

C выделениями работают свойства SelLength, SelStart....


--------------------
животное = зверь
законченный гентушник
PM MAIL ICQ Jabber   Вверх
User2103
Дата 23.6.2007, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 22.6.2007

Репутация: нет
Всего: нет



Я бы проверял линии мемо(как массив строк),но как тогда определить количество линии для обработки ?Как определить конец всего текста в мемо ?На си конец строки $.А тут как?
PM MAIL   Вверх
Poseidon
Дата 23.6.2007, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 9
Всего: 133



Цитата(User2103 @  23.6.2007,  08:54 Найти цитируемый пост)
но как тогда определить количество линии для обработки ?

Memo1.Lines.Count

Цитата(User2103 @  23.6.2007,  08:54 Найти цитируемый пост)
Как определить конец всего текста в мемо ?
Можно определить количество символов. Последний будет концом мемо smile

Length(Memo1.Text)



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
User2103
Дата 23.6.2007, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 22.6.2007

Репутация: нет
Всего: нет



А можно сделать текст жирным(определенное слово в тексте) при обработке onchange. То есть сомтрите, я как бы пишу в мемо текст, затем в ОнЧэнже проверяю строку на наличие подстроки (которые будут например , как массив строк) и затем если оно есть , тоя его сделаю жирным. Например есть зарезервированные слова Tasm, basm, wasm ,masm(массив строк)  и в мемо я пишу : Tasm have two режима , а masm один. Слова :Tasm и masm должны стать жирного шрифта. как лучше сделать: перепечатывать слово(меняя в свойствах font(жирным) , а потом ставить обратно(тонкий)) или есть спец команды?просто не хочу конструировать велосипед ,если он уже готов)))  
PM MAIL   Вверх
Alexeis
Дата 23.6.2007, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



  Это уже не мемо а RichEdit


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
lukas
Дата 23.6.2007, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



User2103, 

хочешь сделать подсветку? Думаю с помощью стандартных компонентов это не получится так красиво и удобно. Через RichEditor - не очень то красиво все получается.


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
Alexeis
Дата 23.6.2007, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



lukas, и что например некрасиво?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
User2103
Дата 24.6.2007, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 22.6.2007

Репутация: нет
Всего: нет



С помощью какого компонента можно это сделать? И как более эффективно реализовать?(можно код не писать , просто алгоритм какой выбрать действий)
PM MAIL   Вверх
User2103
Дата 24.6.2007, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 22.6.2007

Репутация: нет
Всего: нет



А вот.... ещё такой вопрос, как определить номер линии в мемо, там где находится курсор? я хочу попробывать в мемо сделать подсветку))) 
PM MAIL   Вверх
User2103
Дата 24.6.2007, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 22.6.2007

Репутация: нет
Всего: нет



значит вот
Код

procedure TForm1.Memo1Change(Sender: TObject);
var
   LineNumber : integer;
   i:integer;
begin
   LineNumber := SendMessage(Memo1.Handle, EM_LINEFROMCHAR, word(-1), 0);

  for i:=1 to LineNumber-1 do
  If Pos('tasm',Memo1.Lines[i])>0 Then
      memo1.Font.Style:=[fsbold];
end;

жирным становится весь текст, а надо чт бы тока тасм , те как я понимаю наподобии SelLength, SelStart что то надо придумать.
PM MAIL   Вверх
Alexeis
Дата 24.6.2007, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



User2103, говорю же, нужно использовать TRichEdit, текст в мемо может менять стиль только весь целиком.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
User2103
Дата 24.6.2007, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 22.6.2007

Репутация: нет
Всего: нет



Вообщем , да... понял теперь... буду экспериментировать)) спсиб за помощь, хороший форум
PM MAIL   Вверх
0LineGate
Дата 24.6.2007, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 176
Регистрация: 17.2.2007
Где: Россия, Тула

Репутация: 0
Всего: 2



это оченб плхое на подсветку синтаксиса... попробуй SynEdit... мемо в данном случае использовать как минимум глупо  smile 
PM MAIL WWW Skype   Вверх
lukas
Дата 24.6.2007, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



Alexeis

ну например заметно как каретка убегает и возвращается, и постоянные моргания, все таки нужно хотябы сравнить Editor в Любой среде программирования и TRichEditor, как бы сказать, технология редактирования текста немного другая, более удобная для программирования. SysEdit хорошая замена....


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0677 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.