Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.03.02;
Скачать: [xml.tar.bz2];

Вниз

Заполнить случайными числами компонент 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.033 c
15-1201334473
del
2008-01-26 11:01
2008.03.02
Санер радиочастот


15-1201276543
Галинка
2008-01-25 18:55
2008.03.02
Портативные "читалки" текста


2-1202375858
alexsashkan
2008-02-07 12:17
2008.03.02
StringGrid


2-1202292471
Sanyadmb
2008-02-06 13:07
2008.03.02
Как обрабатывать выделенные записи в DBgrid ?


2-1202288543
9899100
2008-02-06 12:02
2008.03.02
запятая в строке в операторе insert





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский