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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2010, 21:42   #11
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Вот в твоём случае надо делать. Но, если грамотно, то нужно еще организовывать поиск по компоненту:
Код:
var
  d,d2:integer;
  s,s1:string;
begin
  //Сначала тебе надо получить строку. Я ее явно написал
  s:='ПРИВЕТ [В] МЕДВЕД[/B]!!!';
  s1:=s;
  d:=pos('[В]', s); //Ищешь позицию открывающего тега
  delete(s,1,d+3);  //Удаляешь открывающий тег
  d2:=pos('[/В]', s); //Ищешь позицию закрывающего
  delete(s,d2,length(s)); //Удаляешь закрывающий тег. в переменной s осталось то, что было между ними
  RichEdit1.SelStart:=pos('[В]', s1)-1; //Выделяешь текст где есть
  RichEdit1.SelLength:=pos('[/В]', s1)-4; //теги
  richedit1.SelText:=s; //и заменяешь текст с тегами, на текст без оных
  //дальше опять получаешь строку и присваиваешь ее s1 . Я ее опять явно написал
  s1:='ПРИВЕТ МЕДВЕД!!!';
  RichEdit1.SelStart:=pos(s, s1)-1;// Выделяешь текст
  RichEdit1.SelLength:=pos(s, s1)-2; //который только что вставил
  RichEdit1.SelAttributes.Style:=RichEdit1.SelAttributes.Style+[fsBold];//и делаешь его жирным.
end;
Надеюсь разберешься.... И не забудь прочитать свою подпись и применить на практике
Никогда не знаешь, где тебе повезет... (Фрай)

Последний раз редактировалось DIgorevich; 06.08.2010 в 21:44.
DIgorevich вне форума Ответить с цитированием
Старый 06.08.2010, 21:58   #12
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

очень странно, почему он только '!!' делает жирными? и закрывающий тег не удаляет..
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 06.08.2010, 21:59   #13
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

полный код приведи
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 06.08.2010, 22:01   #14
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

procedure TForm1.Button1Click(Sender: TObject);
var
d,d2:integer;
s,s1:string;
begin
//Сначала тебе надо получить строку. Я ее явно написал
s:='ПРИВЕТ [В] МЕДВЕД[/B]!!!';
s1:=s;
d:=pos('[В]', s); //Ищешь позицию открывающего тега
delete(s,1,d+3); //Удаляешь открывающий тег
d2:=pos('[/В]', s); //Ищешь позицию закрывающего
delete(s,d2,length(s)); //Удаляешь закрывающий тег. в переменной s осталось то, что было между ними
RichEdit1.SelStart:=pos('[В]', s1)-1; //Выделяешь текст где есть
RichEdit1.SelLength:=pos('[/В]', s1)-4; //теги
richedit1.SelText:=s; //и заменяешь текст с тегами, на текст без оных
//дальше опять получаешь строку и присваиваешь ее s1 . Я ее опять явно написал
s1:='ПРИВЕТ МЕДВЕД!!!';
RichEdit1.SelStart:=pos(s, s1)-1;// Выделяешь текст
RichEdit1.SelLength:=pos(s, s1)-2; //который только что вставил
RichEdit1.SelAttributes.Style:=Rich Edit1.SelAttributes.Style+[fsBold];//и делаешь его жирным.
end;
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 06.08.2010, 22:07   #15
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

В общем, ты просто скопировал мой код... Но учти, что я, для того чтобы оформлялось в посте нормально теги писал русской буквой Измени в Делфи в коде все эти [В] [/В] на одни и те же. А то получается, что в одной строке английская В, в другой русская.
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 06.08.2010, 22:09   #16
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Вот не большая модификация:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  d,d2:integer;
  s,s1:string;
begin
  s:='ПРИВЕТ [В] МЕДВЕД[/B]!!!';
  s1:=s;
  d:=pos('[В]', s);
  delete(s,d,3);
  d2:=pos('[/B]', s);
  delete(s,d2,4);
  richedit1.SelText:=s;
  RichEdit1.SelStart:=d;
  RichEdit1.SelLength:=(d2 -d -1);
  RichEdit1.SelAttributes.Style:=RichEdit1.SelAttributes.Style+[fsBold];
end;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 06.08.2010, 22:10   #17
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Блин теперь еще страннее работает остается только МЕДВЕД, первый раз оно не жирным, второй раз если нажать - жирным..
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 06.08.2010, 22:11   #18
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
Вот не большая модификация:
Проверьте, код не работает.

Цитата:
Блин теперь еще страннее работает остается только МЕДВЕД, первый раз оно не жирным, второй раз если нажать - жирным..
Код HTML:
var
d,d2:integer;
s,s1:string;
begin
s:='Привет [B]Медвед[/B]!!!';
s1:=s;
d:=pos('[B]', s);
delete(s,1,d+3);
d2:=pos('[/B]', s);
delete(s,d2,length(s));
RichEdit1.SelStart:=pos('[B]', s1)-1;
RichEdit1.SelLength:=pos('[/B]', s1)-4;
richedit1.SelText:=s;
s1:='Привет Медвед!!!';
RichEdit1.SelStart:=pos(s, s1)-1;
RichEdit1.SelLength:=pos(s, s1)-2;
RichEdit1.SelAttributes.Style:=RichEdit1.SelAttributes.Style+[fsBold];
Мой код(скопировал) и в ричэдите строка находится
Код HTML:
Привет [B]Медвед[/B]!!!
Никогда не знаешь, где тебе повезет... (Фрай)

Последний раз редактировалось DIgorevich; 06.08.2010 в 22:15.
DIgorevich вне форума Ответить с цитированием
Старый 06.08.2010, 22:12   #19
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Цитата:
procedure TForm1.Button1Click(Sender: TObject);
var
d,d2:integer;
s,s1:string;
begin
s:='ПРИВЕТ [В] МЕДВЕД[/B]!!!';
s1:=s;
d:=pos('[В]', s);
delete(s,d,3);
d2:=pos('[/B]', s);
delete(s,d2,4);
richedit1.SelText:=s;
RichEdit1.SelStart:=d;
RichEdit1.SelLength:=(d2 -d -1);
RichEdit1.SelAttributes.Style:=Rich Edit1.SelAttributes.Style+[fsBold];
end;
Спасибо огромное!) Работает...
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 06.08.2010, 22:15   #20
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Ну я не знаю я запарился его проверять уже!
Изображения
Тип файла: jpg str.jpg (8.9 Кб, 47 просмотров)
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подправьте код программы сразу В НОВОМ ЧИСТОМ ЭКРАНЕ ОКНЕ ВЫВОДИЛОСЬ СОДЕРЖИМОЕ ФАЙЛА t.txt Kolyan56577 Помощь студентам 3 22.06.2010 17:09
подправьте код Delphi 7 savra Помощь студентам 0 14.12.2009 10:41
Подправьте макрос. Просьба kzld Microsoft Office Excel 5 04.08.2009 17:52
Подправьте мой код пожалуйста Volchara Общие вопросы C/C++ 5 06.04.2009 17:05