Задача (дословно)
В строке вводиться арифметическое выражение, состоящее из целых чисел и знаков "+" и "-" . Вычислить значение этого выражения.
Требования:: во время ввода или модификации выражения нажатия на клавиши должны быть ограничены (если последней введена цифра, то за ней может быть нажата цифра, знак или пробел; если последним введеным символом явдяется знак, то за ним может быть введены либо пробел, либо цифра; для пробела определить ограничения самостоятельно).
как это реализовывается?
Вводишь символы по одному с клавиатуры, анализируешь и, если подходит, выводишь на экран (при необходимости - одновременно в буфер).
ну или скажите, где можно прочитать
А куда вводится-то? В форму или абстрактно?
Поиск -> Калькулятор
Ну и что ? Главное написать функцию вычисления выражения, а вызывать ее можешь хоть после каждого клика мышки.
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);(для пробела добавишь свои правила)... Как закончишь вводить выражение - начнешь вычислять... Где искать тебе уже написали.
begin
if (Edit1.Text <> '') then
case Edit1.Text[Length(Edit1.Text)] of
'+', '-':
begin
if not (Key in ['0'..'9', ' ',#8]) then Key := #0;
end;
'0' .. '9':
begin
if not (Key in ['0'..'9', '+','-',' ',#8]) then Key := #0;
end;
end;
end;
а можно как-нибудь обрисовать структуру проекта?
алгоритм
шаги
просто пока не понимаю, что, куда и как(