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

Вниз

Если надо из пети ЛистБоксов всё выложить в Массив...   Найти похожие ветки 

 
Rradion   (2003-04-07 17:11) [0]

Создал Массив из рекоров

type Rec = record
recitem1, recitem2, recitem3, recitem4, recitem5 :string;
end;

VAR Mass:array of Rec;


Ну и цикл

SetLength(Mass,ListBox1.Items.Count);
For i:=0 to ListBox1.Items.Count do
Mass[i].recitem1 := ListBox1.Items[i];
Mass[i].recitem2 := ListBox2.Items[i];
Mass[i].recitem3 := ListBox3.Items[i];
Mass[i].recitem4 := ListBox4.Items[i];
Mass[i].recitem5 := ListBox5.Items[i];


А он мне
Project Project1.exe raised exception class EStringListError with message "List index out of bounds (1)". Proccess stopped...


Спасибо!


 
Palladin ©   (2003-04-07 17:16) [1]

а головой подумать?

For i:=0 to ListBox1.Items.Count-1

понимаешь
от 0 до 5 находится 6 элементов.. а не 5.... а у тебя 5...


 
NDeu ©   (2003-04-07 17:22) [2]

SetLength(Mass,ListBox1.Items.Count);
For i:=0 to ListBox1.Items.Count -1 do
Mass[i].recitem1 := ListBox1.Items[i];
Mass[i].recitem2 := ListBox2.Items[i];
Mass[i].recitem3 := ListBox3.Items[i];
Mass[i].recitem4 := ListBox4.Items[i];
Mass[i].recitem5 := ListBox5.Items[i];




 
NickBat ©   (2003-04-07 17:28) [3]

А зачем "VAR Mass:array of Rec;"
если можно просто mass: array of string;

И, кстати, в приведенном коде только первоая строка после do будет обрабатываться в цикле. :)))


 
Bel ©   (2003-04-07 17:28) [4]

> SetLength(Mass,ListBox1.Items.Count);

Допустим, в ListBox"е 6 строчек, тогда для массива Mass выделяется 6 байтов. Это правильно?

Кроме того, у тебя каждый элемент массива будет содержать одинаковые записи. Это ты для примера так привёл или в программе собираешься использовать?


 
Bel ©   (2003-04-07 17:30) [5]

> Кроме того, у тебя каждый элемент массива будет содержать
> одинаковые записи. Это ты для примера так привёл или в программе собираешься использовать?

Sorry, снимается. Не заметил, что ListBox"ы разные.


 
Rradion   (2003-04-07 17:36) [6]

Точно! Забыл, подле "do", "begin" и "end" поставить :) Работает!

Кажадая ечеика Массива состорит из Рекорда, а рекорд из пети "recitem".

Первая строчка из ListBox1 идёт в Mass[0].recitem1 , первая из ListBox2 в в Масс[0].рецитем2 и т.д.


 
malkolinge1   (2003-04-07 18:50) [7]

begin
end


 
Петя ЛистБоксов   (2003-04-07 21:28) [8]

Круто



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
1-54548
Archvile
2003-04-03 22:29
2003.04.17
ini-файл


6-54774
Zelius
2003-02-25 12:00
2003.04.17
Проблемы с TidICMPClient!


3-54509
npAKTuk
2003-03-30 20:50
2003.04.17
Datasources


1-54730
PrettyFly
2003-04-05 14:08
2003.04.17
Internal error: URW3950


1-54728
AlexMax
2003-04-05 17:20
2003.04.17
Всё тот же Hint