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

В группе радиокнопок определяется фигура

18.10.2015, 20:46. Показов 1429. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
квадрат, прямоугольник, круг, прямоугольный треугольник. В зависимости от выбора пользователя на форме появляются одно или два текстовых поля для ввода параметров фигуры. В списке выбора определяется расчётный параметр: периметр (длина – для окружности), площадь. Нажатие на кнопку «Вычислить» делает необходимые расчёты.
Помогите пожалуйста, форму сделала, а как прописать в Button формулы для них не знаю. И еще, допустим если мы выбираем квадрат, то значение мы вводим одно, значит при запуске программы Edit должен вылезти один, как это прописать??
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.10.2015, 20:46
Ответы с готовыми решениями:

Не определяется выбор радиокнопок
Dim RadioButton1, RadioButton3 As Boolean Dim Ugol As Double If RadioButton1 =...

Используя switch, вывести информацию о выбранном элементе в группе радиокнопок.
Используя switch, вывести информацию о выбранном элементе в группе радиокнопок.

При выборе одного из значений первой группы радиокнопок, во второй группе выбирать тоже самое
Здравствуйте, никак не могу сделать так, чтобы при выборе одного из значений первой группы...

JF v95c не определяется (или определяется как USB MEMORY BAR)
Недавно столкнулся с такой ситуацией. Подключаю флэху а она не работает... т.е. на win xp...

2
5585 / 4435 / 1080
Регистрация: 29.08.2013
Сообщений: 27,734
Записей в блоге: 3
18.10.2015, 21:59 2
1. считаем сколько нам нужно эдитов
выносим их на форму
у каждого в свойствах ставим Visible=False

2. делаете RadioGroup
квадрат
прямоугольник
круг
прямоугольный треугольник

3. в зависимости от ItemIndex делаем у нужных Эдитов Visible=True

4. по нажатию на кнопку "вычислить" считаем
0
Почетный модератор
64305 / 47602 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
18.10.2015, 22:20 3
Лучший ответ Сообщение было отмечено Christina как решение

Решение

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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
 
type
  TForm1 = class(TForm)
    RadioGroup1: TRadioGroup;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit3: TEdit;
    Label4: TLabel;
    Edit4: TEdit;
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Visible:=false;
Edit2.Visible:=false;
Label1.Caption:='';
Label2.Caption:='';
Label3.Caption:='';
Label4.Caption:='Площадь';
Edit3.Text:='';
Edit4.Text:='';
Button2.Enabled:=false;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0:begin
  Edit1.Visible:=true;
  Edit1.Text:='';
  Label1.Caption:='Длина стороны';
  Edit2.Visible:=false;
  Label2.Caption:='';
  Label3.Caption:='Периметр';
  Edit3.Text:='';
  Edit4.Text:='';
  end;
1:begin
  Edit1.Visible:=true;
  Edit1.Text:='';
  Edit2.Visible:=true;
  Edit2.Text:='';
  Label1.Caption:='Длина';
  Label2.Caption:='Ширина';
  Label3.Caption:='Периметр';
  Edit3.Text:='';
  Edit4.Text:='';
  end;
2:begin
  Edit1.Visible:=true;
  Edit1.Text:='';
  Label1.Caption:='Радиус';
  Edit2.Visible:=false;
  Label2.Caption:='';
  Label3.Caption:='Длина окружности';
  Edit3.Text:='';
  Edit4.Text:='';
  end;
3:begin
  Edit1.Visible:=true;
  Edit1.Text:='';
  Edit2.Visible:=true;
  Edit2.Text:='';
  Label1.Caption:='1 катет';
  Label2.Caption:='2 катет';
  Label3.Caption:='Периметр';
  Edit3.Text:='';
  Edit4.Text:='';
  end;
else showmessage('Вы не выбрали фигуру');
end;
Button2.Enabled:=true;
Button1.Enabled:=false;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var a,b,r,p,l,s:double;
    k:integer;
begin
case RadioGroup1.ItemIndex of
0:begin
  val(Edit1.Text,a,k);
  if(k<>0)or(a<=0)then
   begin
    showmessage('Неверно введена длина строны');
    Edit1.Clear;
    Edit1.SetFocus;
    exit
   end; 
  p:=4*a;
  s:=a*a;
  Edit3.Text:=format('%.2f',[p]);
  Edit4.Text:=format('%.2f',[s]);
  end;
