Показать сообщение отдельно
  #14  
Старый 30.03.2011, 09:44
Janom Janom вне форума
Начинающий
 
Регистрация: 04.02.2011
Адрес: Москва
Сообщения: 148
Версия Delphi: 7
Репутация: 133
По умолчанию

Цитата:
Сообщение от link-oln
Нет, мне нужно просто чтобы неможно было 2 плюса вместе поставить... А встречаться в строке он мог сколько угодно раз...
Код:
Function SimbolDel(AEdit:TEdit; Sim:Char; Rp:Byte):boolean;
var i:integer;
    s:String;
    d,z:ShortString;
begin
if AEdit.Text<>'' then
  begin
    s:='';
    d:='';
    z:='';
    for i:=1 to Rp do z:=z+Sim;
    For i:= 1 to Length(AEdit.Text) do
      begin
        if AEdit.Text[i]=Sim then d:=d+AEdit.Text[i] else d:='';
        if d<>z then s:=s+AEdit.Text[i];
      end;
    AEdit.SetFocus;
    AEdit.SelStart:=Length(AEdit.Text);
    AEdit.Text:=s;
  end;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
SimbolDel(TEdit(Sender),'+',2);
end;
параметр Rp - это недопустимое кол-во символов Sim подряд
Ответить с цитированием