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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.07.2009, 20:23   #1
Droid
Форумчанин
 
Аватар для Droid
 
Регистрация: 24.04.2008
Сообщений: 440
По умолчанию Условию if ... then мешают пробелы

Мне надо, так чтобы когда пользователь пишет ЦПТП или ЦПТП + пробел, или много пробелов, или до надписи ЦПТП есть пробелы, а после них ЦПТП, чтоб это условие сохранялось. Но пробелы на KeyPress убирать не надо )
Код:
procedure TFD_ML.Edit1Change(Sender: TObject);
begin
if edit1.Text='ЦПТП' then
  begin
    listbox1.Visible:=false;
    label2.Visible:=false;
    sl:=0;
  end;
end;
1 старый программист, лучше новых 2-х
Droid вне форума Ответить с цитированием
Старый 12.07.2009, 20:25   #2
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию

Проще написать функцию, которая будет возварщать строку очищенную от пробелов и ее значение уже сравнивать с тем, что надо.
Страх это слабость и потому, кто испугался уже побежден.
Mixasik вне форума Ответить с цитированием
Старый 12.07.2009, 20:27   #3
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию

Trim - удаляет начальные и конечные пробелы в строке
http://delphibasics.ru/Trim.php
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Старый 12.07.2009, 20:29   #4
Evgeniy26
Форумчанин
 
Аватар для Evgeniy26
 
Регистрация: 29.05.2009
Сообщений: 384
По умолчанию

Код:
procedure TFD_ML.Edit1Change(Sender: TObject);
  function Del(Str: String): String;
  begin
     while Pos(' ', Str) > 0 do
        Delete(Str, Pos(' ', Str), 1);
     Result := Str;
  end;
begin
if Del(edit1.Text)='ЦПТП' then
  begin
    listbox1.Visible:=false;
    label2.Visible:=false;
    sl:=0;
  end;
end;
Вспомнить не мог - Trim, AlDelta - спасибо напомнил.

Последний раз редактировалось Evgeniy26; 12.07.2009 в 20:34.
Evgeniy26 вне форума Ответить с цитированием
Старый 12.07.2009, 20:30   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

функция Pos
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.07.2009, 21:06   #6
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
По умолчанию

Удалить все пробелы во всей строке
Код:
string1 := stringreplace(string1,' ','',[rfreplaceall]);
Lime вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi] Пробелы Рамик Помощь студентам 13 09.07.2009 19:12
убрать пробелы zetrix Microsoft Office Excel 9 10.03.2009 10:03
Где пробелы ?!!! Evgenijj О форуме и сайтах клуба 4 07.03.2009 17:03
объединение таблиц по условию rexec Microsoft Office Excel 2 25.05.2008 15:42