Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Николай200111
0 / 0 / 0
Регистрация: 10.11.2019
Сообщений: 13
1

Ошибка в программе

10.11.2019, 14:16. Просмотров 914. Ответов 18
Метки нет (Все метки)

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
unit Unit64;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Spin, ComCtrls, ExtCtrls;
 
type
  TForm1 = class(TForm)
    lbl1: TLabel;
    SpinEdit1: TSpinEdit;
    SpinEdit2: TSpinEdit;
    se1: TSpinEdit;
    sev: TSpinEdit;
    se2: TSpinEdit;
    se3: TSpinEdit;
    lbl2: TLabel;
    lbl3: TLabel;
    lbl4: TLabel;
    lbl5: TLabel;
    lbl7: TLabel;
    BQuit: TButton;
    BOk: TButton;
    RG: TRadioGroup;
    edt1: TEdit;
    edt3: TEdit;
    edt4: TEdit;
    edt5: TEdit;
    se4: TSpinEdit;
    lbl6: TLabel;
    edt2: TEdit;
    btn3: TButton;
    procedure BQuitClick(Sender: TObject);
    procedure BOkClick(Sender: TObject);
    procedure SpinEdit2Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
uses Unit36;
 
{$R *.dfm}
 
procedure TForm1.BQuitClick(Sender: TObject);
begin;
close
end;
 
procedure TForm1.BOkClick(Sender: TObject);
begin;
case RG.ItemIndex of
 0: begin;
  0,167 * (sqrt(SpinEdit1.Value * SpinEdit2.Value))
  volume := 0,167 * (sqrt(SpinEdit1.Value * SpinEdit2.Value));
  edt1.Text := volume
end;
1:begin;
  500 + se2 + se3;
  volume2 := 500 + se2 + se3;
  volume2 := edt3;
end;
2:begin;
  edt3 + sev;
  volume3 := edt3 + sev;
  volume3 := edt4;
end;
3:begin;
  360*se4;
  volume4:=360*se4;
  volume4:=edt5
end;
4:begin;
  (edt3/2)*35
  volume5:=(edt3/2)*35
  volume5:=edt2
end;
end;
end;
 procedure TForm1.btn3Click(Sender: TObject);
 begin
 Form2.Show;
end;
 
end.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2019, 14:16
Ответы с готовыми решениями:

18

AzAtom
508 / 303 / 115
Регистрация: 15.11.2015
Сообщений: 1,283
10.11.2019, 14:48 2
Сегодня день смеха.

Какую ошибку выдаёт? В какой строке эта ошибка?

Добавлено через 3 минуты
Где определены переменные volume, volume2, volume3, volume4, volume5, edt2, edt3, edt4, edt5, se2, se3, se4, sev?
0
Rayvenor
10.11.2019, 14:49
  #3

Не по теме:

Цитата Сообщение от AzAtom Посмотреть сообщение
Сегодня день смеха.
Или день ужаса
Цитата Сообщение от Николай200111 Посмотреть сообщение
unit Unit64;

0
Puporev
Модератор
57809 / 44042 / 30413
Регистрация: 18.05.2008
Сообщений: 105,303
10.11.2019, 14:51 4
Delphi
1
edt1.Text := formatfloat('0.00',volume);
и так остальной вывод.
1
10.11.2019, 14:51
AzAtom
10.11.2019, 14:51
  #5

Не по теме:

Цитата Сообщение от Rayvenor Посмотреть сообщение
unit Unit64;
Зато форма первая, хотя бы. :)

0
Rayvenor
61 / 50 / 12
Регистрация: 04.08.2018
Сообщений: 275
10.11.2019, 15:18 6
Цитата Сообщение от AzAtom Посмотреть сообщение
Где определены переменные volume, volume2, volume3, volume4, volume5, edt2, edt3, edt4, edt5, se2, se3, se4, sev?
Загляните в
Цитата Сообщение от Николай200111 Посмотреть сообщение
uses Unit36;
1
Николай200111
0 / 0 / 0
Регистрация: 10.11.2019
Сообщений: 13
10.11.2019, 16:25  [ТС] 7
Ошибку выдает в 61 строке
0
qwertehok
2784 / 2456 / 651
Регистрация: 29.08.2013
Сообщений: 16,659
10.11.2019, 16:27 8
после begin точка с запятой не ставится
2
Николай200111
0 / 0 / 0
Регистрация: 10.11.2019
Сообщений: 13
10.11.2019, 16:28  [ТС] 9
Я только начал программировать. переменные , edt2, edt3, edt4, edt5, из них я беру числа, переменные volume, volume2, volume3, volume4, volume5 если честно даже не знаю зачем я из вставил, переменные se2, se3, se4, sev сюда уже вставляется конечный результат
0
Пытливый
1481 / 766 / 278
Регистрация: 29.05.2013
Сообщений: 3,609
10.11.2019, 16:36 10
Ничего странного в номере юнита не вижу, особенно если это делалось на общем студенческом компе. Дельфи сам ведет нумерацию модулей и проектов, так там такая свалка из лаб и всякого другого добра накапливается, что 64 это просто мелочь
0
ZX Spectrum-128
Модератор
Эксперт Pascal/Delphi
4892 / 3431 / 4027
Регистрация: 05.06.2014
Сообщений: 17,179
10.11.2019, 16:37 11
Цитата Сообщение от Николай200111 Посмотреть сообщение
0,167
А теперь так можно число писать?
1
Puporev
Модератор
57809 / 44042 / 30413
Регистрация: 18.05.2008
Сообщений: 105,303
10.11.2019, 16:39 12
Цитата Сообщение от Николай200111 Посмотреть сообщение
Я только начал программировать.
Так почитай хоть про компоненты edit, spinedit и другие, это у тебя не переменные, а именно компоненты.
0
Пытливый
1481 / 766 / 278
Регистрация: 29.05.2013
Сообщений: 3,609
10.11.2019, 16:41 13
ZX Spectrum-128 Вас в этой строке только запись числа смутила?

