![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Гость05 |
|
|||
|
Unregistered |
требуется хранить набор координат (TPoint), предпологал использовать TList, но немогу сохранить:
как грамотно произвести сохранение? |
|||
|
||||
| z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 11 Всего: 102 |
можно использовать типизированый файл типа TPoint и производить поэлементное чтение/запись
-------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
| Гость05 |
|
|||
|
Unregistered |
пардон, допустил неточность, под сохранением имел ввиду не на диск, а хранение в удобном виде, вобщем просил помочь с синтаксисом данной строки, т.к. оная не компилится
|
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
Мож сделать так (если точек не сильно много)
конечно легче класс создать свой, наподобии TList , только для хранения точек -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Гость05 |
|
|||
|
Unregistered |
спасибо за предложения
задача кратковременная => специально класс городить не хотелось данных может быть много и к томуже хочется некой универсальности так что хотелось бы услышать ещё мнений |
|||
|
||||
| MBo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 10.6.2002 Репутация: 3 Всего: 18 |
var PP:PPoint;
... New(PP); PP^:=Point(X,Y); List.Add(PP); ... Pointvar:=PPoint(List[i])^; .... и не забыть освободить память потом. Кроме того, если диапазона координат SmallInt хватит, можно воспользоваться типом TSmallPoint - занимает 4 байта, поэтому можно записывать прямо в TList с использованием приведения типов, что позволяет избежать использования динамического выделения памяти. List.Add(Pointer(SmallPoint)); ... SmallPoint:=TSmallPoint(List[i]); |
|||
|
||||
| Гость05 |
|
|||
|
Unregistered |
както громозко, на мой взгляд, вариант
намного удобней и понятней, |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
конечно удобнее, только не работает
При внесении указателя в список необходимо обеспечить актуальность данных, на которые он указывает, в течение жизни списка. Указатели на локальные переменные и т.п. не подойдут. |
|||
|
||||
| p0s0l |
|
||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Можно написать свою MyPoint и использовать эту функцию вместо Point...
Или сделать так:
-------------------- С уважением, г-н Посол. |
||||
|
|||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
А я че говорил , что через класс будет проще
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| ДЫМ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 224 Регистрация: 6.1.2004 Репутация: 8 Всего: 8 |
Объясните, пожалуйста, а зачем все это городить? Вопрос был как я понял, как хранить набор точек. Почему не через динамический массив?
Зачем класс создавать? Или я чего-то не догоняю? |
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
Так как нужно использовать только X и Y... и если X и У не превышает слова. То можно упаковать их в двойное слово... и енто слово запихивать в список... как будто енто указатель.
-------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |