![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Простая программа [D5, Win95/98]
_Alex_ © (2002-08-17 11:47:00)Привожу часть просто часть программы, на форме 2 кнопки
нажатие на Button1 показать массив, нажатие на Button2 присвоить
элементу массива 3,4 значение 1. Все просто. Но.
У меня происходит следующее. Жму первую, смотрю массив чистый.
жму вторую, присвоили. Потом жму первую и вижу следующее
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
я присаиваю значение одному элементу, паралельно сним
на 10 левее, и на 1 выше появляются те же самые значения,
фантастика какая-то. Может у меня чего-то глючит. Пожалуйста проверьте у себя кто-нибудь. Что с этим делать.
Код:
unit Unit1;
......
......
{ Public declarations }
end;
const
box_s=30;
R_X=15;
R_Y=10;
type l=record
massiv : array [1..R_X,1..R_Y] of integer;
end;
var
Form1: TForm1;
m: l;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
i,j: integer;
mes: string;
begin
mes:="";
for i:=1 to r_y do
begin
mes:=mes+inttostr(i)+": ";
for j:=1 to r_x do
mes:=mes+" "+inttostr(m.massiv[i,j]);
mes:=mes+ #13+#10;
end;
showmessage(mes);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
m.massiv[3,4]:=1;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i,j: integer;
begin
for i:=1 to r_y do
for j:=1 to r_x do
m.massiv[i,j]:=0;
end;
end.
_Alex_ (2002-08-17 13:39:00) [1]Отбой!
Проверил.
В объявлении масиива надо поменять местами r_x и r_y
_Alex_ (2002-08-17 13:30:00) [2]Даже если я и поменяю местами i и j.
У меня появляются две единицы, а должна одна!
Проверьте саму программу.
Набережных С. (2002-08-17 12:52:00) [3]
> Может у меня чего-то глючит.
Несомненно. А конкретно - перепутал местами iи j