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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2013, 14:58   #11
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Код:
  s := s+' ';  //  в строку s добавляем пробел справа
      e1 := '';  // e1 присвоим пустой символ
Код:

 if trim(e1)<>'' then          // если e1 (с отсеченными пробелами) не равен пустому символу
               Memo1.Lines.Append(e1); // то добавляем его в memo
          e1 := '';
        end
        else e1 := e1 + s[i]; // а иначе к e1 добавляем очередной символ из s

Последний раз редактировалось ZX Spectrum-128; 21.11.2013 в 15:02.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 21.11.2013, 15:29   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ZX Spectrum-128, всё правильно. спасибо за помощь.

хотел бы уточнить (для автора топика) пару моментов.
Цитата:
e1 := ''; // e1 присвоим пустую строку

if trim(e1)<>'' then // если e1 (с отсеченными пробелами) не равен пустой строке
в e1 мы накапливаем очередное слово. Изначально эта переменная должна быть пуста (поэтому и делаем e1 := ''; )
потом, проверяем очередной символ строки и, если он не пробел - то найденный символ добавляем к переменной e1, если же пробел - то полностью сформированное слово из переменной e1 мы помещаем в memo1 и обнуляем переменную e1 для накопления очередного слова.
Именно поэтому мы перед циклом к строке справа дописали дополнительный пробел - чтобы последнее слово тоже обработалось этим кодом.

ну и последнее. строчка if trim(e1)<>'' then нужна для того, чтобы в мемо не добавлялись пустые слова (состоящие исключительно из одних пробелов).

Так стало чуть понятнее?


p.s. для понимания подобных алгоритмов хорошо помогает пошаговая отладка. Поставьте точку останова на первую строчку кода, запустите программу, выведите в Watch нужные переменные (ну i, s, e1) и смотрите, как и что происходит.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск слов в Memo Ol'KA Помощь студентам 4 30.11.2012 01:06
Memo - Enter в виде квадратика.. kta87 Общие вопросы Delphi 2 10.04.2012 14:19
Удаление одинаковых слов в Memo. sxcine Общие вопросы Delphi 7 03.01.2011 12:56
Delphi. Вывод данных через USB AlessOn Помощь студентам 9 02.11.2010 23:21
выход через ESC и блокировка пробела и enter на форме Erick Cartman Общие вопросы Delphi 2 08.03.2010 19:08