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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2014, 14:44   #1
tane
Пользователь
 
Регистрация: 14.12.2013
Сообщений: 64
По умолчанию ошибка: '' Is Not A Valid Integer Value / Delphi для начинающих

Здравствуйте)программа Рейтинг стран за результатами олимпийских соревнований
Ввожу данные в таблицу,выдает ошибка: '' Is Not A Valid Integer Value.
Помогите разобраться.
(Кнопка Підсумок > Итог)

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, StdCtrls, Grids;

type
  TForm1 = class(TForm)
    tabl: TStringGrid;
    Button1: TButton;
    Image1: TImage;
    procedure FormActivate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormActivate(Sender: TObject);
begin
tabl.Cells[0,0]:='Країна'; 
tabl.Cells[1,0]:='Золотих' ;
tabl.Cells[2,0]:='Срібних'; 
tabl.Cells[3,0]:='Бронзових';
tabl.Cells[4,0]:='Всього медалей';
tabl.Cells[5,0]:='Балів';
tabl.Cells[0,1]:='Україна';
tabl.Cells[0,2]:='Білорусія';
tabl.Cells[0,3]:='Англія';
tabl.Cells[0,4]:='Германія';
tabl.Cells[0,5]:='Італія';
tabl.Cells[0,6]:='Китай' ;
tabl.Cells[0,7]:='Корея';
tabl.Cells[0,8]:='Куба';
tabl.Cells[0,9]:='Нідерланди';
tabl.Cells[0,10]:= 'Россія' ;
tabl.Cells[0,11]:='США';
tabl.Cells[0,12]:='Франція';
tabl.Cells[0,13]:='Японія';
end;

procedure TForm1.Button1Click(Sender: TObject);
var 
c,r:integer; {номер столбика и номер строки таблицы}
s:integer; // всtго медалей у команды
p:integer; // балов у команды
m: integer; // номер ряда з максимальним к-ом балов 
buf:array[0..5] of string; // буфер для обмена рядков 
i:integer; // номер рядка - испол у сортировки
begin
for r:=1 to tabl.rowcount do // проработать все строки
begin
s:=0 ; //общее количество медалей?
for c:=1 to 3 do
if tabl.cells[c,r] <>' 'then s:=s+StrToInt(tabl.cells[c,r])
else tabl.cells[c,r]:= '0' ; // общее количество балов
p:=7*StrToInt(tabl.cells[1,r])+6*StrToInt(tabl.cells[2,r])+5*StrToInt(tabl.cells[3,r]); // выводим результат

tabl.cells[4,r]:=IntToStr(s); // всьего медалей
tabl.cells[5,r]:=IntToStr(p); // всьего балов
end; {упорядочивание таблицы за спадением - по 5-у столбику упорядочить методом выбора}
    for r:=1 to tabl.rowcount-1 do
begin
m:=r; // найбольший елемент - в r-му рядку
for i:=r to tabl.rowcount-1 do
if StrToInt(tabl.cells[5,i])>StrToInt(tabl.cells[5,m]) then m:=i;
if r <> m then
begin
for c:=0 to 5 do
begin
buf[c]:=tabl.Cells[c,r]; tabl.Cells[c,r]:=tabl.Cells[c,m]; tabl.Cells[c,m]:=buf[c];
end; end; end; end;

   
end.
Изображения
Тип файла: png Screenshot_1.png (94.4 Кб, 125 просмотров)
Тип файла: jpg Screenshot_2.jpg (8.9 Кб, 134 просмотров)
Вложения
Тип файла: rar 16(рейтинг).rar (27.1 Кб, 7 просмотров)
tane вне форума Ответить с цитированием
Старый 07.02.2014, 15:09   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Код:
for r:=1 to tabl.rowcount do // проработать все строки
так нельзя.
ладно, начинаете не от нуля, а от единицы (потому как у Вас при r равной нулю, в первой строке - заголовок)
но последняя строчка имеет индекс rowcount-1
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.02.2014, 15:13   #3
tane
Пользователь
 
Регистрация: 14.12.2013
Сообщений: 64
По умолчанию

Спасибо большое!
tane вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка " is not a valid integer value Htebazile Помощь студентам 1 19.09.2013 14:58
Delphi.Программа выдает ошибку "is not a valid integer value MariaD Помощь студентам 9 30.03.2013 17:45
Ошибка '' is not valid integer value svobodys Помощь студентам 4 12.12.2011 22:49
Периодически выскакивает ошибка "not valid integer value" Dux Общие вопросы Delphi 11 07.10.2010 18:37
Ошибка(оконная а не компилятора) "is not a valid integer value" sinobithug Помощь студентам 6 14.08.2010 22:49