Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 22.10.2014
Сообщений: 45
1

Оформить в виде функции

03.12.2015, 18:03. Показов 509. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите, как оформить в виде функции код работы с Edit? Например такой:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
case Key of
  #8,'0'..'9' :  ; // цифры и <Back Space>
 
       '.',',': // разделитель целой и дробной частей числа
                begin
                  if Key <> DecimalSeparator then
                  Key := DecimalSeparator; // заменим разделитель на допустимый
                  if Pos(DecimalSeparator,Edit1.Text) <> 0
                  then Key := Chr(0); // запрет ввода второго разделителя
                end;
           '-':    // минус можно ввести только первым символом,
                // т.е. когда ячейка пустая
                if Length(Edit1.Text) <> 0
                      then Key := Chr(0);
          else   // остальные символы запрещены
               key := Chr(0);
 
    end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.12.2015, 18:03
Ответы с готовыми решениями:

Оформить в виде функции
Пожалуйста помогите решить задачу Оформить в виде функции. общие требования: 1. Оформить...

Оформить расчет в виде пользовательской процедуры и функции
Нужна помощь в решении задач. 3. оформить расчет в виде пользовательской процедуры и функции....

Оформить код в виде цикла
можно ли с помощью цикла оформить: if ((combobox2.ItemIndex = 0) and (ansipos('file 1:' + ' ' +...

Оформить решение задачи в виде процедуры
Здравствуйте. Помогите пожалуйста с задачей. Оформить решение задачи(сглаживание матриц) в виде...

5
Sunaj
03.12.2015, 23:13
  #2

Не по теме:

А зачем? Этот код используется в событиях ввода с клавиатуры. И что должно быть на выходе функции?

0
0 / 0 / 0
Регистрация: 22.10.2014
Сообщений: 45
03.12.2015, 23:37  [ТС] 3
Если полей очень много, код занимает много места.
0
4 / 4 / 1
Регистрация: 03.12.2015
Сообщений: 18
03.12.2015, 23:50 4
Если это разные Edit-ы, допустим, просто указывай одно и то же событие для разных Edit-ов. Только в коде вместо Edit1 пиши (Sender as TEdit).
Т.е. будет
Delphi
1
(Sender as TEdit).Text
0
5786 / 4528 / 1431
Регистрация: 14.04.2014
Сообщений: 20,157
Записей в блоге: 20
04.12.2015, 06:21 5
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure TForm1.Edit1KeyPress(....);
  procedure HandleDigits;
  begin
    ...
  end;
  procedure HandlePunctuation;
  begin
    ...
  end;
  procedure HandleOthers;
  begin
    ...
  end;
begin
  case Key of
    #8,'0'..'9' :  HandleDigits;
    '.',',': HandlePunctuation;
     else   
      HandleOthers;
  end;
end;
0
500 / 356 / 231
Регистрация: 29.03.2015
Сообщений: 675
04.12.2015, 11:43 6
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function getdigits(var key:char;edit:tedit);
begin
case key of
  #8,'0'..'9' :  ; // цифры и <Back Space>
 
       '.',',': // разделитель целой и дробной частей числа
                begin
                  if key <> DecimalSeparator then
                  key := DecimalSeparator; // заменим разделитель на допустимый
                  if Pos(DecimalSeparator,edit.Text) <> 0
                  then key := Chr(0); // запрет ввода второго разделителя
                end;
           '-':    // минус можно ввести только первым символом,
                // т.е. когда ячейка пустая
                if Length(edit.Text) <> 0
                      then key := Chr(0);
          else   // остальные символы запрещены
               key := Chr(0);
     end;
end;
getdigits(Key,Edit1);//Вызов функции.
Добавлено через 4 часа 23 минуты
Вместо
Delphi
1
function
, нужно писать
Delphi
1
procedure
0
04.12.2015, 11:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.12.2015, 11:43
Помогаю со студенческими работами здесь

Найти наибольшую сумму, образованную двумя идущими подряд элементами последовательности (оформить в виде DLL)
Вот сама задача:Дана последовательность чисел a1, a2, ..., an. Найдите наибольшую сумму,...

Вычисления суммы ряда оформить в виде функций, используемые функции и процедуры оформить в виде модуля
Напишите программу полностью, очень прошу! Вычисления оформить в виде функции, используемые функции...

Нахождение min оформить в виде функции, а вычисление и введение ai, bi, ci-в виде процедур
Заданные действительные числа a1, a2, a3; b1, b2, b3; c1, с2, с3. если ...

Оформить отсортированный массив в виде процедуры, а сумму отрицательных чисел - в виде функции
Помогите пожалуйста оформить отсортированный массив, в виде процедуры, а сумму отрицательных чисел...

Вычислить m значений функции f(x) на отрезке [a, b]. Вычисление величины f(x) оформить в виде функции
Составить программу решения поставленной задачи: Вычислить m значений функции f(x) на отрезке ....

Оформить вычисления значения интегральной функции в виде процедуры-функции
Оформить вычисления значения интегральной функции F (x), в виде процедуры-функции используя...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru