[DELPHI 6.0] probleempje....hoe buffer FIFO te gebruiken??

Pagina: 1
Acties:

  • Da_Hardest
  • Registratie: November 2002
  • Laatst online: 09-08-2025

Da_Hardest

-= BrainB0ne =-

Topicstarter
Hallo...Vraagje...

Ik heb een array...in dit geval een array[1..20]
code:
1
2
3
4
  cycleLengthArray: array[1..20] of integer = (340,330,320,310,300,
                                               310,300,310,330,320,
                                               330,340,330,320,310,
                                               320,330,320,310,330);


nu is het de bedoeling om de laatste 18 elementen in een buffer te zetten..en deze uit te lezen...w8 ik leg effe korte uitleg uit wat ik wil en wat ik al heb... B)

Het is dus de bedoeling dat er geteld wordt hoevaak 340...330..320 enz in een bereik van 240 tot 400 voorkomt in het array.... in een editbox kan ik het aantal elementen kiezen die ik wil gebruiken van het array...dus bijvoorbeeld: Ik kies 6 stuks...dan schrijf ik in een memobox: ==>0 0 0 0 0 0 1 2 1 1 1 0 0 0 0 0 0 <==
betekent dus.. 0 keer 240...0 keer 250...0 keer 260.............1 keer 300... 2 keer 310 enzovoort..
Ook de voorgaande waarden worden weergegeven in de memobox...dus van aantal elementen 1 tm 5..
Tot en met 18 elementen moet hij gewoon verder gaan zoals boven uitgelegd staat
Nou dit gaat dus allemaal goed totdat ik bij 19 elementen kom...
Dan moet hij namelijk niet de laatste 19 elementen pakken maar de laatste 18... zo dus als ik het getal 20 invoer... moet hij van index 3 tm 20 de elementen tellen...

Weet iemand hoe ik dit kan oplossen?? Ik hoor hier kreten als Cyclische buffer FIFO ofzo??? :? :?
Ik zou echt niet weten hoe ik het zou moeten gebruiken....maybe weten jullie het wel... als jullie meer willen weten vraag het me effe..misschien ben ik wel een beetje vaag... maar op papier is het zo simpel uitgelegd..alleen in spreektaal lukt het me nog niet zo goed |:(

Ik hoor het wel...Hartelijk dank alvast :)

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

C++:
1
2
3
4
5
6
7
if(Position < 18)
  FirstElement = 1
  ElementsCount = Position
else
  FirstElement = Position - 18
  ElementCount = 18
end if

Professionele website nodig?


  • Da_Hardest
  • Registratie: November 2002
  • Laatst online: 09-08-2025

Da_Hardest

-= BrainB0ne =-

Topicstarter
curry684 schreef op 22 november 2002 @ 15:08:
C++:
1
2
3
4
5
6
7
if(Position < 18)
  FirstElement = 1
  ElementsCount = Position
else
  FirstElement = Position - 18
  ElementCount = 18
end if
ja.....iets dergelijks had ik ook al gemaakt..moet ik op die toer gaan denken ??? Want het liep nog effe allemaal beetje veel de mist in 8)7