Forum > Beginners
[SOLVED] array scrolling
(1/1)
lazarusprogrammer:
Hello, right now my code works this way after 56789 it shows 67899 and then 12345.
But i want it to work like that after 56789 it should show 67890 then 78901 then 89012 and so on.
So i wanna make infinite scrolling of array. Could anybody help?
--- Code: Pascal [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---program project1; uses crt; var fArray : array of Integer; fScreen : array of Integer; start : Integer; procedure initArray;var i : Integer;beginstart := 0;SetLength(fArray, 10); SetLength(fScreen, 5); for i:=Low(fArray) to High(fArray) do fArray[i] := i; end;procedure Draw;var i, j : Integer;beginj := Low(fArray);for i:=Low(fScreen) to High(fScreen) do begin if i + start <= High(fArray) then fScreen[i] := fArray[j + start] else begin start := Low(fArray); j := Low(fArray); end; Delay(100); GotoXY(1 + i, 1); Write(fScreen[i]); Inc(j); end;end; procedure Move;beginInc(start);end; procedure MAIN;beginDraw;Move;Delay(1200);end; begininitArray; while True do MAIN; end.
Fibonacci:
--- Code: Pascal [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---{$mode objfpc}uses sysutils;var s: Integer = 0; i: Integer;begin repeat write(#13); for i := s to s + 4 do write(i mod 10); flush(output); s := (s + 1) mod 10; sleep(1000); until false;end.
dseligo:
--- Quote from: lazarusprogrammer on August 01, 2026, 06:39:06 pm ---So i wanna make infinite scrolling of array. Could anybody help?
--- End quote ---
I would change procedure Draw to:
--- Code: Pascal [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---procedure Draw;var i, j : Integer;begin j := Low(fArray); for i:=Low(fScreen) to High(fScreen) do begin fScreen[i] := fArray[j + start]; Inc(j); If j + start > High(fArray) then j := - start; Delay(100); GotoXY(1 + i, 1); Write(fScreen[i]); end;end;
And procedure Move to:
--- Code: Pascal [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---procedure Move;begin Inc(start); If start > High(fArray) then start := 0;end;
lazarusprogrammer:
--- Quote from: dseligo on August 02, 2026, 03:33:52 pm ---
--- Quote from: lazarusprogrammer on August 01, 2026, 06:39:06 pm ---So i wanna make infinite scrolling of array. Could anybody help?
--- End quote ---
I would change procedure Draw to:
--- Code: Pascal [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---procedure Draw;var i, j : Integer;begin j := Low(fArray); for i:=Low(fScreen) to High(fScreen) do begin fScreen[i] := fArray[j + start]; Inc(j); If j + start > High(fArray) then j := - start; Delay(100); GotoXY(1 + i, 1); Write(fScreen[i]); end;end;
And procedure Move to:
--- Code: Pascal [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---procedure Move;begin Inc(start); If start > High(fArray) then start := 0;end;
--- End quote ---
Yes. Nice. Thank you. Didn't know you can say j := - start;
Navigation
[0] Message Index