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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2013, 00:43   #1
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию StringGrid + динамический массив

Доброго времени суток.
Написал следующий код
Код:
procedure TFrom1.BitBtn1Click(Sender: TObject);
var
 i,j,w : integer;
begin
 SetLength(h0, q-1);
 w := 0;
 i := 1;
for j:=0 to q1 do
 repeat
  h0[w] := StrtoFloat(StringGrid1.Cells[i,j]);
  inc(w);
  if i<5 then inc(i) else i := 1;
 until w=q-1;
end;
Поясняю. У меня есть к примеру 6 каких то значений(q=6).
СтрингГрид имеет 1 фиксированный столбец и 5 для значений.
Соответственно что бы вести эти 6 значений нужно 2 таких строки(q1=1, т.к. первая строка в гриде имеет порядковый номер 0, а вторая 1).
Нужно со СтрингГрида вывести в массив h0 эти 6 значений.
Я бы воспользовался простым Memo и не мучился бы, но нельзя.
q, q1 : integer;
Выдаёт ошибку "raised exception class ECConvertError with message " is not a valid floating point value ".

СОС!
Artsiom вне форума Ответить с цитированием
Старый 05.05.2013, 01:04   #2
tools
Форумчанин
 
Регистрация: 07.10.2008
Сообщений: 213
По умолчанию

Цитата:
"raised exception class ECConvertError with message " is not a valid floating point value "
Возможно, разделитель для вещественного числа неверно указан. Например, запятая вместо точки (зависит от региональных настроек вашей ОС).
tools вне форума Ответить с цитированием
Старый 05.05.2013, 09:46   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вместо StrtoFloat используй StrtoFloatDef() тогда ошибок не получишь.
Или так:
Код:
if not TryStrToFloat(StringGrid1.Cells[i,j],h0[w]) then begin
 ShowMessage('В клетке '+IntToStr(i)+','+IntToStr(j)+' введено не число');
 exit;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический массив, массив указателей alexalisa Паскаль, Turbo Pascal, PascalABC.NET 4 22.04.2011 21:33
Динамический массив - или всё таки не динамический? vedro-compota Общие вопросы C/C++ 30 10.12.2010 23:22
C, динамический массив kira_truelove Помощь студентам 1 24.10.2010 18:44
Динамический массив, StringGrid, Сумма элементов (Delphi) GreenPunk Помощь студентам 1 26.06.2010 18:47
динамический массив!!!! zarinka0992 Помощь студентам 1 11.02.2010 09:06