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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 28.01.2008, 21:16   #1
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
Вопрос Алгоритм (RichEdit,inifiles,работа с текстом)

1)Подскажите алгоритм .. точнее его реализацию ...
Пишу чят .. имеются смайлы каторые должны вставлятся в ричэдит ..

Процедура вставки смайлов работает только вот вставляет в текущюю позицию курсора(мигающяя палка )

Я немогу найти ответ , как сделать чтобы добавлялись все смайлы в одну строку ...

Допустим я написал "Привет вася *hi* "
При этом ясно что добавится в чят чтото типа Привет вася
Тут всё понятно чясть текста и 1 код смайла ...

А если будет так "Привет вася *!* Что делаеш ? *?* соро буду *time**time**time* "
То необходимо как я понимаю сначяла разбить сообщение на Текст и Коды смайлов , патом проверять каждый кусок , если текст то добавляем если смайл , то ищем какой это image и с помощью процедуры добавляем ... но вот в чём проблема , если в richedit1.lines[19]уже вставлен смайл то

richedit1.lines[19].text := richedit1.lines[19] + PRMessage;
PS: PRMessage - стринг;

Уже не работает .. тьекст то добавляется , но вставленные смайлы превращяются в нечто делое Досообразное ...(((

Каким способом мне пользоватся чтобы корректно добавить цветное слово в конкретное место в рич эдите ???

Мой алгоритм (думаю следует так)
а)Разбиваем полученное сообщение на массив типа текст код смайла текст код смайла ... строковый массив точнее tstringlist.
б)По циклу проверяем каждый элемент tstringlist'а если он код смайла то ищем коду соответственный битмап и вставляем в самый конец ричэдита , если он не код то добавляем цветное слово в самый конец рич эдита

Отсюда вапрос : как вставить цветное слово в ричэдит в текущюю позицию и не будут ли уже вставленные смайлы "Криво" вохдействовать на определение позиции курсора в ричэдите?
2) Имеется ини файл с описанием пакета смайлов ... тоесть
Путь с изображению - код смайла
например
*hi*=D:\smiles\hi.bmp
итд ... нужно при входе в чят добавить в комбобокс название пакета смайлов и при его переключении менять (их стандартное количество) смайлы на те каторые указаны в ини файлы , только так чтобы они менялись ...
Это вроде понятно , но можно ли вычислить сколько значений имеется в какомто разведе
Код:
[SETTING]
EjectCD=1
TestCD=1
PerformOPC=1
тут например в разделе [SETTING] есть три значения ... можно ли узнать сколько их , и пользоватся SETTING как массивом читая SETTING[2] как стринг итд ...???

Всем откликнувшымся БОЛЬШОЕ СПАСИБО ! надеюсь вы оставите полезные отзывы ...
---
GAGARIN-NEW вне форума
Старый 28.01.2008, 22:55   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Честно говоря зачем столько писать ? Используйте SelStart, SelLength, SelText Про вставки изображений в обогащенный формат текста в сети море примеров.
BOBAH13 вне форума
Старый 28.01.2008, 23:11   #3
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
По умолчанию

Столько писать чтобы было понятно что куда я хачю присобачить )))
Можно пару примитивных примеров ? в Делфи ворлд есть пример вставки цветной строки ... я переделаю под вставку слова(точнее не строки), но у меня возникла праблема с самой вставкой текста ане добавления его...
Спасибо
---
GAGARIN-NEW вне форума
Старый 28.01.2008, 23:17   #4
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

На моей страничке есть пример чата старенького, там как раз то что Вам нужно
BOBAH13 вне форума
Старый 29.01.2008, 00:53   #5
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
Смех

Цитата:
Сообщение от BOBAH13 Посмотреть сообщение
На моей страничке есть пример чата старенького, там как раз то что Вам нужно
Скачял исходники чята ... если прочесть всё уйдёт примерно день)
ЗЫ: У меня не нашлось около 5 компонентов ...
ЗЫ2: Я пытаюсь писать на стандартных компонентах ... коегде использовал Alphaskins для красоты)

Напишите пожалуйста 3 функции с применением вышенаписанного ...
---
GAGARIN-NEW вне форума
Старый 29.01.2008, 09:23   #6
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Вы что серьезно ? Вас же интерисовали ричедит вставка смайлов. Я использую там TRxRichEdit... Думаю его и так видно. А потом в среде есть еще поиск так что
BOBAH13 вне форума
Старый 29.01.2008, 09:30   #7
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

В описании public формы все написано:

procedure AddLine(RichEdit:TRxRichEdit; Text,ImageIndex:String;
FontColor:TColor; Bold,Italic,UnderLine:Boolean);
procedure PutBitmap(Images:TImageList; Index:Integer;
RichEdit:TRxRichEdit);
procedure PutSmile(RichEdit:TRxRichEdit; SmileCode : String);
procedure RecursSmiles(RichEdit:TRxRichEdit);
BOBAH13 вне форума
Старый 29.01.2008, 16:09   #8
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
Радость

Цитата:
Сообщение от BOBAH13 Посмотреть сообщение
Вы что серьезно ? Вас же интерисовали ричедит вставка смайлов. Я использую там TRxRichEdit... Думаю его и так видно. А потом в среде есть еще поиск так что
Вообщето у меня всё есть только применить правильно нужно ...
Смайлы вставляются , всё работает только нужно всё это правильно применить , а у меня это и неполучяется ...
1) Ваш пример испольхует RxRichEdit у меня же простой RichEdit
2) У меня вапрос не по теме но про конкретный пример чята : Зачем столько отдельных *.pas файлов?? мне на ум приходит только одно - чтобы не приписывать одинаковые функции в каждой форме ...
/Далее дополню ответ/
---
GAGARIN-NEW вне форума
Старый 29.01.2008, 19:17   #9
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
По умолчанию

Разобрался)
Оказалось всё намного проще чем я думал))
Код:
RichEdit1.SelStart:=Length(RichEdit1.Text);
RichEdit1.SelLength:=0;
RichEdit1.SelAttributes.Size:=24;
RichEdit1.SelAttributes.Name:='Times new roman';
RichEdit1.SelText:='Слово';
Только вот на счёт самого алгоритма.. можно ли его какнбудь оптимизировать ?
---
GAGARIN-NEW вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с текстом string LeoN Общие вопросы Delphi 13 24.09.2008 10:54
работа с текстом pupil Паскаль, Turbo Pascal, PascalABC.NET 4 15.03.2008 14:00
Работа с текстом Sanek_ntsk Общие вопросы C/C++ 10 12.01.2008 19:42
Работа с текстом wwww Общие вопросы Delphi 5 18.12.2007 17:23
работа с текстом (алгоритм шифрования) GAGARIN-NEW Компоненты Delphi 7 18.10.2007 09:48