[ Aleksandar Ružičić @ 10.03.2008. 01:42 ] @
evo jos jedne genericke strukture podataka koja moze da vam zatreba za nesto. u pitanju je dinamicki niz bilo kog tipa, razlog zbog koga sam napisao ovaj makro je sto je u UDT-u (user defined type, ili Type) moguce definisati samo staticke nizove kao clanove strukture. fajl (dynarray.bas) je okacen uz poruku a evo kako se koristi: Code: #Include "dynarray.bas" DefineDynamicArrayType(Integer) Function PrintArray(ByRef Index As UInteger, Value As Integer) As Integer print "["; Index; "] = "; Value End Function Dim a As IntegerArray a.add 12 a.add 46 a.add 123 a.iterate @PrintArray a.remove 2 a.iterate @PrintArray sleep sto ce kao rezultat dati: Code: [0] = 12 [1] = 46 [2] = 123 [0] = 12 [1] = 46 novi tip uvodite sa DefineDynamicArrayType(<Tip Niza>) cime dobijate <Tip Niza>Array tip koji ima sledece metode/propertije: Code: Declare Function Add(Value As _TYPE_) As _TYPE_ Pointer Declare Function Add As _TYPE_ Pointer Declare Sub Remove(Index As UInteger) Declare Sub ReDim(newSize As UInteger, preserveValues As Integer = 0) Declare Property Item(Index As UInteger) As _TYPE_ Declare Property Item(Index As UInteger, Value As _TYPE_) Declare Function PeekAt(Index As UInteger) As _TYPE_ Pointer Declare Property ItemCount As UInteger Declare Sub Iterate(iterator As _TYPE_##ArrayIterator, safe As Integer = Not 0) ExpandFactor As UInteger = 10 ' for how much items is array expanded when needed za svaki clan strukture imate objasnjenje sta ta metoda/svojstvo radi (u dynarray.bas) [Ovu poruku je menjao Aleksandar Ružičić dana 11.03.2008. u 04:05 GMT+1] |