forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   хедер для блица (http://forum.boolean.name/showthread.php?t=11721)

firstvirus 13.01.2010 01:40

хедер для блица
 
Разбираю хедер для блица. Вопрос такой: запись в списке
Type Vector4D
Field x# = 0.0, y# = 0.0, z# = 0.0, w# = 1.0
End Type
будет одна или несколько?
Мне это нужно для переписания хедера для одного умершего языка :)

moka 13.01.2010 01:43

Ответ: хедер для блица
 
Не удалось по сути понять вопроса.
Что такое "будет одна или несколько"?

firstvirus 13.01.2010 01:45

Ответ: хедер для блица
 
а как ты понимаешь одну запись в списке или несколько записей в списке? :)

moka 13.01.2010 01:49

Ответ: хедер для блица
 
Field x# = 0.0, y# = 0.0, z# = 0.0, w# = 1.0
то же самое что и:
Field x# = 0.0
Field y# = 0.0
Field z# = 0.0
Field w# = 1.0

Это ты имел ввиду? :)

firstvirus 13.01.2010 02:18

Ответ: хедер для блица
 
Я имел ввиду ЗАПИСЬ а не ПОЛЯ
field blablabla - поле
zapis.Vector4D = new Vector4D - создание записи

Randomize 13.01.2010 02:28

Ответ: хедер для блица
 
Вопрос всёравно не ясен :/
Что за язык?

firstvirus 13.01.2010 02:42

Ответ: хедер для блица
 
Какая разница какой язык? Мне интересно узнать про использование данного списка. Будет ли одна запись в нем или нет? Я думаю разрабы то уж мну поймут?

moka 13.01.2010 03:36

Ответ: хедер для блица
 
Блиц - это вообще "язык", по сути выглядит как типы. А за занавесом, много разных процессов и т.п.
Как я понимаю, создавая элемент, объявляется памяти ровно на все переменные, неважно, назначены они или нет. И плюс в блице, т.к. списки и типы - это одно целое. То ещё будет память под саму ссылку на участок переменных элемента, ссылку на прошлый и предыдущие элементы, для перебора.
А так по сути не совсем осведомлён как работают в плане памяти типы в блице.
Возьми ОЗУ счётчик, и замерь :)

Randomize 13.01.2010 03:42

Ответ: хедер для блица
 
Ясно, вроде понял, что требуется.
Тип в Blitz3D создаётся одновременно с листом (списком).

Структура B3D Type в BlitzMax:
Код:

Type TBBType
        Field _list:TList
        Field _link:TLink

        Method Add(t:TList)
                _list=t
                _link=_list.AddLast(self)
        End Method

        Method InsertBefore(t:TBBType)
                _link.Remove
                _link=_list.InsertBeforeLink(self,t._link)
        End Method

        Method InsertAfter(t:TBBType)
                _link.Remove
                _link=_list.InsertAfterLink(self,t._link)
        End Method

        Method Remove()
                _list.remove self
        End Method

EndType

Function DeleteLast(t:TBBType)
        if t TBBType(t._list.Last()).Remove()
EndFunction

Function DeleteFirst(t:TBBType)
        if t TBBType(t._list.First()).Remove()
EndFunction

Function DeleteEach(t:TBBType)
        if t t._list.Clear()
EndFunction

Function HandleToObject:Object(obj:Object)
        Return obj
EndFunction

Function HandleFromObject(obj:Object)
        Local h=HandleToObject(obj)
        Return h
EndFunction

Из исходника видно, что тип в B3D состоит из ссылки на обьект(TLink)
и листа (TList). При создании нового экземпляра нужного нам типа он сразу заносится в лист предназначеный для данного типа.
Дополнительные поля (Field) добавляем используя наследование.


Ссылки на обьекты хрянятся в листе.
У обьектов есть лист, который хранит ссылки на обьекты-поля.
Дык всётаки на какой язык нужно перебросить код?
На фортран чтоли? Я не понимаю.

firstvirus 13.01.2010 03:55

Ответ: хедер для блица
 
type
TVector4D = record
end;

ничто не напоминает? :)
Чтож тогда придется делать так как я боялся :/
Всем спасибо, тему можно закрывать.

Katenok 13.01.2010 11:13

Ответ: хедер для блица
 
Я конечно может ошибаюсь... Но это ты случайно не на Turbo Pascal это переводишь? :) что то очень уж структура похожа....

jimon 13.01.2010 12:27

Ответ: хедер для блица
 
firstvirus
ясень фиг что один объект записи, мы же поля для одного типа указываем


Часовой пояс GMT +4, время: 12:50.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot