![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Просьба написать программу для работы с текстом. Собственно сама задумка:
Поле для ввода текста, цветовая панель, еще одно поле с готовым результатом, поле для ввода значения и исполняющая кнопка. Суть такова, что Имеется текст который нужно поделить на символы и упаковать в теги. Например фраза "Красивый текст" результат должен выглядеть так [color:Краси;1 0 1][color:вый т;1 1 0][color:екст;1 0 1] тоесть текст делится по 5 символов и заключается в теги, на сколько будет делиться можно будет указывать в отдельном поле. Например если поставить 2 то результат будет таким [color:Кр;1 0 0][color:ас;1 0 0][color:ив;0 0 1][color:ый;0 0 1][color: т;0 0 1][color:ек;1 0 1][color:ст;1 1 1] Цветовая панель ограничена, в ней только эти цвета могут быть 0 0 1 - синий 0 1 1 - голубой 1 1 1 - белый 1 1 0 - желтый 1 0 0 - красный 1 0 1 - фиолетовый 0 1 0 - зеленый 0 0 0 - черный Следующий шаг в поле где вводим текст нужно сделать чтоб при выделении текста можно было нажать на нужный цвет и во втором поле был нужный результат. Нужно также поставить ограничение на колво символов выходящего результата, он не должен превышать 255 символов, если 255 то предупредить. Тоесть если каждая буква отдельным текстом то соответственно и полученый текст будет короче. Думаю объяснил доходчиво. Извиняюсь за наглость если это слишком большой запрос. |
#2
|
|||
|
|||
![]() Наверное в раздел работы или халявы
|
#3
|
||||
|
||||
![]() тут такой есть?
|
#4
|
||||
|
||||
![]() Да, есть.
I II III IV V VI VII VIII IX X — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#5
|
||||
|
||||
![]() Цитата:
Код:
var Col: array [0..7] of TColor = (clBlue,clSkyBlue,clWhite,clYellow,clRed,clPurple,clGreen,clBlack); mean: array [0..7] of string = ('0 0 1','0 1 1','1 1 1','1 1 0','1 0 0','1 0 1','0 1 0','0 0 0'); procedure TForm1.Button1Click(Sender: TObject); var i,b: integer; str,tmp,m: string; flg: boolean; begin tmp:=Edit1.Text; RichEdit1.Lines.BeginUpdate; b:=0; for i:=1 to Length(tmp) do begin if tmp[i]=':' then b:=i; if tmp[i]=';' then begin str:=Copy(tmp,b+1,i-(b+1)); m:=Copy(tmp,i+1,5); RichEdit1.Text:=RichEdit1.Text+str; RichEdit1.SelStart:= Length(RichEdit1.Text) - Length(str); RichEdit1.SelLength := Length(RichEdit1.Text); for b:= Low(mean) to High(mean) do if m = mean[b] then RichEdit1.SelAttributes.Color:=Col[b]; end; end; RichEdit1.Lines.EndUpdate; end; Цитата:
Код:
procedure TForm1.Button2Click(Sender: TObject); var i, b: integer; str: string; begin str:='[color:'; b:=0; for i:=1 to length(Edit2.Text) do begin str:=str+Edit2.Text[i]; inc(b); if b= StrToInt(Edit3.Text)then begin b:=0; str:= str+';0 0 0][color:'; end; end; Edit2.Text:=str+';0 0 0]'; end; Цитата:
Код:
procedure TForm1.ColorBox1Change(Sender: TObject); begin RichEdit1.SelAttributes.Color:= ColorBox1.Selected; end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 09.03.2013 в 04:31. |