compare types
Blitz3D Forums/Blitz3D Programming/compare types| 
 | ||
| This doesn't seem to be working. So how do I check if test1 and test2 are the same or not the same without throwing in some "Field ID" in the definition of Type Test. I though this would work but it doesn't work in code I'm working on. 
for this1.Test Each Test
   for this2.Test = Each Test
      if (this1 = this2) then 
         ; do something
      end if
   next
next 
 | 
| 
 | ||
| AFAIK, you can't nest type loops. | 
| 
 | ||
| And what would happen if you did? As far as I know you can nest them since I have done that before and it worked. But how do you compare them? Anyone knows`? | 
| 
 | ||
| In that code you're just comparing the type handles. To actually compare the contents (fields) of types, you have to do it manually i.e. compare each field. [edit] Also, using a nested loop like that will mean you will be comparing a type instance with itself at times, which will always match. :) | 
| 
 | ||
| Just an example of how I do it.  This way cuts the comparisons down a fair bit. For b1.body = Each body b2.body = b1 While b2 <> Last body b2 = After b2 distance# = EntityDistance( b1\entity , b2\entity ) If Distance < ( b1\BT\Radius + b2\BT\Radius ) And ( b1\Collider And b2\Collider ) COLLISIONcheck( b1 , b2 ) COLLISIONcheck( b2 , b1 ) EndIf Wend Next | 
| 
 | ||
| nice, just what I looked for :) thanks for the example. >you have to do it manually i.e. compare each field. I did that and for some reason it didn't work, it match true even it if was not the case. | 
| 
 | ||
| You can nest type loops.  Your code at the top of the page has a bug in the first line: missing "=" sign. I really don't know why people reply with wrong information when they obviously don't know the answer. Type myType Field name$ End Type a.myType = New myType a\name = "a" b.myType = New myType b\name = "b" For c.myType = Each myType For d.myType = Each myType If c = d Print "found type objects "+c\name+" and "+d\name EndIf Next Next WaitKey End | 
| 
 | ||
|  I really don't know why people reply with wrong information when they obviously don't know the answer. Uh? Maximo did say "nice, just what I looked for". I know his first post looks like he wants to compare type handles but I deduced that's not what he wanted as it - and your example - are pointless because one type's handle will never match another type's. :) | 
| 
 | ||
| I didn't mean you. :)  I actually only meant BlackD.  Sorry if I offended anyone else. But it is still true that his code would not have worked either way cos of the missing =. | 
| 
 | ||
| Not offended, just a bit confused. :P  But it is still true that his code would not have worked either way cos of the missing =. I can't argue with that. :) |