Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Вниз

"is not a valid integer value"   Найти похожие ветки 

 
Erick ©   (2005-05-24 23:11) [0]

procedure TForm1.Button2Click(Sender: TObject);
var
i,j,number,number1,number2:integer;
d,max,min1,min2,min:extended;
kernel_mas:array [1..100] of integer;
x,y,rd,color:integer;
begin
color:=1;

for j:=1 to vcount do begin
x:=StrToInt(StringGrid1.Cells[1,j]);
y:=StrToInt(StringGrid1.Cells[2,j]);
Image1.Canvas.Ellipse(x-5,y-5,x+5,y+5);
Image1.Canvas.TextOut(x+5,y+5,IntToStr(j));
end;
Randomize;
j:=random(vcount);
x:=StrToInt(StringGrid1.Cells[1,j]);
y:=StrToInt(StringGrid1.Cells[2,j]);
Image1.Canvas.Brush.Color:=color;
Image1.Canvas.Ellipse(x-5,y-5,x+5,y+5);

max:=0;
//Memo1.Lines.Add("N1=X(1)");
//вычисляем расстояния от первого ядра до остальных объектов. N2-оъект с мах
//расстоянием до первого ядра.
for i:=2 to vcount do
begin
d:=evclid(j,i);
if d>max then begin
max:=d;
number:=i;
end;
end;
//Блок 3
x:=StrToInt(StringGrid1.Cells[1,j+1]);
y:=StrToInt(StringGrid1.Cells[2,i+1]);
Image1.Canvas.Brush.Color:=2;
Image1.Canvas.Ellipse(x-5,y-5,x+5,y+5);

end;

При нажатии на эту кнопку, вылазит диалоговое окно, на котором написано "is not a valid integer value". В чём ошибка? Без того, что помечено как "Блок 3" работает нормально.
Заранее благодарен.


 
raidan ©   (2005-05-24 23:23) [1]

у тебя числа в stringgrig все целые?


 
Yanis ©   (2005-05-24 23:25) [2]


> В чём ошибка?

В блоке 3.


 
Erick ©   (2005-05-24 23:39) [3]

у тебя числа в stringgrig все целые?
Целые.

В блоке 3.
Почему? Он аналогичен первому и второму.


 
raidan ©   (2005-05-24 23:43) [4]

>Erick ©   (24.05.05 23:39) [3]
Нет, он не аналогичен.
В третьем блоке сначала j+1, а потом i+1.


 
Yanis ©   (2005-05-24 23:44) [5]

Содержимое ячеек меняется.


 
Yanis ©   (2005-05-24 23:45) [6]

т.е. не меняется.


 
Virgo_Style ©   (2005-05-24 23:45) [7]

Erick ©   (24.05.05 23:11)

Сообщение должно выглядить так:
... "значение" is not a valid integer value...

Чему равно "значение"? Я подозреваю, что пустой строке.


 
Erick ©   (2005-05-25 00:17) [8]

Ошибся немножко, когда переделывал.
Вот код, проблема осталась.

procedure TForm1.Button2Click(Sender: TObject);
var
i,j,number,number1,number2:integer;
d,max,min1,min2,min:extended;
kernel_mas:array [1..100] of integer;
x,y,rd,color:integer;
begin
color:=1;
{x:=StrToInt(StringGrid1.Cells[1,1]);
y:=StrToInt(StringGrid1.Cells[2,1]); }
for j:=1 to vcount do begin
x:=StrToInt(StringGrid1.Cells[1,j]);
y:=StrToInt(StringGrid1.Cells[2,j]);
Image1.Canvas.Ellipse(x-5,y-5,x+5,y+5);
Image1.Canvas.TextOut(x+5,y+5,IntToStr(j));
end;
Randomize;
j:=random(vcount);
x:=StrToInt(StringGrid1.Cells[1,j]);
y:=StrToInt(StringGrid1.Cells[2,j]);
Image1.Canvas.Brush.Color:=color;
Image1.Canvas.Ellipse(x-5,y-5,x+5,y+5);

max:=0;
//Memo1.Lines.Add("N1=X(1)");
//вычисляем расстояния от первого ядра до остальных объектов. N2-оъект с мах
//расстоянием до первого ядра.
for i:=2 to vcount do
begin
d:=evclid(j,i);
if d>max then begin
max:=d;
number:=i;
end;
end;
x:=StrToInt(StringGrid1.Cells[1,i]);
y:=StrToInt(StringGrid1.Cells[2,i]);
Image1.Canvas.Brush.Color:=clRed;
Image1.Canvas.Ellipse(x-5,y-5,x+5,y+5);

end;


Функция evclid:

function evclid(i:integer;j:integer):extended;
var
k,rez,_sqr:integer;
begin
rez:=0;
for k:=1 to kcount do
begin
_sqr:=sqr(StrToInt(Form1.StringGrid1.Cells[k,i])-StrToInt(Form1.StringGrid1.Cells[k,j]));
rez:=rez+_sqr;
end;


 
evvcom ©   (2005-05-25 09:04) [9]

Кроме сообщения об ошибке Delphi указывает еще и строку, в которой эта ошибка произошла. Еще в IDE есть такие понятия как точки останова и пошаговая отладка, а еще Watches (Ctrl+F5). Попробуй с ними подружиться.


 
alex_***   (2005-05-25 09:58) [10]

еще неплохо бы научиться форматировать текст, для лучшего переваривания



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.034 c
3-1115524614
MickL
2005-05-08 07:56
2005.06.14
BLOB поле


14-1117005456
Igorek
2005-05-25 11:17
2005.06.14
Как установить на клавиатуру индикатор раскладки?


10-1093539136
Лана Розанова
2004-08-26 20:52
2005.06.14
Проблемы с COM


1-1117451915
Mouserx
2005-05-30 15:18
2005.06.14
Использование inherited


3-1115474287
eLVik
2005-05-07 17:58
2005.06.14
Отличить ключевое поле от обычного (ADO)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский