Delphi-Quellcode:
procedure TForm1.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
Var
K:integer;
Begin
for k := 0 to 96 do
Test1[k] := Test[x mod 97];
end;
oder kurz:
Delphi-Quellcode:
procedure TForm1.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
Var
K:integer;
Begin
Test1[k] := Copy(Test, x mod 97, 97);
end;
Grundsätzlich war bei deinem geposteten Code kein Case notwendig, da du eh immer das gleiche gemacht hast. Da hättest du auch gleich eine Schleife nehmen können. Ich habe deine Aussage nun so interpretiert, dass Test1[] immer von 0..96 geht und Test[] die 8000 Werte enthält. Wenn das aber falsch ist und Test1[] und Test[] jeweils 8000 Werte enthalten und du immer nur die 97 Werte kopiert haben willst, dann so:
Delphi-Quellcode:
procedure TForm1.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
Var
K, lBase:integer;
Begin
lBase := x div 97;
for k := 0 to 96 do
Test1[lBase + k] := Test[lBase + k];
end;