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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2009, 16:04   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию Ограничение по количеству символов

Пытался сделать ограничение на вставку текста в Memo1 если оно больше 300 символов. Получилось но не очень.
Возникшие проблемы:
1. Иногда ругается на текст в котором 4 символа
2. Если скопировать в Memo2 тест откуда-нибудь (количество символов 10000) то оно свободно проходит
3. Если текст помещать с помощью Enter, то после подтверждения ошибки и новго нажатия на Enter каретка переходит на следующую строку.
Вложения
Тип файла: rar exp.rar (6.7 Кб, 8 просмотров)
Shouldercannon вне форума Ответить с цитированием
Старый 27.04.2009, 16:24   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вот что накатал:
Код:
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var s,buf : string;
len,buflen : longint;
p : longint;
begin
if ((Key = ord('V')) and (ssCtrl in Shift)) then
 begin
 if Clipboard.HasFormat(CF_TEXT) then
  begin
  s := Memo1.Text;
  buf := Clipboard.AsText;
  p := Memo1.SelStart;
  len := length(s);
  Clipboard.AsText := copy(buf,1,300-len);
  end;
 key := 0;
 end;

end;
Вставляется из буфера ровно столько, сколько не хватает до 300.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 27.04.2009, 16:29   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А не проще выставить для Мемо MaxLength?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.04.2009, 16:33   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Stilet
А не проще выставить для Мемо MaxLength?
Действительно ) Что-то забыл про него..
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ограничение на ввод символов ANTI1 Общие вопросы Delphi 4 17.12.2008 16:30
Ограничение по вводу символов в Edit-e Alexij Общие вопросы Delphi 1 26.06.2008 16:27
Ограничение ввода символов. Delphi Alex_2017 Помощь студентам 0 04.06.2008 17:26
Ограничение на вводимое кол-во символов??? serjii Microsoft Office Excel 3 05.10.2007 10:55