Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Edit - длинная строка, сообщение об ошибке 
:(
    Опции темы
MacTep
Дата 26.10.2005, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: 4
Всего: 4



Привет всем!
Как в компоненте Edit после звукового сигнала о том, что нельзя ввести такой длинный текст в него, выдавать сообщение об ошибке? То есть у Edit1 свойство MaxLength равно 10. А я пытаюсь ввести, например, 11-ый символ. После нажатия 11-ой символа звучит сигнал и выводится сообщение о том, что низя... smile Или еще при попытке вставить длинный текст из буфера обмена. Спасибо!


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
Bose
Дата 26.10.2005, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 23
Всего: 51



не совсем то что надо:
Код

procedure TForm1.Edit1Change(Sender: TObject);
begin
     if length(Edit1.Text)>=Edit1.MaxLength then MessageDlg('Nizja tak', mtWarning, [mbOK], 0);
end;


Это сообщение отредактировал(а) Bose - 26.10.2005, 14:37
PM MAIL WWW Skype   Вверх
Alex
Дата 26.10.2005, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



MacTep, пользователь устанет от таких сообщений. Лучше ограничься звуковым сигналом


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Rennigth
Дата 26.10.2005, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 49
Всего: 76



Bose
OnChange возникает позже чем edit ограничевает ввод...


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Bose
Дата 26.10.2005, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 23
Всего: 51



Rennigth
я проверил перед тем как запостить - все работает smile
PM MAIL WWW Skype   Вверх
Rennigth
Дата 26.10.2005, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 49
Всего: 76



Цитата(Bose @ 26.10.2005, 13:59)
Rennigth
я проверил перед тем как запостить - все работает 

странно, я тоже проверял - у меня не работало smile



--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Rrader
Дата 26.10.2005, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 70
Всего: 191



Bose
Лучше это делать в OnKeyDown smile


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
Bose
Дата 26.10.2005, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 23
Всего: 51



Rennigth, сорри... Я невнимательно проверял свой код. Или неправильно понял задание. Короче, я не прав. smile
Действительно не работает. Если вводить текст с клавы, то сообщение показывается всего один раз, причем при введении последнего разрешенного символа. зато при Paste сообщение выскакивает исправно. Но... не там где нужно...
PM MAIL WWW Skype   Вверх
RideX
Дата 26.10.2005, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 94
Регистрация: 8.9.2004

Репутация: 4
Всего: 7



Лучше действительно ограничиться звуковым сигналом, как правильно подсказывают опытные товарищи, и использовать, например, так:

Код

implementation

{$R *.dfm}

function Beep(dwFreq: DWORD; dwDuration: DWORD):DWORD;stdcall;
  external 'kernel32.dll';

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_BACK then
    Exit;

  if Length(Edit1.Text) >= 10 then begin
    if Beep(2600, 50) = 0 then
      MessageBoxA(Handle, 'Больше символов ввести нельзя!', 'Внимание', MB_ICONEXCLAMATION + MB_OK);
    Exit;
  end;
end;

end.

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0574 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.