Advertisement
Guest User

Untitled

a guest
Sep 21st, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. var i:integer;
  2. begin
  3. for i:= 40000 to 90000 do
  4. begin
  5. ComboBox1.AddItem(IntToStr(i), nil); //until here the code works
  6. Inc(i, 1000);
  7. end;
  8.  
  9. for i := 0 to 50 do
  10. ComboBox1.AddItem(IntToStr(40000 + 1000 * i), nil)
  11.  
  12. ComboBox1.Items.BeginUpdate;
  13. for i := 0 to 50 do
  14. ComboBox1.Items.Add(IntToStr(40000 + 1000 * i));
  15. ComboBox1.Items.EndUpdate;
  16.  
  17. i := 40000;
  18. while i <= 90000 do
  19. begin
  20. ComboBox1.AddItem(IntToStr(i), nil);
  21. Inc(i, 1000);
  22. end;
  23.  
  24. i := 40000;
  25. repeat
  26. ComboBox1.AddItem(IntToStr(i), nil);
  27. Inc(i, 1000);
  28. until i > 90000;
  29.  
  30. Type
  31. ForLoop = record
  32. class procedure Step( Start,Stop,AStep : Integer;
  33. ALoop : TProc<Integer>); static;
  34. end;
  35.  
  36. class procedure ForLoop.Step(Start,Stop,AStep : Integer; ALoop: TProc<Integer>);
  37. begin
  38. while (start <= stop) do
  39. begin
  40. ALoop(start);
  41. Inc(Start,AStep);
  42. end;
  43. end;
  44.  
  45. ForLoop.Step( 40000,90000,1000,
  46. procedure ( i : Integer)
  47. begin
  48. ComboBox1.AddItem(IntToStr(i), nil);
  49. end
  50. );
  51.  
  52. type
  53. Range = record
  54. private
  55. FCurrent,FStop,FStep : Integer;
  56. public
  57. constructor Step( Start,Stop,AnIncrement : Integer);
  58. function GetCurrent : integer; inline;
  59. function MoveNext : boolean; inline;
  60. function GetEnumerator : Range; // Return Self as enumerator
  61. property Current : integer read GetCurrent;
  62. end;
  63.  
  64. function Range.GetCurrent: integer;
  65. begin
  66. Result := FCurrent;
  67. end;
  68.  
  69. function Range.GetEnumerator: Range;
  70. begin
  71. Result := Self;
  72. end;
  73.  
  74. function Range.MoveNext: boolean;
  75. begin
  76. Inc(FCurrent,FStep);
  77. Result := (FCurrent <= FStop);
  78. end;
  79.  
  80. constructor Range.Step(Start,Stop,AnIncrement: Integer);
  81. begin
  82. Self.FCurrent := Start-AnIncrement;
  83. Self.FStop := Stop;
  84. Self.FStep := AnIncrement;
  85. end;
  86.  
  87. for i in Range.Step(40000,90000,1000) do
  88. ComboBox1.AddItem(IntToStr(i), nil);
  89.  
  90. var i: integer;
  91. begin
  92. for i:= 40 to 90 do
  93. begin
  94. ComboBox1.AddItem(IntToStr(i*1000), nil);
  95. end;
  96. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement