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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2011, 14:44   #1
Blood_ghosT
Пользователь
 
Регистрация: 29.07.2011
Сообщений: 92
По умолчанию удаление лишних пробелов или знаков '_' из MaskEdit

Доброго времени форумчане!
Столкнулся с такой проблемой в MaskEdit, существует такая маска
Код:
Maskedit1.EditMask:='9\-\(99999)\-999\-99\-99;1;_';
(это маска обозначает код и номер телефона)!
На кнопке
Код:
edit1.Text:=trim(maskedit1.EditText);
Например я ввожу такой код и номер 8-7212-11-11-11 моя маска выдает 8-7212 -11 -11-11! trim не помогает! Пробовал через edit1.Text:=trim(maskedit1.Text); тоже не дало результатов!
Помогите решить данную проблему!

Код может быть как 4 значный так и 3 и 5, а номер как 7 так и 6 и 5!!

Последний раз редактировалось Blood_ghosT; 07.12.2011 в 14:55.
Blood_ghosT вне форума Ответить с цитированием
Старый 07.12.2011, 15:04   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

trim обрезает пробелы только по краям строки.
Надо завести новую переменную, пройтись по всем символам исходной строки, если не пробел - добавлять символ в новую строку.
Arigato вне форума Ответить с цитированием
Старый 07.12.2011, 15:49   #3
Blood_ghosT
Пользователь
 
Регистрация: 29.07.2011
Сообщений: 92
По умолчанию

Не подскажите как это реализовать!!
Blood_ghosT вне форума Ответить с цитированием
Старый 07.12.2011, 16:24   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Руками...
Arigato вне форума Ответить с цитированием
Старый 07.12.2011, 19:18   #5
Blood_ghosT
Пользователь
 
Регистрация: 29.07.2011
Сообщений: 92
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Руками...
Вот как оно оказывается!! Domo Arigato!! То есть спасибо!!
Blood_ghosT вне форума Ответить с цитированием
Старый 07.12.2011, 19:39   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Как-то так:
Код:
new_str = '';
for i := 1 to Length (str) do
  if str[i] <> ' ' then new_str = new_str + str[i];
Arigato вне форума Ответить с цитированием
Старый 07.12.2011, 20:23   #7
Blood_ghosT
Пользователь
 
Регистрация: 29.07.2011
Сообщений: 92
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Как-то так:
Код:
new_str = '';
for i := 1 to Length (str) do
  if str[i] <> ' ' then new_str = new_str + str[i];
Спасибо за помощь!

1 вариант:
Код:
var str, str1: string;
i: integer;
begin
str1:=maskedit1.EditText;
str:= '';
for i := 1 to Length (str1) do
  if str1[i] <> ' ' then str:= str + str1[i];
  edit1.Text:=str;
при маске
Код:
MaskEdit1.EditMask:='9\-\(99999)\-999\-99\-99;0; ';
2 вариант:
Код:
var str, str1: string;
i: integer;
begin
str1:=maskedit1.EditText;
str:= '';
for i := 1 to Length (str1) do
  if str1[i] <> '_' then str:= str + str1[i];
  edit1.Text:=str;
при маске
Код:
MaskEdit1.EditMask:='9\-\(99999)\-999\-99\-99;0;_';
Blood_ghosT вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление лишних пробелов. Lucky777 Помощь студентам 0 01.12.2010 21:49
Удаление лишних пробелов. qwertytol Общие вопросы C/C++ 5 16.05.2010 15:43
Удаление лишних пробелов. Ввод/вывод в файл. Иван 883 Помощь студентам 13 31.03.2009 19:39