Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 30.03.2015
Сообщений: 131
1

Delphi 7 калькулятор запрет ввода

15.01.2016, 21:53. Показов 1276. Ответов 3
Метки нет (Все метки)

Привет, как в калькуляторе можно запретить ввод в edit двойного плюса '++' или '+*' и т.д. Вот код:

procedure TForm332.Label16Click(Sender: TObject);
var
s:string;
formula:OleVariant;
begin
begin
formula :=CreateOleObject('MSScriptControl.ScriptControl');
formula.Language :='VBScript';
s :=Form332.edit1.Text;
Form332.Edit3.Text:=(formula.Eval(s));
end;
end;
0
Миниатюры
Delphi 7 калькулятор запрет ввода  
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2016, 21:53
Ответы с готовыми решениями:

Delphi 7 калькулятор запрет чисел 02; 03; 07; и т.д
Привет всем, есть ли у кого то код запрета ввода с клавиатуры и нажатием кнопками(скриншот) чисел...

Как сделать запрет ввода у Edit в Delphi XE7 под андроид
Пишу программу под андроид, и нужно, чтобы в Edit вписывались только цифры, но кода нигде в...

запрет ввода
как сделать так, что бы 1) в edit1 нельзя было ввести какой-либо символ кроме тех, которые...

Запрет ввода StringGrid
Доброго времени суток. Не понимаю почему не работает следующая конструкция: procedure...

3
Эксперт Pascal/Delphi
4668 / 2655 / 832
Регистрация: 04.10.2012
Сообщений: 9,677
15.01.2016, 22:11 2
Цитата Сообщение от artem_0108 Посмотреть сообщение
как в калькуляторе можно запретить ввод в edit
Запрет двух и более символов подряд
1
Модератор
6803 / 4390 / 1876
Регистрация: 21.01.2014
Сообщений: 18,609
Записей в блоге: 3
15.01.2016, 22:16 3
Лучший ответ Сообщение было отмечено artem_0108 как решение

Решение

Вот пример запрета ввода двойных знаков арифметических действий (++, -* и т.д.)
1. Объявляешь в классе формы
Delphi
1
2
3
 private  { Private declarations }
    Pred_Key : char;
    Sets : set of char;
2. При событии создания формы
Delphi
1
2
3
4
5
procedure TForm1.FormCreate(Sender: TObject);
begin
 Pred_Key := #0;
 Sets := ['+', '-', '*', '/'];
end;
3. В событии OnKeyPress нужного тебе Эдита
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if ((Key in Sets) and (Pred_Key in Sets))
  then begin
        ShowMessage('Неверный ввод');
        Key := #0;
        exit;
       end;
 Pred_Key := Key;
end;
1
0 / 0 / 0
Регистрация: 30.03.2015
Сообщений: 131
16.01.2016, 00:09  [ТС] 4
Спасибо большое, все работает.

Добавлено через 33 минуты
Символы нельзя вводить подряд одинаковы, но и цифры я не могу ввести одинаковые подряд.

Добавлено через 13 минут
А нет, все исправилось.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2016, 00:09

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Запрет ввода в Edit
помогите запретить ввод в edit символов а точнее чтобы можно было вводить только те символы...

запрет ввода в едите
здрасьте! видел много тем за запрет ввода в едите но почему то не работает ни один из способов....

TMemo - запрет ввода
небольшая форма и есть мемо, на котором много текста нужно сделать (без всяких Enable:=False, т.к....

Запрет ввода в StringGrid
у меня транспортная задача, необходимо запретить ввод цифр в крайнюю нижнюю ячейку. размерность...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.