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

Неизвестная ошибка

25.09.2013, 21:58. Показов 1580. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Собственно, сам код:
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, math;
 
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Edit2: TEdit;
    Edit3: TEdit;
    RadioGroup1: TRadioGroup;
    Button1: TButton;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
    procedure Button1Click(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  f,r,y,a,b,q,count,summa,E,x,s,z,w:real;
  p,l,m,c:string;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
If not (Key in ['0'..'9', #8, '-', ',']) then
Key:=#0;
end;
 
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
If not (Key in ['0'..'9', #8]) then
Key:=#0;
end;
 
procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
If not (Key in ['0'..'9', #8, #13, '-', ',']) then
Key:=#0;
keypreview:=true;
if (Key = #13) then Button1.Click;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
i,N:integer;
 
begin
a:=1;
b:=2;
s:=0;
q:=1;
count:=0;
summa:=0;
y:=0;
x:=strtofloat(edit1.Text);
N:=strtoint(edit2.Text);
E:=strtofloat(edit3.Text);
if (x>-1) and (x<1) then
begin
for i:=1 to N do
        begin
            s:=b;
      r:=power(x, s);
          f:=a/b;
      z:=a*r;
      y:=abs(z);
    if y>E then
        begin
            s:=b;
          summa:=summa+z;
          count:=count+1;
        end;
   q:=q+z;
   a:=a+2;
   b:=b+2;
   f:=f*(a/b);
  end;
w:=1/sqrt(1+sqr(x));
c:=floattostrF(summa,ffgeneral,5,2);
 
if RadioGroup1.ItemIndex=0 then
  begin
    label9.Caption:='';
    label7.Caption:=floattostrF(w,ffgeneral,5,2);
    label5.Caption:=floattostrF(q,ffgeneral,5,2);
    label11.Caption:=floattostrF(summa,ffgeneral,5,2);
  end;
if RadioGroup1.ItemIndex=1 then
  begin
    label7.Caption:=floattostrF(w,ffgeneral,5,2);
    label5.Caption:=floattostrF(q,ffgeneral,5,2);
    label11.Caption:=floattostrF(summa,ffgeneral,5,2);
    label9.caption:=floattostrF(count,ffgeneral,5,2);
  end;
 
end
else
ShowMessage('×èñëî õ äîëæíî ëåæàòü â ãðàíèöàõ (-1;1)');
end;
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex=1 then
begin
label3.Visible:=true;
edit3.Visible:=true;
label2.Visible:=false;
edit2.Visible:=false;
end;
 
if RadioGroup1.ItemIndex=0 then
begin
label3.Visible:=false;
edit3.Visible:=false;
label2.Visible:=true;
edit2.Visible:=true;
end;
 
end;
 
end.
Собственно, сама ошибка в прикреплении.
Миниатюры
Неизвестная ошибка  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2013, 21:58
Ответы с готовыми решениями:

Неизвестная ошибка
Программа должна выводить данные в richedit и должна производить поиск по наименованию товара и по...

Неизвестная ошибка
procedure TForm1.Button1Click(Sender: TObject); var StringList : TStringList; i: Integer; begin...

Неизвестная ошибка
Что значит эта ошибка?

Неизвестная ошибка.
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

19
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,248
25.09.2013, 22:09 2
Цитата Сообщение от RaulGain Посмотреть сообщение
Собственно, сама ошибка в прикреплении.
В прикреплении нет никаких признаков ошибки.
0
59 / 59 / 12
Регистрация: 24.10.2012
Сообщений: 170
25.09.2013, 22:14 3
Цитата Сообщение от northener Посмотреть сообщение
В прикреплении нет никаких признаков ошибки.
Согласен. А также не понятно где искать ошибку то. При каких событиях она возникает?
0
0 / 0 / 0
Регистрация: 22.09.2013
Сообщений: 63
25.09.2013, 22:19  [ТС] 4
Цитата Сообщение от U-III Посмотреть сообщение
Согласен. А также не понятно где искать ошибку то. При каких событиях она возникает?
Ввожу числа, нажимаю "Произвести вычисления".
Всплывает сначала это (в прикреплении), потом при нажатии "ОК" - то, что в прикреплении к первому посту.
Миниатюры
Неизвестная ошибка  
0
59 / 59 / 12
Регистрация: 24.10.2012
Сообщений: 170
25.09.2013, 22:21 5
Все понятно. Ошибка банальна. Ну не знает Delphi запятых. Для разделения целой и дробной части используется точка.
0
0 / 0 / 0
Регистрация: 22.09.2013
Сообщений: 63
25.09.2013, 22:28  [ТС] 6
Цитата Сообщение от U-III Посмотреть сообщение
Все понятно. Ошибка банальна. Ну не знает Delphi запятых. Для разделения целой и дробной части используется точка.
То же самое с точкой.
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
25.09.2013, 22:29 7
Цитата Сообщение от U-III Посмотреть сообщение
Ну не знает Delphi запятых.
еще как знает.... что является разделителем целой и десятичной части (точка или запятая) можно посмотреть в "региональных стандартах" ОС, для русского языка по умолчанию действует разделитель - запятая
0
59 / 59 / 12
Регистрация: 24.10.2012
Сообщений: 170
25.09.2013, 22:31 8
Цитата Сообщение от cotseec Посмотреть сообщение
еще как знает.... что является разделителем целой и десятичной части (точка или запятая) можно посмотреть в "региональных стандартах" ОС, для русского языка по умолчанию действует разделитель - запятая
Причем тут региональные стандарты? В Delphi это только точка.
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
25.09.2013, 22:33 9
Цитата Сообщение от U-III Посмотреть сообщение
В Delphi это только точка.
если писать так:
Delphi
1
SomeValue := 5.75;
то да, точка, если так
Delphi
1
SomeValue := StrToFloat ('5.75');
то зависит от рег. стандартов, а у ТС как раз второй вариант - конвертация StrToFloat
0
59 / 59 / 12
Регистрация: 24.10.2012
Сообщений: 170
25.09.2013, 22:36 10
Автор. Запусти процедуру построчно и найди где валиться.
0
0 / 0 / 0
Регистрация: 22.09.2013
Сообщений: 63
25.09.2013, 22:45  [ТС] 11
Цитата Сообщение от U-III Посмотреть сообщение
Автор. Запусти процедуру построчно и найди где валиться.
Показывает это:
Миниатюры
Неизвестная ошибка  
0
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
25.09.2013, 22:47 12
В сообщении об ошибке речь идет о пустой строке.
edit3.Text чему равно?
0
59 / 59 / 12
Регистрация: 24.10.2012
Сообщений: 170
25.09.2013, 22:47 13
Вот на этой строке поставь остановку

a:=1;

И дальше по F8
0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,248
25.09.2013, 22:48 14
Чет я нигде не заметил в сообщении об ошибке признаков запятых или точек. А вот шальной Button1.Click в обработчике Edit3KeyPress имеется в наличии. И никакой проверки на пустоту эдитов.
0
59 / 59 / 12
Регистрация: 24.10.2012
Сообщений: 170
25.09.2013, 22:51 15
Точно.
Delphi
1
Button1.Click;
Так нельзя.
Хотя бы так
Delphi
1
Button1Click(Sender);
И в сообщении об ошибке - говорится что вы пытаетесь сконвертировать пустую строкуж
0
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
25.09.2013, 22:52 16
Цитата Сообщение от U-III Посмотреть сообщение
Так нельзя
Можно - это одно и тоже.
0
59 / 59 / 12
Регистрация: 24.10.2012
Сообщений: 170
25.09.2013, 22:54 17
Цитата Сообщение от FIL Посмотреть сообщение
Можно - это одно и тоже.
Да малось ошибся. Все языки уже путаются.
0
0 / 0 / 0
Регистрация: 22.09.2013
Сообщений: 63
25.09.2013, 23:46  [ТС] 18
Сообщение про пустоту эдитов дало наводку.
Полностью перебрал код и теперь всё работает.
Всем спасибо.
0
northener
26.09.2013, 00:28
  #19

Не по теме:

Цитата Сообщение от RaulGain Посмотреть сообщение
Сообщение про пустоту эдитов дало наводку.
Чур поллитра мне. :)

1
0 / 0 / 0
Регистрация: 22.09.2013
Сообщений: 63
27.09.2013, 00:29  [ТС] 20
Цитата Сообщение от northener Посмотреть сообщение

Не по теме:


Чур поллитра мне. :)

Если только яблочного сока.
0
27.09.2013, 00:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.09.2013, 00:29
Помогаю со студенческими работами здесь

Неизвестная мне ошибка
Всем привет написал программу для смены обоев, все работает прекрасно но... при загрузки папки с...

Неизвестная мне ошибка
Привет форумчане) возникает проблема при компилировании:...

Учет товаров неизвестная ошибка
Всем привет программа должна выводить данные в richedit и осуществлять поиск по товарам и...

Неизвестная кодировка
Всем привет. Вот кусок кода программы aurl :=...


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

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

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