Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi
Войти
Регистрация
Восстановить пароль
 
Илья01
10 / 10 / 5
Регистрация: 30.12.2010
Сообщений: 379
1

Программа для подкраски html кода, процедура написана, незациклить(

24.08.2012, 15:45. Просмотров 486. Ответов 2
Метки нет (Все метки)

Здравствуйте, делаю программа для подсвечивания html кода. Код находится в rich editor'e, функция меняет цвет букв.
Вот функция:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
label 1,2;
var
  i,one,two:integer;
  s,text:string;
begin
  form1.redt1.SelStart := 0;
  form1.redt1.SelLength := length(form1.redt1.text);
  form1.redt1.SelAttributes.Color := rgb(0,0,0);
  i:=0;
  1:
  repeat
    i:=i+1;
    s:=copy(form1.redt1.Text,i,1);
  until (copy(form1.redt1.Text,i,1)='"') or (ords(s)=39) or (copy(form1.redt1.Text,i,1)='>') or (copy(form1.redt1.Text,i,1)='<') or (i>length(form1.redt1.text));
  if (copy(form1.redt1.Text,i,1)='<') then begin
    form1.redt1.SelStart := i-1;
    form1.redt1.SelLength := 1;
    form1.redt1.SelAttributes.Color := rgb(0,0,250);
    repeat
      i:=i+1;
    until (copy(form1.redt1.Text,i,1)<>' ') or (i>length(form1.redt1.text));
    one:=i;
    //s:='';
    repeat
      i:=i+1;
    until (copy(form1.redt1.text,i,1)=' ') or (copy(form1.redt1.text,i,1)='>') or (copy(form1.redt1.text,i,1)='<') or (i>length(form1.redt1.Text));
    form1.redt1.SelStart := one-1;
    form1.redt1.SelLength := i-one;
    form1.redt1.SelAttributes.Color := rgb(250,0,0);
    i:=i-1;
    goto 1;
  end;
  if (copy(form1.redt1.Text,i,1)='>') then begin
    form1.redt1.SelStart := i-1;
    form1.redt1.SelLength := 1;
    form1.redt1.SelAttributes.Color := rgb(0,0,250);
    goto 1;
  end;
  s:=copy(form1.redt1.Text,i,1);
  if (copy(form1.redt1.Text,i,1)='"') or (ords(s)=39) then begin
    one:=i;
    repeat
      i:=i+1;
      s:=copy(form1.redt1.Text,i,1);
    until (s='"') or (ord(s[1])=39) or (ords(s)=13) or (i>length(form1.redt1.text));
    s:=copy(form1.redt1.Text,i,1);
    if (s='"') or (ord(s[1])=39) or (ords(s)=13) then begin
      form1.redt1.SelStart := one-1;
      form1.redt1.SelLength := i-one+1;
      form1.redt1.SelAttributes.Color := rgb(150,50,0);
    end;
    goto 1;
  end;
  2:
end;
Приложил архив в котором эта функция срабатывает по нажатию кнопки.
Мне нужно сделать чтобы не нужно было все время нажимать на эту кнопку. Я хотел зациклить эту процедуру в отдельном потоке (если html код длинный то тормозил без потока) но этого не получилась, это я тоже приложил.

Помогите пожалуйста, как осуществить такое зацикливание?
0
Вложения
Тип файла: zip архив с исходниками.zip (419.3 Кб, 5 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2012, 15:45
Ответы с готовыми решениями:

На каком языке написана программа?
ПРивет!Я скачал программу Restorator 2007 которая позволяет редактировать Re файлы.Открыл...

Простая программа на дельфи для распознания QR-кода
Здарова всем. Нужна простая программа/или пример, на дельфи для распознания QR-кода. И что бы...

Декомпиляция АРМ программа написана на Delphi 7
Здравствуйте!Помогите пожалуйста получить полный доступ на редактирование, буду очень...

Циклы: правильно ли написана программа?
Лабораторная работа по циклам: 1.Дано целое число N(&gt;1). Последовательность вещественных чисел Ак...

Программа для парсинга HTML кода
Изучал с++, теперь хочу создавать приложения с интерфейсом. Выбрал windows forms, но не могу понять...

2
Илья01
10 / 10 / 5
Регистрация: 30.12.2010
Сообщений: 379
24.08.2012, 18:00  [ТС] 2
Я прикрутил ф-ю в нажатие клавиши, вопрос исчерпан.
У меня возник другой, не подскажите, можно ли менять цвет текста не выделяя его так:
Delphi
1
2
3
form1.redt1.SelStart := 1;
form1.redt1.SelLength := 5;
form1.redt1.SelAttributes.Color := rgb(150,50,0);
?

Добавлено через 15 минут
все, второй вопрос тоже решен, модры, удалите кто нибудь вопрос

Добавлено через 12 секунд
все, второй вопрос тоже решен, модры, удалите кто нибудь вопрос
0
Alex_pac
1292 / 698 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
24.08.2012, 21:21 3
SynEdit компонент подсветки кода. На нем написан Notepad++

для версий до 2007 http://sourceforge.net/projects/syne...le%20Releases/
для версий с юникодом (от 2009) http://mh-nexus.de/downloads/UniSynEdit.zip

http://tlt-images1.narod.ru/img/4eb83b7d79100.jpg << скриншот
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.08.2012, 21:21

Программа для изменения html кода в браузере страниц
программа для изменения html кода в браузере страниц.есть ли такая программа

Программа для трёх маршрутов. Правильно ли написана программа?
Всем здрасьте! Программа для трёх маршрутов. Кому не сложно подскажите правильно ли я написал?var ...

Правильно ли написана общая процедура
Посмотрите пожалуйста правильно ли написана процедура. Просто когда вызываю её в Delphi то ошибка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru