Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2014, 17:29   #11
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,504
По умолчанию

Сообщение означает " не является правильным числом с плаввающей запятой".
То есть там, где StrToFloat ждет число, а числа не ввели.
type_Oleg вне форума Ответить с цитированием
Старый 19.11.2014, 17:29   #12
Аника Янковская
Пользователь
 
Регистрация: 23.10.2014
Сообщений: 58
По умолчанию

Программа запускается нормально, но когда нажимаю на кнопку для переумножения значений - ошибка.
Так в таблице значение уже есть. Тогда как правильно записать???

Последний раз редактировалось Аника Янковская; 19.11.2014 в 17:32.
Аника Янковская вне форума Ответить с цитированием
Старый 19.11.2014, 17:32   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Ошибка выскакивает
Код:
var q,w:Double;
begin
 FormatSettings.DecimalSeparator:='.';
...
 with StringGrid do begin
  if 
     TryStrToFloat(StringReplace(cells[1,2],',','.',[]),q) and 
     TryStrToFloat(StringReplace(cells[2,3],',','.',[]),w)
  then Edit1.Text:=format("%2.5f",[q*w])
  else ShowMessage("В ячейках не числа");
 end;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.11.2014, 17:35   #14
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,504
По умолчанию

Цитата:
Сообщение от Аника Янковская Посмотреть сообщение
... Так в таблице значение уже есть. Тогда как правильно записать???
Точно есть именно в той ячейке, где надо?
И правильное значение ?
Десятичный разделитель не перепутали (типа 3.14 вместо 3,14 или наоборот) ?
И вообще, лучше вместо StrToFloat использовать StrToFloatDef
type_Oleg вне форума Ответить с цитированием
Старый 19.11.2014, 17:36   #15
Аника Янковская
Пользователь
 
Регистрация: 23.10.2014
Сообщений: 58
По умолчанию

Цитата:
Код:
var q,w:Double;
begin
 FormatSettings.DecimalSeparator:='.';
...
 with StringGrid do begin
  if 
     TryStrToFloat(StringReplace(cells[1,2],',','.',[]),q) and 
     TryStrToFloat(StringReplace(cells[2,3],',','.',[]),w)
  then Edit1.Text:=format("%2.5f",[q*w])
  else ShowMessage("В ячейках не числа");
 end;
end;
Теперь еще больше ошибок:
[Ошибка] Unit2.pas(94): Undeclared identifier: 'FormatSettings'
[Ошибка] Unit2.pas(94): Missing operator or semicolon
[Ошибка] Unit2.pas(99): Illegal character in input file: '"' ($22)
[Ошибка] Unit2.pas(100): Unterminated string
[Фатальная Ошибка] Project1.dpr(6): Could not compile used unit 'Unit2.pas'

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
И вообще, лучше вместо StrToFloat использовать StrToFloatDef
Ничего не запускается, ошибки.

Последний раз редактировалось Stilet; 19.11.2014 в 19:04.
Аника Янковская вне форума Ответить с цитированием
Старый 19.11.2014, 17:41   #16
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,987
По умолчанию

Выслать весь код и фото экрана для определения ошибок
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 19.11.2014, 17:45   #17
Аника Янковская
Пользователь
 
Регистрация: 23.10.2014
Сообщений: 58
По умолчанию

Код:
procedure TForm2.MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if clk = 0 then
begin
Image1.Canvas.MoveTo(X, Y);
Image1.Canvas.Pen.Color:=clRed;
Image1.Canvas.Pen.width:=5;
x0_y0:=Image1.Canvas.PenPos;
clk:=clk+1;
end;
if Button = mbLeft then
begin
Image1.Canvas.LineTo(X,Y);
Image1.Canvas.MoveTo(X,Y);
end;
if Button = mbRight then
Image1.Canvas.LineTo(x0_y0.X, x0_y0.Y);
end;
procedure TForm2.MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
with StringGrid1 do
begin
RowCount:= RowCount+1;
Cells[0,0]:='X';
Cells[1,0]:='Y';
Cells[0,RowCount-1]:=IntToStr(X);
Cells[1,RowCount-1]:=IntToStr(Y);
end;
end;
procedure TForm2.Button2Click(Sender: TObject);
var x,y:real;
begin
x:=StrToFloat(StringGrid1.Cells[2,3]);
y:=StrToFloat(StringGrid1.Cells[3,4]);
Edit1.Text:=FloatToStr(x*y);
end;
И эта ошибка
Изображения
Тип файла: jpg Безымянный.jpg (11.1 Кб, 109 просмотров)
Тип файла: jpg Безsgsымянный.jpg (20.0 Кб, 136 просмотров)

Последний раз редактировалось Stilet; 19.11.2014 в 19:05.
Аника Янковская вне форума Ответить с цитированием
Старый 19.11.2014, 17:51   #18
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,987
По умолчанию

Какие действия выполняешь до того, как выйдет ошибка? Нажатие на что-либо (указать), отжатие или что-то еще? На форме что отображается?
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 19.11.2014, 17:54   #19
Аника Янковская
Пользователь
 
Регистрация: 23.10.2014
Сообщений: 58
По умолчанию

Открываю форму, левой кнопкой мыши нажимаю, строятся стороны многоугольника, правой нажимаю - многоугольник замыкается. Потом нажимаю на кнопку, появляется ошибка. Когда ошибку закрываю вот это:
Код:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.Run;
end.

Последний раз редактировалось Аника Янковская; 19.11.2014 в 17:57.
Аника Янковская вне форума Ответить с цитированием
Старый 19.11.2014, 17:57   #20
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,987
По умолчанию

После нажатия на кнопку "OK" этого окна с красным крестиком выделяется строка программного кода, где находится ошибка. На какой строчке это происходит?

А что в Unit1.pas написано?
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]

Последний раз редактировалось Stilet; 19.11.2014 в 18:57.
newerow1989 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с элементами массива aenk Помощь студентам 0 05.12.2011 12:48
[C#] Работа с элементами массивов Doublefaced Помощь студентам 1 18.06.2009 15:34
Работа с матрицами (StringGrid, Delphi) Ратмир Помощь студентам 2 04.04.2009 13:41
Работа с однотипными элементами Bonifacyi Общие вопросы Delphi 3 26.01.2009 00:22
Delphi:Работа с Listbox и StringGrid Shaitan Помощь студентам 2 11.11.2008 21:04