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

Процедурка:
Код:
procedure StringFormat(aEdit:TMemo; CharAllo: array of Char; MaxCharCount:Byte);
var
  i,j:byte;
  Result:ShortString;
begin
Result:='';
for i:=1 to Length(aEdit.Text) do
    for j:=0 to Length(CharAllo) do
        if aEdit.Text[i]=CharAllo[j] then
          begin
            Result:=Result+aEdit.Text[i];
            break;
          end;
Delete(Result, MaxCharCount+1, Length(Result)-MaxCharCount);
if Result='' then Result:=CharAllo[0];
aEdit.Text:=Result;
aEdit.SelStart:=MaxCharCount+1;
aEdit.SelLength:=1;
end;

Использовать?
Код:
procedure TForm1.Edit3Change(Sender: TObject);
var
  CA: array [0..9] of Char;
  i:byte;
begin
for i:=0 to 9 do CA[i]:=Char(48+i);
StringFormat(TEdit(Sender),CA,3);
end;
Ответить с цитированием