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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.09.2008, 13:16   #1
Karl_Karlovi4
Пользователь
 
Регистрация: 28.11.2007
Сообщений: 21
Восклицание Поиск и удаление символа в строке

Подскажите пожалуйста как в компоненте edit найти и удалить опеределённый символ ? Привер: в поле edit введено "1122:кк" , как удалить все знаки до ":" ? заранее спасибо.
Karl_Karlovi4 вне форума Ответить с цитированием
Старый 03.09.2008, 17:33   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  d: integer;
  s: string;
begin
  d := pos(':', edit1.text);//ищем позицию
  s := edit1.text;//читаем едит
  delete(s, 1, d);//удаляем из строки
  edit1.text := s;//записываем едит
end;
Совсем поиском не пользуемся...

Последний раз редактировалось eoln; 03.09.2008 в 17:41.
eoln вне форума Ответить с цитированием
Старый 03.09.2008, 19:24   #3
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 edit1.text := copy(Edit1.Text, pos(':', edit1.text)+1,
                    length(Edit1.Text)-pos(':', edit1.text)
                    );//записываем едит
end;
Alter вне форума Ответить с цитированием
Старый 04.09.2008, 08:05   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Цитата:
Сообщение от Karl_Karlovi4 Посмотреть сообщение
как удалить все знаки до ":" ? заранее спасибо.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
 s:=edit1.Text;
 Delete(s,1,pos(':',s)-1);
 edit1.Text:=s;
end;
SERG1980 вне форума Ответить с цитированием
Старый 26.10.2011, 11:13   #5
tarasdj
Пользователь
 
Регистрация: 09.09.2011
Сообщений: 12
По умолчанию

Цитата:
procedure TForm1.Button1Click(Sender: TObject);
var k:string;
i,j:integer;
begin
k:=Edit1.Text;
i:=Length(k);
for i:=1 to i do begin
j:=pos(' ',k);
Delete(k,j,1);
edit2.Text:=k;
end;
end;

end.
Рабочий код. Те все не работают.
tarasdj вне форума Ответить с цитированием
Старый 26.10.2011, 11:27   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Рабочий код. Те все не работают.
глупости.
если задача стоит так:
Цитата:
как удалить все знаки до ":"
то ВСЕ варианты предложеные выше РАБОЧИЕ!

единственное, я бы добавил проверку на наличие двоеточия в строке:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
     p1 : integer;
begin
 p1 := pos(':',edit1.Text);
 if p1>1 then begin
   s:=edit1.Text;
   Delete(s,1,p1-1);
   edit1.Text:=s;
 end; 
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.10.2011, 12:08   #7
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

http://www.delphisources.ru/pages/fa...place.php.html
Так не кошерно? Или производительность критична?
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 26.10.2011, 12:49   #8
tarasdj
Пользователь
 
Регистрация: 09.09.2011
Сообщений: 12
По умолчанию

Выше изложеные коды удаляют всю строку до символа ":", а я вам предлагаю код который удаляет только все символы ":" в строке.

P.S. В строчку j:=pos(':',k); заносим символ корый надо удалить из строки!!!
tarasdj вне форума Ответить с цитированием
Старый 26.10.2011, 12:51   #9
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Цитата:
Сообщение от tarasdj Посмотреть сообщение
Выше изложеные коды удаляют всю строку до символа ":", а я вам предлагаю код который удаляет только все символы ":" в строке.

P.S. В строчку j:=pos(':',k); заносим символ корый надо удалить из строки!!!
StringReplace заюзать религия не позволяет?
psycho-coder вне форума Ответить с цитированием
Старый 26.10.2011, 12:52   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Выше изложеные коды удаляют всю строку до символа ":", а я вам предлагаю код который удаляет только все символы ":" в строке.
а вы перечитайте то просьбу ТС.
да и ваш код не эффективен.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление символа в строке Fantom Общие вопросы Delphi 2 23.06.2008 16:03
Удаление символа в ячейке Flangini Microsoft Office Excel 2 05.05.2008 14:02
удаление символа окончания строки Xozer SQL, базы данных 1 07.02.2008 12:19
Поиск текста в строке CoDeR Общие вопросы Delphi 8 02.10.2007 01:01
Поиск символа в Edit1.text Alar Компоненты Delphi 0 29.10.2006 19:02