Добавлено через 1 минуту
Там похоже в каждой строчке по 1-2 ошибке - просто чудо а не код
0
Puporev
Модератор
57809 / 44042 / 30413
Регистрация: 18.05.2008
Сообщений: 105,303
10.11.2019, 16:42 14
прочитать вещественное число из Edit так
strtofloat(Edit1.Text)
записать можно так
Edit1.Text:=formatfloat('0.00',x);//где х значение переменной вещественного типа.
0
Николай200111
0 / 0 / 0
Регистрация: 10.11.2019
Сообщений: 13
10.11.2019, 17:28  [ТС] 15
Так попытаюсь объяснить попонятней, что я хочу. У меня есть два элемента edit в них вписывается число. Так же у меня есть элемент RadioGroup в котором есть 1 стока " лёгочный объем" ( это уже относиться к теме курсовика). И он считается по формуле 0,167√edit1*edit2. Мне нужно чтобы он посчитал это значение и отправил результат на элемент se2. Вот и все
0
UR1004SWL
59 / 23 / 10
Регистрация: 11.07.2015
Сообщений: 105
10.11.2019, 17:43 16
Николай200111
Вам все пытаются обьяснить, что у Вас ошибка несоответствие типов данных 'integer' and 'string'.
0
Николай200111
0 / 0 / 0
Регистрация: 10.11.2019
Сообщений: 13
10.11.2019, 17:46  [ТС] 17
Объясните конкретней я тормоз и мне сложно. Напишите мне как я должен в целом изменить код, а не отдельные непонятные для меня действия
0
AzAtom
508 / 303 / 115
Регистрация: 15.11.2015
Сообщений: 1,283
10.11.2019, 18:02 18
Лучший ответ Сообщение было отмечено Николай200111 как решение

Решение

Николай200111, по описанному получается вот так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
procedure TForm1.Button1Click(Sender: TObject);
var
  e1, e2: double;
begin
  Label1.Caption := '';
  if not TryStrToFloat(Edit1.Text, e1) then begin // Попробовать преобразовать содержимое Edit1 в число
    Label1.Caption := 'Неверное число в Edit1'; // Если не получилось, то вывести ошибку и прекратить расчёт
    Exit;
  end;
  if not TryStrToFloat(Edit2.Text, e2) then begin
    Label1.Caption := 'Неверное число в Edit2';
    Exit;
  end;
  if RadioGroup1.ItemIndex = 0 then begin // Если выбран первый элемент в списке RadioGroup
    SpinEdit2.Value := Round(0.167 * sqrt(e1*e2)); // то произвести расчёт по формуле
  end else
    Label1.Caption := 'Не выбран вариант расчёта'; // Иначе вывести сообщение об ошибке
end;
Для вывода сообщений об ошибке, конечно, можно использовать ShowMessage, но тогда придётся дополнительно щёлкать кнопку "ОК".
1
Николай200111
0 / 0 / 0
Регистрация: 10.11.2019
Сообщений: 13
10.11.2019, 18:18  [ТС] 19
Ура спасибо тебе святой человек

Добавлено через 2 минуты
Ну и всем спасибо. Я ещё буду задавать вопросы мне ещё ведь пять лет учиться. А вот теперь грустно стало
0
10.11.2019, 18:18
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2019, 18:18

Выдает ошибку понять не могу где исправить, запускаю первая кнопка работает, а вторая нет. скрин ниже
unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms,...

Подскажите как исправить ошибку. прога ломается на 79 строке. а ошибку не выдает
#include <iostream> #include <cstdlib> #include <ctime> using namespace std; int chisla(int...

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

Или воспользуйтесь поиском по форуму:

19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.