|
|
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
Вопрос: как очистить очистить только один элемент записи, тоже являющейся записью с кучей элементов? Есть ну очень многоуровневая запись из колоссального числа элементов, прописывать в ручную очистку отдельного подэлемента записи - сложно, ибо там тоже множество подэлементов, огромных массивов записей и прочего, прочего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 15:48:53 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
Андрей Bujhtdbx, Finalize(rec.field); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 15:58:40 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
Андрей BujhtdbxВопрос: как очистить очистить только один элемент записи, тоже являющейся записью с кучей элементов? Есть ну очень многоуровневая запись из колоссального числа элементов, прописывать в ручную очистку отдельного подэлемента записи - сложно, ибо там тоже множество подэлементов, огромных массивов записей и прочего, прочего. В некоторых случаях поможет finalize(), но в общем виде - никак. От тупых решений ты должен страдать. Хотя, я думаю, ты просто врешь. ТСну очень многоуровневая запись из колоссального числа элементов...там тоже множество подэлементов, огромных массивов записей и прочего, прочего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 16:02:32 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
чччД, Именно так, чтож мне ещё делать, кроме как врать на данном форуме. :) Поясню для неверующих. Программу пишу для себя, для визуализации данных используемых в работе. Ни разу не программист(1 го в универе только). Есть файл нейтронных полей состоящий из: Нескольких уровней энергий нейтронов, каждый из которых состоит из: нескольких десятков отсечек по времени(в разных ситуациях - разное количество), каждая из которых состоит из: нескольких десятков (в разных ситуациях - разное количество) отсечек по высоте, каждая из которых состоит из: нескольких сотен каналов (в разных ситуациях - разное количество), каждая из которых состоит из: нескольких сотен (в разных ситуациях - разное количество) твэлов. Помимо этого в каждом из уровней есть куча параметров (ради которых и использую записи), вроде того же числа элементов на этом уровне, каких-то геометрических или физических параметров, соответствие номера временной отсечке конкретному времени, высотной - высоте и ещё сотни других параметров. Естественно можно использовать обычные массивы, кучи глобальных переменных, и самое веселое - потом все это сохранять и загружать. А можно использовать одну или несколько записей. Вот часто нужно очистить элементы на самом разном уровне, очищать динамически массивы и кучи элементов - та ещё радость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 16:14:49 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
Kazantsev AlexeyАндрей Bujhtdbx, Finalize(rec.field); спасибо - попробуем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 16:16:34 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
Андрей Bujhtdbx, ну так используй классы, а не записи. В деструкторах - код очистки. Вместо массивов - контейнеры с опцией владения, вызвал .Clear() - и всё, пошла очистка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 16:22:35 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
Андрей BujhtdbxKazantsev AlexeyАндрей Bujhtdbx, Finalize(rec.field); спасибо - попробуем. Что там пробовать. Если у тебя элементом записи будет экземплярам класса или ссылка на запись из кучи - ? Или ты собрался "статические" записи конструировать, сразу на всю глубину? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 16:24:52 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
чччДАндрей Bujhtdbxпропущено... спасибо - попробуем. Что там пробовать. Если у тебя элементом записи будет экземплярам класса или ссылка на запись из кучи - ? Или ты собрался "статические" записи конструировать, сразу на всю глубину? Можно и классы использовать, и очистку прописать, может так и сделаю, просто спросил про способы попроще, особой необходимости в классах не видел тут. И да, классы на всю глубину, правда хотел динамически задавать, но пока до этого не добрался. Много чего можно, я исходил из удобства и быстроты использования. Kazantsev AlexeyАндрей Bujhtdbx, Finalize(rec.field); Видимо что-то делаю не так: Finalize(gl.Time); не очищает аналогично такому коду : for i:=0 to 50 do begin for j:=0 to 100 do Gl.Time.camp[i].Kp[j]:=0; Gl.Time.camp[i].N:=0; Gl.Time.camp[i].SumT:=0; end; Gl.Time.NCamp:=0; Что я делаю не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 16:41:28 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
Андрей BujhtdbxЧто я делаю не так? Finalize очищает поля только управляемых типов (строки, кроме shortstring, динамические массивы, интерфейсы, варианты). Если нужно обнулять всё, то использовать следует FillChar(r.field, SizeOf(r.Field), 0); Если в поле r.Field есть управляемые типы, то перед вызовом FillChar нужно вызать Finalize; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 16:56:23 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
Kazantsev AlexeyАндрей BujhtdbxЧто я делаю не так? Finalize очищает поля только управляемых типов (строки, кроме shortstring, динамические массивы, интерфейсы, варианты). Если нужно обнулять всё, то использовать следует FillChar(r.field, SizeOf(r.Field), 0); Если в поле r.Field есть управляемые типы, то перед вызовом FillChar нужно вызать Finalize; Спасибо, отлично работает, именно то, что нужно, а то классы, методы. Хотя... :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 17:26:42 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
Андрей BujhtdbxСпасибо, отлично работает, именно то, что нужно, а то классы, методыесли вдруг упрешься в этом месте по скорострельности возможно интересно будет глянуть в сторону SynopseRTL или аналогичных патчей финализатора ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 17:39:17 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
vavanвозможно интересно будет глянуть в сторону SynopseRTL или аналогичных патчей финализатора Это решается проще - подготовленной пустой переменной ;). Обычное присваивание работает быстрее finalize; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 17:48:33 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. Документации нет, но вроде как всегда обнуляет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 17:58:22 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
если ему нужно что-то финализировать а не только лишь занулять то оптимизированный финализатор кажется может таки представлять интерес ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 18:42:30 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
Дождемся когда конструктор и деструктор к рекорду приделают, тогда и заживем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 18:44:53 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
30.10.2017 18:44, rgreat пишет: > Дождемся когда конструктор и деструктор к рекорду приделают, тогда и заживем. и VMT, чтоб было! Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 18:49:22 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
rgreatДождемся когда конструктор и деструктор к рекорду приделают, тогда и заживем. Давно уже. Только там кОдить придется, а он не желает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 18:50:12 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
чччДrgreatДождемся когда конструктор и деструктор к рекорду приделают, тогда и заживем. Давно уже. Только там кОдить придется, а он не желает.Поднимите мне веки Покажите мне как кодить деструктор рекорда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 18:52:41 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
rgreatчччДпропущено... Давно уже. Только там кОдить придется, а он не желает.Поднимите мне веки Покажите мне как кодить деструктор рекорда. Создаешь метод с именем Clear, и фсио. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 18:55:42 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
чччДСоздаешь метод с именем Clear, и фсио. :)Прямо совсем фсио или его еще потому ручками надо у каждого рекорда вызвать? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 19:04:33 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
rgreatПрямо совсем фсио или его еще потому ручками надо у каждого рекорда вызвать? :) Так и у классов его вручную вызывать надо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 19:25:08 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
Андрей BujhtdbxчччД, Именно так, чтож мне ещё делать, кроме как врать на данном форуме. :) Поясню для неверующих. Программу пишу для себя, для визуализации данных используемых в работе. Ни разу не программист(1 го в универе только). Есть файл нейтронных полей состоящий из: Нескольких уровней энергий нейтронов, каждый из которых состоит из: нескольких десятков отсечек по времени(в разных ситуациях - разное количество), каждая из которых состоит из: нескольких десятков (в разных ситуациях - разное количество) отсечек по высоте, каждая из которых состоит из: нескольких сотен каналов (в разных ситуациях - разное количество), каждая из которых состоит из: нескольких сотен (в разных ситуациях - разное количество) твэлов. Помимо этого в каждом из уровней есть куча параметров (ради которых и использую записи), вроде того же числа элементов на этом уровне, каких-то геометрических или физических параметров, соответствие номера временной отсечке конкретному времени, высотной - высоте и ещё сотни других параметров. Естественно можно использовать обычные массивы, кучи глобальных переменных, и самое веселое - потом все это сохранять и загружать. А можно использовать одну или несколько записей. Вот часто нужно очистить элементы на самом разном уровне, очищать динамически массивы и кучи элементов - та ещё радость.ядерщик что ли? вроде все пакеты моделирования визуализацией обладают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 19:30:05 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
rgreatчччДСоздаешь метод с именем Clear, и фсио. :)Прямо совсем фсио или его еще потому ручками надо у каждого рекорда вызвать? :) Это с каких пор в Delphi конструкторы и деструкторы сами собой вызываются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 19:37:54 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
чччДЭто с каких пор в Delphi конструкторы и деструкторы сами собой вызываются?Со времен появления интерфейсов и ввода ARC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 19:51:25 |
|
||
|
Как очистить очистить только одно поле записи (record)?
|
|||
|---|---|---|---|
|
#18+
rgreatчччДЭто с каких пор в Delphi конструкторы и деструкторы сами собой вызываются?Со времен появления интерфейсов и ввода ARC. Арсений, зачем Вы травите Писателя? Интересно, почему дельфисты смешивают интерфейсы и АРЦ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2017, 19:54:32 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39544806&tid=2041660]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
84ms |
get tp. blocked users: |
2ms |
| others: | 217ms |
| total: | 410ms |

| 0 / 0 |
