Главная страница
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.015 c
3-54399
Shtock
2003-03-27 08:14
2003.04.17
Работа с вычисляемыми полями


3-54423
Saska
2003-04-01 12:40
2003.04.17
Снова TADOQuery


14-54794
ai
2003-04-02 13:55
2003.04.17
Сколько стоит написать OPC-клиента?


14-54869
Supreme 2
2003-04-01 23:16
2003.04.17
Чё с МАСЯНЕЙ????? Гляньте сайт! Это чё, прикол??


4-54965
Sentinel
2003-02-15 21:54
2003.04.17
SetClassLong