Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.02.2015, 20:06
plazmaser plazmaser вне форума
Прохожий
 
Регистрация: 18.01.2015
Сообщения: 1
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию edit-memo

Сейчас при вводе в едит 1,2,1,2,3,2,1,2,1,1,1 появляется в мемо -красн- т.е. при суммарном количестве
а задача предстоит, чтобы после Пяти! одинаковых цифр появлялся цвет к примеру 1,2,2,2,1,2,2,3,3,3,3,3,1,2 появляется в едит4 -зелен- или 1,1,1,2,2,2,1,2,3,3,1,1,1,1,1,2 -красн- в едит2
Честно говоря зациклился в этих циклах
архив прилагается
заранее благодарю!
Вложения
Тип файла: rar find of red yellow green.rar (7.2 Кбайт, 0 просмотров)
Ответить с цитированием
Этот пользователь сказал Спасибо plazmaser за это полезное сообщение:
MotoArhangel (03.02.2015)
  #2  
Старый 03.02.2015, 17:00
MotoArhangel MotoArhangel вне форума
Новичок
 
Регистрация: 14.10.2012
Сообщения: 58
Версия Delphi: Delphi 10.4
Репутация: 10
По умолчанию

Исходник не смотрел. Скажу одно. можно и без циклов
Используем case of end для подсчета количества той или иной цифры + процедура допустим NextCh.
Как то так:
Код:
case str of 
1:
  begin
     что то делаем;
     NextCh;
  end;
,:
  begin
     что то делаем;
     NextCh;
  end;
.....
end

Для мемо делал так
Код:
procedure NextCh;{ Читать следующий символ }
begin
  if Line = MainForm.MemoListing.Lines.Count
    then Ch := chEOT // если достигнут конец текста, то в Ch заносим признак "конец текста"
  else
    if Pos > Length(MainForm.MemoListing.Lines.Strings[Line])
      then  // если достигнут конец строки, то ...
      begin
        Ch := chEOL; // в Ch заносим признак "конец строки"
        Line := Line + 1; // и переходим к следующей строке
        lineNum:=line; //Сохраняем номер строки
        Pos := 1; // Установили начальную позицию в новой строке
      end
    else  // иначе обрабатываем следующий символ в строке
      begin
        Ch := MainForm.MemoListing.Lines.Strings[Line][Pos];
        Pos:= Pos+ 1; //Переходим на новую позициию
        lineNum:=line+1; //Сохраняем номер строки

      end;
end;

Последний раз редактировалось MotoArhangel, 03.02.2015 в 17:11.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:33.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025