Ich habe eine procedure. In dieser procedure ändert sich die global definierte variable x[1] (Array of Integer), obwohl sie in dem Teil nicht angesprochen wird!!!
Ich habe über showmessage herausgefunden, dass sie sich in dem unten markierten Teil ändert, aber da steht sie nirgendwo drin!
Sie ändert sich erst nach dem ersten durchlaufen der for-Schleife!
Gibt es da eine erklärung für?
Delphi-Quellcode:
procedure leeren;
var xleeren,yleeren,i:integer;
begin
for xleeren := 1 to 19 do
for yleeren := 1 to 19 do
koordinaten[xleeren,yleeren] := 3;
for i := 0 to 6 do //<---------------------------------------In diesem Teil verändert sich x[1]
begin
if i <> 0 then yleeren := i*3+1 else yleeren := 1;
for xleeren := 1 to 20 do
koordinaten[xleeren,yleeren] := 0;
end;
for i := 0 to 6 do
begin
if i <> 0 then xleeren := i*3+1 else xleeren := 1;
for yleeren := 1 to 20 do
koordinaten[xleeren,yleeren] := 0;
end;
//Café
koordinaten[9,9] := 2;
koordinaten[8,8] := 2;
koordinaten[9,8] := 2;
koordinaten[8,9] := 2;
koordinaten[9,10]:= 4;
//Schule
koordinaten[18,18] := 2;
koordinaten[17,17] := 2;
koordinaten[17,18] := 2;
koordinaten[18,17] := 2;
koordinaten[17,16]:= 4;
end;