|
|
|
Как при вводе числа в Edit1, по очереди удалять элементы?
|
|||
|---|---|---|---|
|
#18+
Когда я ввожу число значения массива в Eidt1 то элемент удаляется с этим значением, пытаюсь удалить следующий элемент. Массив создаётся заново и удаляется другой элемент массива. Вообщем сколько раз я бы не вводил, удаляется только один элемент. Как это можно исправить, чтобы при удалении, массив сохранялся с уже удалённым элементом и при повторе удалялся другой элемент, до тех пор пока массив не станет пустым. Основной код привязан к Button2. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2020, 19:50 |
|
||
|
Как при вводе числа в Edit1, по очереди удалять элементы?
|
|||
|---|---|---|---|
|
#18+
Дмитрий97 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Я не совсем вник в "проблему", но тут вроде как явный косяк. Твой тип TArr - это динамический массив, он индексируется от нуля. Даже если ты в качестве параметра передашь массив, который индексируется иначе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2020, 20:04 |
|
||
|
Как при вводе числа в Edit1, по очереди удалять элементы?
|
|||
|---|---|---|---|
|
#18+
Дмитрий97Как это можно исправить Именно для таких случаев придумали пошаговую отладку. Идёшь по коду и смотришь на значения переменных пока они не начнут отличаться от тех, которые ты ожидаешь. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2020, 20:07 |
|
||
|
Как при вводе числа в Edit1, по очереди удалять элементы?
|
|||
|---|---|---|---|
|
#18+
Дмитрий97 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. И тут, вроде, то же самое, ты про нулевой элемент забыл... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2020, 20:08 |
|
||
|
Как при вводе числа в Edit1, по очереди удалять элементы?
|
|||
|---|---|---|---|
|
#18+
Дмитрий97, автор h := High(A); ... SetLength(A, h ); не вижу уменьшения массива. Просто часть массива перетирается, при этом последний элемент не меняется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2020, 21:33 |
|
||
|
Как при вводе числа в Edit1, по очереди удалять элементы?
|
|||
|---|---|---|---|
|
#18+
Gerasimenko не вижу уменьшения массива. Просто часть массива перетирается, при этом последний элемент не меняется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2020, 21:57 |
|
||
|
Как при вводе числа в Edit1, по очереди удалять элементы?
|
|||
|---|---|---|---|
|
#18+
rgreat, нет, но у него именно эта проблема ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2020, 21:59 |
|
||
|
Как при вводе числа в Edit1, по очереди удалять элементы?
|
|||
|---|---|---|---|
|
#18+
Gerasimenko rgreat, нет, но у него именно эта проблема кстати, он еще и пересоздает массив перед удалением элемента procedure TForm1.Button2Click(Sender: TObject); var Arr: TArr; i:Integer; begin //Создаёт массив asdf(Arr); //Удадяет массив delElem( Arr, Edit1.Text ); Memo2.Clear; for i:=1 to Length(Arr)-1 do begin Memo2.Lines.Append( IntToStr(Arr[i]) ); end; end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2020, 22:13 |
|
||
|
Как при вводе числа в Edit1, по очереди удалять элементы?
|
|||
|---|---|---|---|
|
#18+
Gerasimenko rgreat, нет, но у него именно эта проблема Код: pascal 1. 2. 3. 4. 5. 6. результат3 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2020, 22:40 |
|
||
|
Как при вводе числа в Edit1, по очереди удалять элементы?
|
|||
|---|---|---|---|
|
#18+
rgreat Gerasimenko rgreat, нет, но у него именно эта проблема Код: pascal 1. 2. 3. 4. 5. 6. результат3 2 Да, в данном конкретном случае, я тупанул. Пересоздание массива у него. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2020, 22:47 |
|
||
|
Как при вводе числа в Edit1, по очереди удалять элементы?
|
|||
|---|---|---|---|
|
#18+
В принципе я это и ожидал, что никто мне не поможет. Придут люди воздух потрясут, дадут “вумные” советы и разбегутся. Потому, что никто не знает. авторЯ не совсем вник в "проблему", но тут вроде как явный косяк. Твой тип TArr - это динамический массив, он индексируется от нуля. Даже если ты в качестве параметра передашь массив, который индексируется иначе. Если вы не поняли сути проблемы, хотя я максимально подробно объяснил что нужно удалять элементы массива через edit, пока массив не будет пустой. Тогда вряд ли вы знаете как удалять элементы массива. авторИменно для таких случаев придумали пошаговую отладку. Идёшь по коду и смотришь на значения переменных пока они не начнут отличаться от тех, которые ты ожидаешь. Ваша отладка нафиг никому не нужна меня интересует сам алгоритм, а не отладка кода, я ей пользуюсь только в том случае если серьёзная ошибка и код не запускается, а он работает криво но работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2020, 23:14 |
|
||
|
Как при вводе числа в Edit1, по очереди удалять элементы?
|
|||
|---|---|---|---|
|
#18+
Дмитрий97 Ваша отладка нафиг никому не нужна меня интересует сам алгоритм, а не отладка кода, я ей пользуюсь только в том случае если серьёзная ошибка и код не запускается, а он работает криво но работает. рукалицо. Когда код не запускается - его не отлаживают, а исправляют. А отладка - это как раз для случая криво работающего кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2020, 23:49 |
|
||
|
Как при вводе числа в Edit1, по очереди удалять элементы?
|
|||
|---|---|---|---|
|
#18+
Что это было? Эт чё, новая поросль программистов? В трех соснах плутают и отладкой брезгуют с апломбом? Нда... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2020, 00:04 |
|
||
|
Как при вводе числа в Edit1, по очереди удалять элементы?
|
|||
|---|---|---|---|
|
#18+
Дмитрий97, Ты в Edit вводишь что? N элемента массива или элемент массива, который нужно удалить? Если элемент массива - могут ли быть в массиве дубли? А так-то: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. P.S. Писалось на коленке. Не проверялось. Так что отладчик может и пригодится :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2020, 09:29 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39941522&tid=2038452]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
25ms |
get topic data: |
6ms |
get forum data: |
5ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 259ms |
| total: | 343ms |

| 0 / 0 |
