Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.02;
Скачать: CL | DM;

Вниз

Заполнить случайными числами компонент Listbox   Найти похожие ветки 

 
ганс ©   (2008-02-03 20:07) [0]

Не получается заполнить случайными числами Listbox
пишу в процедуре нажатия кнопки вот что:
var i:integer;
a:array[0..9] of integer;
begin
randomize;
for i:=0 to 9 do
a[i]:=random(20)-10;
listbox1.items.add(inttostr(a[i]));

И при нажатии кнопки в первой строке Listbox появляются 7 случайных цифр, выстроенных в ряд, а надо 10 цифр по одной в каждой строке.
Почему так получается?


 
Григорьев Антон ©   (2008-02-03 20:12) [1]

Потому что listbox1.items.add(inttostr(a[i])) у вас не входит в цикл, эта строка выполняется после цикла, когда i=10, т.е. идёт обращение к элементу a[10]. А так как этого элемента не существует, фактически идёт обращение к памяти сразу за массивом, и что там будет лежать - непредсказуемо. В вашем случае там лежит одно большое семизначное число, которое и добавляется в ListBox1.

Итого имеем: во-первых, не надо забывать про begin..end. Во-вторых, надо обращать внимание на предупреждения компилятора, который наверняка верещал, что значение переменной i после цикла не определено, и использовать его нельзя.


 
Ганс ©   (2008-02-03 20:20) [2]

Подскажите пожалуйста что исправить надо


 
ketmar ©   (2008-02-03 20:28) [3]

>[2] Ганс ©(03.02.08 20:20)
DNA.

тебе же разжевали просто до обалдения. ты бы язык поучил немного — оно помогает.


 
Ганс ©   (2008-02-03 20:35) [4]

я учу язык


 
Johnmen ©   (2008-02-03 20:36) [5]


> ketmar ©   (03.02.08 20:28) [3]

Ты не умничай, ты код давай! (с)
:)


 
ketmar ©   (2008-02-03 20:50) [6]

>[4] Ганс ©(03.02.08 20:35)
или ты его очень избирательно учишь, или тебе сильно не повезло с учебником. если второе — выкинь на помойку. в любой адекватной книге к моменту написания такого кода уже должны были пояснить, что такое блочный оператор, операторные скобки и как всё это применять.

зыж если не ясно — это хинты «куда читать».


 
ketmar ©   (2008-02-03 20:52) [7]

>[4] Ганс ©(03.02.08 20:35)
да, а на код не надейся. это тут вряд ли. мы предпочитаем сложно, но научить, нежели давать зубрить заклинания.


 
Ганс ©   (2008-02-03 20:57) [8]

Операторные скобки я сюда не скопировал в целях экономии пространства, ведь и так всем ясно что они должны там быть


 
ketmar ©   (2008-02-03 21:04) [9]

>[8] Ганс ©(03.02.08 20:57)
всё. вот тут я ушёл ржать. усну с хорошим настроением.


 
Anatoly Podgoretsky ©   (2008-02-03 21:26) [10]

> Ганс  (03.02.2008 20:57:08)  [8]

Стоп, так этот код никакого отношения к вопросу не имеет, так чего же ты сразу этого не сказал. Стал бы тот же Кетмар пальцы стирать, если бы знал это.


 
sniknik ©   (2008-02-03 21:28) [11]

> Операторные скобки я сюда не скопировал в целях экономии пространства, ведь и так всем ясно что они должны там быть
ну дак... и ответ тебе дали, в твоем стиле, с поясняющим кодом... просто сюда не скопировали, и так все знают каким он должен быть...


 
KilkennyCat ©   (2008-02-04 08:03) [12]

Ну почему орешник не реанимируют? Таланты пропадают!


 
Ганс ©   (2008-02-04 10:50) [13]

Удалено модератором
Примечание: 3


 
KilkennyCat ©   (2008-02-04 10:55) [14]

> [13] Ганс ©   (04.02.08 10:50)
> Вам легче бы было если бы я скопировал begin и end?

нам индифферентно.


 
Григорьев Антон ©   (2008-02-04 11:13) [15]


> Ганс ©   (04.02.08 10:50) [13]
> Вам легче бы было если бы я скопировал begin и end?

Как ни странно, да. Потому что единственная проблема приведённого в [0] кода - это то, что там отсутствуют begin и end. Если же они там, как вы говорите, есть, значит, поставлены не там, где надо. Если бы вы с самого начала скопировали реальный код, а не выкидывали бы оттуда то что "и так всем ясно", мы бы могли датть более точный ответ.

> Хотел ответ получить

Так вы его получили. Вы писали: "Почему так получается?" Я вам объяснил.

> а тут какие-то антисемиты сидят

Если бы вы немного подумали, прежде чем писать это, легко догадались бы, что никакой информацией о вашей национальности мы не располагали, поэтому не очень хорошее к вам отношение определяется чем-то другим. Вам даже объяснили, чем именно, кстати говоря.


 
clickmaker ©   (2008-02-04 12:56) [16]


> а тут какие-то антисемиты сидят.....

странно слышать это от Ганса...


 
Август ©   (2008-02-05 09:03) [17]

Ганс это ник! (был :))
А я догадался в чем ошибка! Спасибо таки Григорьеву Антону за подсказку!
Ну и вам всем спасибо за одно :)



Страницы: 1 вся ветка

Текущий архив: 2008.03.02;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.018 c
15-1201622881
Andrewtitoff
2008-01-29 19:08
2008.03.02
В чем ошибка?2


15-1201186192
oldman
2008-01-24 17:49
2008.03.02
"Интерфейс не зарегистрирован" что бы это могло быть?


15-1201457457
AntonUSAnoV
2008-01-27 21:10
2008.03.02
проблема с кодировкой при установке своей проги


15-1201424349
Kostafey
2008-01-27 11:59
2008.03.02
С днем рождения ! 26 января


2-1202457429
dj0n
2008-02-08 10:57
2008.03.02
как скопировать файл если такой уже есть??