Qualcuno mi aiuta a capire percè il seguente gruppo di istruzioni mi da errore in compilazione?:
procedure TForm411.LavvisoClick(Sender: TObject);
var
indx: TComponent;
k: Integer;
xSel: String;
begin
for k:= 0 to 8 do
begin
if (k = Lavviso.Tag - 1) then
begin
EdigNum.Enabled:= True;
writeln('EdigNum.Text = |' + EdigNum.Text + '| prima della modifica');
EdigNum.Text:= (tbIndCompo[k] as TEdit).Text;
writeln('EdigNum.Text = |' + EdigNum.Text + '| dopo la modifica');
if (k < 8) then
begin
repeat
(tbIndCompo[k] as TEdit).Text := (tbIndCompo[k + 1] as TEdit).Text;
writeln('EmioNum[' + IntToStr(k) + ']-> |' + (tbIndCompo[k] as TEdit).Text + '|');
k:= k + 1;
until(k >= 7);
end;
(tbIndCompo[8] as TEdit).Text:= '';
end;
end;
L'errore prodotto è
carnumgioca.pas(238,9) Error: Illegal assignment to for-loop variable "k"
-----------
l'istruzione (238) è "k:= k + 1;"
Francamente non capisco perchè. Ho riscontrato lo stesso procedimento anche in diversi esempi letti sul web, fra cui questo (http://www.lazaruspascal.it/index.php?page=15)
??? ::) :-[