1:begin
  val(Edit1.Text,a,k);
  if(k<>0)or(a<=0)then
   begin
    showmessage('Неверно введена длина');
    Edit1.Clear;
    Edit1.SetFocus;
    exit
   end;
  val(Edit2.Text,b,k);
  if(k<>0)or(b<=0)then
   begin
    showmessage('Неверно введена ширина');
    Edit2.Clear;
    Edit2.SetFocus;
    exit
   end;
  p:=2*a+2*b;
  s:=a*b;
  Edit3.Text:=format('%.2f',[p]);
  Edit4.Text:=format('%.2f',[s]);
  end;
2:begin
  val(Edit1.Text,r,k);
  if(k<>0)or(r<=0)then
   begin
    showmessage('Неверно введен радиус');
    Edit1.Clear;
    Edit1.SetFocus;
    exit
   end;
  l:=2*pi*r;
  s:=pi*r*r;
  Edit3.Text:=format('%.2f',[l]);
  Edit4.Text:=format('%.2f',[s]);
  end;
3:begin
  val(Edit1.Text,a,k);
  if(k<>0)or(a<=0)then
   begin
    showmessage('Неверно введена длина 1 катета');
    Edit1.Clear;
    Edit1.SetFocus;
    exit
   end;
  val(Edit2.Text,b,k);
  if(k<>0)or(b<=0)then
   begin
    showmessage('Неверно введена длина 2 катета');
    Edit2.Clear;
    Edit2.SetFocus;
    exit
   end;
  p:=a+b+sqrt(a*a+b*b);
  s:=a*b/2;
  Edit3.Text:=format('%.2f',[p]);
  Edit4.Text:=format('%.2f',[s]);
  end;
 end;
Button1.Enabled:=true;
Button2.Enabled:=false;
end;
 
end.
Вложения
Тип файла: rar Площадь и периметр фигур.rar (172.1 Кб, 4 просмотров)
0
18.10.2015, 22:20
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.10.2015, 22:20
Помогаю со студенческими работами здесь

HDD определяется в BIOS но не запускается и неправильно определяется объем диска
Всем доброго времени суток, прошу вас о помощи в борьбе с моим винтом от ноута. Попробую описать...

Группа радиокнопок
Здравствуйте ,не понимаю ,как в qt дизайне сделать радиогруппу в менюбаре =( Спасибо за внимание=)

Использование радиокнопок
мне нужно сделать вроде небольшого математического задачника-тестов используя радиокнопки, в...

2 группы радиокнопок
Как разделить две группы радиокнопок? а то у меня они все как-то в одной работают - включаешь...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Интеграция Arduino и ChatGPT: Практическое руководство
InfoMaster 16.01.2025
В современную эпоху технологических инноваций интеграция искусственного интеллекта с микроконтроллерами открывает принципиально новые возможности для создания умных устройств и автоматизированных. . .
Как создать робота, управляемого ChatGPT
InfoMaster 16.01.2025
Концепция проекта В современную эпоху искусственный интеллект и робототехника становятся все более доступными для энтузиастов и разработчиков. Создание роботизированной руки, управляемой ChatGPT,. . .
Как создать ChatGPT бота в Telegram на Python
InfoMaster 16.01.2025
В современном мире технологии искусственного интеллекта становятся все более доступными для разработчиков, открывая новые возможности для создания умных и интерактивных приложений. Одним из самых. . .
Машинное обучение с помощью Python
InfoMaster 16.01.2025
Машинное обучение стало неотъемлемой частью современных технологий, позволяя компьютерам учиться на основе данных и принимать решения без явного программирования. В сочетании с языком. . .
Использование связки C# и PHP в корпоративной разработке и микросервисной архитектуре
InfoMaster 16.01.2025
Введение в интеграцию C# и PHP В современной корпоративной разработке все чаще возникает потребность в создании гибких и масштабируемых решений, способных эффективно решать широкий спектр. . .
Как использовать Kerio дома для управления сетью и пользователями
InfoMaster 16.01.2025
Использование технологий для улучшения повседневной жизни стало неотъемлемой частью современного быта. Одной из таких технологий является Kerio — мощный инструмент для управления сетью и. . .
Есть ли будущее у DVD и Blu-ray?
InfoMaster 16.01.2025
В эпоху стремительного развития цифровых технологий и повсеместного распространения потоковых сервисов вопрос о будущем физических носителей информации становится все более актуальным. Особенно остро. . .
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru