Другие языки программирования и технологии

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

помогите пожалуйста с задачей на турбо дельфи и как устранить ошибку в турбо дельфи,не хочет устанавливаться.регистр ключ хотя лежит в нужном месте
По поводу рег. ключей найди их сам - в инете куча этого добра.
По поводу программы - писать - не буду (Delphi под рукой нет) - но алгоритм подсказать могу.
Задача очень простая. Напиши если тебе интересен алгоритм - по нему ты легко все напишешь!
АЛ
Анатолий Лазовский
1 406
Лучший ответ
Доброго времени суток.

Какой смысл вы вкладываете в понятие "помогите"? Сделать все за вас или подсказать какие-то моменты? Какие именно? Могу высказать пару мыслей.

Во-первых, в инспекторе объектов установите свойство ItemIndex в -1, тогда в блоке переключателей при старте не будет выбран ни один пункт.

Во вторых, для управления видимостью элементов я бы сделал метод

procedure TForm1.SwtchVisible(State: Integer);
begin
case State of
-1 : begin Edit1.Visible := False; Label1.Visible := False; и т. д. end; {всем установить в False}
0 : begin Edit1.Visible := True; Label1.Visible := True; и т. д. end; {True для ввода двух сторон, False остальным}
1: begin Edit4.Visible := True; Label4.Visible := False; {остальным False} end;
2 : begin Edit4.Visible := False; Label4.Visible := False; {остальным True} end;
end;
end;

В обработчике RadioGroup1Click просто вызываете процедуру SwtchVisible и передаете ец параметром Свойство ItemIndex.

В обработчике создания формы FormCreate также вызывайте этот метод с параметром -1 - все выключится.

Полагаю, вычислить площади указанных фигур труда не должно составить. В процедуре вычисления проверяете оператором case свойство ItemIndex и, собственно, находите площади нужных фигур, после чего выводите результат в Label5

Чтобы пользователь не смог ввести ошибочные символы можете обработчики строк ввода сделать такими (всем строкам назначить одинаковый обработчик)

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
const
ValidChar : Set of Char = ['0'..'9', #8];
begin
if not (Key in ValidChar) then Key := #0;
end;

Правда, это не сработает при вставке из буфера. Для этого случая есть более действенный способ.

Удачи!

PS Все достаточно просто. Процедура SwtchVisible в зависимости от выбора пользователя включает /выключает нужные поля ввода и подписи. Вот так

procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
SwitchVisible(RadioGroup1.ItemIndex);
end;

В принципе, почти вся программа уже вам показана за исключением процедуры вычисления площади. Прямоугольник и круг понятно как считать, а треугольник по фориуле Герона.
Фархат Темиров
Фархат Темиров
59 613
Что значит лежит, его ввести надо
Farxad Mamedov
Farxad Mamedov
1 221
Турбо дельфи это клёво! Дай ссылку где скачать? Или все-таки дельфи 7?
Прости, но сегодня моя телепатия меня подвела.
И что ты имеешь ввиду говоря "регистр ключей"?
П. С. Судя по тому что другие авторы поняли что имел ввиду автор либо я сильно торможу или у них телепатия лучше)))