forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Полезные функции (http://forum.boolean.name/forumdisplay.php?f=17)
-   -   Спец массивы (http://forum.boolean.name/showthread.php?t=338)

impersonalis 18.11.2005 23:27

Вложений: 2
Вот тут накотал либу для работы с массивами:
+ где хочешь, там и создаёшь
+ динамический
+ можно передать как аргумент
+ можно хранить в типе

Вот либа и примерчик.
У меня работает, хотя надо ещё потестить...
мож кому пригодится
:rolleyes:

jimon 18.11.2005 23:33

интересно ето - кому и зачем :/

alex-mad 18.11.2005 23:49

Цитата:

Originally posted by jimon@Nov 18 2005, 10:33 PM
интересно ето - кому и зачем :/
эээ.....тому кто заинтересуется! :rolleyes:

SubZer0 18.11.2005 23:51

Цитата:

Originally posted by impersonalis@Nov 18 2005, 10:27 PM
Вот тут накотал либу для работы с массивами:
:rolleyes:

а на скорость тестил? :rolleyes: :rolleyes:

impersonalis 29.11.2005 23:54

Кто-нибудь проверял либу в работе?
Ошибки есть/нет?

impersonalis 30.11.2005 00:06

Вот облегчённая версия
тип Int
размерность -2
Код:

;created by impersonalis (b00lean team)
;impersonalis[@]boolean.name
;
;http://community.boolean.name/index.php
;http://boolean.name/index.php


Type SpecialArray2d
        Field PrivateArray%
        Field PrivateINIT_STRo%; size0f
        Field PrivateINIT_STRt%
End Type

Function SA_Create2d.SpecialArray2d(one%,two%)
        S.SpecialArray2d=New SpecialArray2d
        S\PrivateINIT_STRo=one
        S\PrivateINIT_STRt=two
        S\PrivateArray=CreateBank(one*two*4)
        Return S
End Function

Function SA_Private_ReturnIndex2d(S.SpecialArray2d,one%,two%)
        Local c=1
        Local ptr=(S\PrivateINIT_STRo-1)*(one%)+two-1
        ptr=ptr*4
        Return ptr
End Function

Function SA_OUT2d(S.SpecialArray2d,one%,two%)
        Local ptr=SA_Private_ReturnIndex2d(S,one%,two%)
 Return PeekInt(S\PrivateArray,ptr)
End Function

Function SA_IN2d(S.SpecialArray2d,one%,two%,inputZ%)
        Local ptr=SA_Private_ReturnIndex2d(S,one%,two%)
        PokeInt(S\PrivateArray,ptr,inputZ)
End Function

Function SA_Delete2d(S.SpecialArray2d)
        FreeBank S\PrivateArray
        Delete S
End Function

Вообще - тема не вызвала энтузиазма.
:(
Вероятно - решение на любителя.

alcosholik 30.11.2005 01:08

Поглядел первую версию. Как-то непонятно. Можно было имена переменным более логичные дать и хоть в комментах пояснить действие в той же функции SA_CREATE.


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

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