Форум: "Основная";
Текущий архив: 2002.05.23;
Скачать: [xml.tar.bz2];
ВнизСписки Найти похожие ветки
← →
Kopachev (2002-05-13 20:59) [0]Подскажите как добраться до содержания списка. Имею две структуры:
type
RAZDEL = record
Visible: boolean;
otstup: integer;
razdel_otstup: integer;
pos: TPoint;
podrazdel: TList;
end;
type
PODRAZD = record
num: integer;
otstup: integer;
strok: integer;
pos: TPoint;
end;
Создаю список RAZDEL.podrazdel:=TList.Create;
После пытаюсь добраться до содержания списка, но получаю ошибку invalid typecast:
(PODRAZD(Razdel[k].podrazdel.Items[Razdel[k].podrazdel.Count-1])).pos.y
← →
Malder (2002-05-13 21:13) [1]Какую то ахинею пишешь или чего то не договариваешь.
Что такое Razdel[k] ? RAZDEL - Это запись. А ты обращаешься как с масивом...
← →
Kopachev (2002-05-13 22:41) [2]Я сделал массив записей RAZDEL
var Raz: array[1..8] of RAZDEL;
Теперь прошелся по массиву и создал список
for i:=1 to 8 do begin
raz[i].podrazdel := TList.Create
end;
Нужно обратится к K-той записи
(PODRAZD(Raz[k].podrazdel.Items[1])).pos.y
Почуму-то не работает. Я недавно программирую на Delphi, так что сильно ногами не пихайте:)
← →
Malder (2002-05-14 00:27) [3]Kopachev
Нужно обратится к K-той записи
(PODRAZD(Raz[k].podrazdel.Items[1])).pos.y
Странно ты обращаешься. Надо проще:
Raz[k].podrazdel.Items[1].pos.y
Только это неверно. Потому что в TList.Items нету Pos. Может ты просто хочешь обратиться к Pos.y из Raz ? Тогда:
Raz[k].podrazdel.pos.y
А вообще, вопрос настолько странный, сразу столько ошибок допущено, что наводит на мысль - ты не читал ни одной книги по Delphi. Прочти - помогает...
← →
Cobalt (2002-05-14 00:38) [4]ты приводишь указатель к записи.
Надо приводить указатель к указателю на запись
type
PPODRAZD = ^PODRAZD;
(PPODRAZD(Raz[k].podrazdel.Items[1])).pos.y
или раскрывать укзатель:
(PODRAZD(Raz[k].podrazdel.Items[1] ^)).pos.y
← →
Kopachev (2002-05-14 00:56) [5]Cobalt
Спасибо, все заработало.
Malder
А вообще, вопрос настолько странный, сразу столько ошибок допущено, что наводит на мысль - ты не читал ни одной книги по Delphi. Прочти - помогает...
Вообщет-то читаю Арангельский"Програм-е в Delphi5"
Я переквалифицируюсь с C++Builder на Delphi. Отсюда и куча ошибок.
Всем спасибо.
← →
Kopachev (2002-05-15 00:15) [6]А можно ли изменить объект, хранящийся в списке.
Т.е. есть запись type rec =record name: string; end;
Я добавляю ее к списку, потом изменяю значение name в списке.
PODRAZD(podrazdel.Items[i]^).name := 5;
Почему появляется ошибка: "Left side cannot be aasigned to"
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.05.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c