6 / 6 / 0
Регистрация: 29.11.2009
Сообщений: 55
1

Множества

18.05.2010, 23:29. Показов 1003. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
доброго времени суток, обращаюсь по такому вопросу: есть 9 эдитов, в 5 вводятся числа 1..5, а в 4 вводятся операции (+,-,*,/), нужно сделать так, чтобы, допустим, я ввел число 2 в Edit1 и не мог его ввести в остальные 4 эдита, то же самое и для символов сделать надо.
П.С. это уже прхоти препода, впринципе курсовая написана, осталась такая мелочь.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2010, 23:29
Ответы с готовыми решениями:

Из множества целых чисел от 1 до 30 выделить два множества
Помогите пожалуйста)) Из множества целых чисел от 1 до 30 выделить два множества: чисел, кратных 2...

Проверить являются члены множества классов потомками другого множества классов
Как проверить являются ли члены множества классов потомками другого множества классов Например,...

Из множества целых чисел от 1 до 30 выделить два множества: чисел, кратных 2 и чисел, кратных 3
Из множества целых чисел от 1 до 30 выделить два множества: чисел, кратных 2 и чисел, кратных 3.

Множества
Вводится набор строк и набор чисел. Введенные числа показывают номера выбранных мест в строках....

1
50 / 49 / 16
Регистрация: 12.03.2009
Сообщений: 133
19.05.2010, 11:12 2
Лучший ответ Сообщение было отмечено Nike0 как решение

Решение

1. Назови все эдиты куда будут вводится числа Edit1-Edit5
2. Назови все эдиты куда будут вводится знаки Edit6-Edit9

Далее для всех этих эдитов создай 1 процедуру для всех на событие onKeyPress

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
type
  TForm1 = class(TForm)
  ...............................
    procedure FormCreate(Sender: TObject);
  public
    { Public declarations }
    procedure SetVals(Sender: TObject; var Key: Char);
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.SetVals(Sender: TObject; var Key: Char);
var
  i: byte;
  s: string;
  {процедура проверяет введины ли одинаковые значения, и если введины одинаковые то
  выводит сообщение об этом, а вводимое значение делает пустым}
  procedure ChekVals(first,last: byte; var Key: Char);
  var j: byte;
  begin
    for j := first to last do //в цикле проверяем цифровые и знаковые эдиты
      if i=j then Continue else //если попадается Едит в которым мы вводим значение то пропускаем его
        if (Self.FindComponent('Edit'+IntToStr(j)) as TEdit).Text=Key then
        begin
        //Если вводимое символ равняется символу в эдитах
          Key := #0;//то вводимый символ делаем пустым #0=''
          ShowMessage(format('Вводимый символ уже был введен в %s',['Edit'+IntToStr(j)]));
          break;//выходим из цикла
        end;
  end;
 
begin
  s := (Sender as TEdit).Name;
  i := StrToInt(s[5]);
  if (Length((Sender as TEdit).Text)<1) then //вводить можно не более 1 символа
    if i<6 then
    begin
      //проверяем чтобы вводимые значения были в пределах чисел 1-5
      if (ord(key)<49) or (ord(key)>53) then//в табл ASCII коды от 49 до 53 = числам  1-5
      begin
        key := #0;
        ShowMessage('Введите значения от 1 до 5');
        exit;
      end;
      ChekVals(1,5,key);//проверяем на совпадения
    end else
    begin
      //проверяем чтобы вводимые значения были в пределах символов +,-,*,/
      if not ord(key) in [42,43,45,47] then //ф-ция ord возращает код симола из табл ASCII
      begin
        key := #0;
        ShowMessage('Введите одно из значений [+,-,*,/]');
        exit;
      end;
      ChekVals(6,9,key);//проверяем на совпадения
    end
  else begin
    if Key<>#8 then
      key := #0;
    exit;
  end;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
var
  i: byte;
begin
  for i:= 1 to 9 do
    (Self.FindComponent('Edit'+IntToStr(j)) as TEdit).OnKeyPress := SetVals;
end;
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.05.2010, 11:12
Помогаю со студенческими работами здесь

Множества
Дана непустая последовательность слов из строчных латинских букв. Слова разделены запятой, за...

Множества
Множества: Написать программу, вычисляющую значение выражения : ( + ) * * ( - )

Множества
Помогите, пожалуйста, с решением программы: Пусть дана непустая последовательность слов из...

Множества
Дана матрица R(n,n), n&lt;=15, создать программу которая создаёт и выводит множество из номеров рядков...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru