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

Go to full version