home *** CD-ROM | disk | FTP | other *** search
/ DarkBasic Professional / DarkBasicPro.iso / data1.cab / Lang_Files_(English) / Help / examples / memblocks / memblocks2-example.dba < prev    next >
Encoding:
Text File  |  2004-09-22  |  3.1 KB  |  97 lines

  1. rem Memblock Functionality
  2.  
  3. rem Standard Setup Code for all examples
  4. sync on : sync rate 0 : backdrop off
  5. set text font "arial" : set text size 16
  6. set text to bold : set text transparent
  7.  
  8. rem Set values
  9. SoundNumber=1+rnd(3)
  10. ImageNumber=1+rnd(3)
  11. BitmapNumber=1+rnd(3)
  12. MeshNumber=1+rnd(3)
  13.  
  14. rem Load media
  15. load sound "gun.wav",SoundNumber
  16. load image "face.bmp",ImageNumber
  17. load bitmap "face.bmp",BitmapNumber
  18. load mesh "mesh.x",MeshNumber
  19.  
  20. rem Main loop
  21. do
  22.  
  23. rem Produce random values
  24. MemblockNumber=1+rnd(254)
  25. MemblockTo=1+rnd(254)
  26. FromPos=rnd(100)
  27. ToPos=FromPos+1+rnd(50)
  28. SizeInBytes=202+rnd(10240)
  29. TenBytes=10
  30. ByteValue=rnd(255)
  31. WordValue=rnd(65535)
  32. DWORDValue=rnd(22000000)
  33. FloatValue=rnd(10000)/100.0
  34.  
  35. rem Try each command at random
  36. r=rnd(4)
  37. if MEMBLOCK EXIST(MemblockNumber)=0
  38.  if r=0 then MAKE MEMBLOCK MemblockNumber, SizeInBytes
  39.  if r=1 then MAKE MEMBLOCK FROM SOUND MemblockNumber, SoundNumber
  40.  if r=2 then MAKE MEMBLOCK FROM IMAGE MemblockNumber, ImageNumber
  41.  if r=3 then MAKE MEMBLOCK FROM BITMAP MemblockNumber, BitmapNumber
  42.  if r=4 then MAKE MEMBLOCK FROM MESH MemblockNumber, MeshNumber
  43. endif
  44. if MEMBLOCK EXIST(MemblockNumber)=1
  45.  if r=1 then DELETE SOUND SoundNumber
  46.  if r=2 then DELETE IMAGE ImageNumber
  47.  if r=3 then DELETE BITMAP BitmapNumber
  48.  if r=4 then DELETE MESH MeshNumber
  49. endif
  50. if MEMBLOCK EXIST(MemblockNumber)=1
  51.  if r=0 then WRITE MEMBLOCK BYTE MemblockNumber, ToPos, ByteValue
  52.  if r=0 then WRITE MEMBLOCK WORD MemblockNumber, ToPos, WordValue
  53.  if r=0 then WRITE MEMBLOCK DWORD MemblockNumber, ToPos, DWORDValue
  54.  if r=0 then WRITE MEMBLOCK FLOAT MemblockNumber, ToPos, FloatValue
  55.  if r=1 then MAKE SOUND FROM MEMBLOCK SoundNumber, MemblockNumber
  56.  if r=2 then MAKE IMAGE FROM MEMBLOCK ImageNumber, MemblockNumber
  57.  if r=3 then MAKE BITMAP FROM MEMBLOCK BitmapNumber, MemblockNumber
  58.  if r=4 then MAKE MESH FROM MEMBLOCK MeshNumber, MemblockNumber
  59.  if r=4 then CHANGE MESH FROM MEMBLOCK MeshNumber, MemblockNumber
  60. endif
  61. if MEMBLOCK EXIST(MemblockNumber)=1 and MEMBLOCK EXIST(MemblockTo)=1
  62.  if rnd(5)=1 then COPY MEMBLOCK MemblockNumber, MemblockTo, FromPos, ToPos, TenBytes
  63. endif
  64.  
  65. rem Display data
  66. cls
  67. print "MEMBLOCK EXPRESSION DATA"
  68. print
  69. print "memblock:";MemblockNumber
  70. print "exist:";MEMBLOCK EXIST(MemblockNumber)
  71. if MEMBLOCK EXIST(MemblockNumber)=1
  72.  print "ptr:";GET MEMBLOCK PTR(MemblockNumber)
  73.  print "size:";GET MEMBLOCK SIZE(MemblockNumber)
  74.  print "byte:";MEMBLOCK BYTE(MemblockNumber, FromPos)
  75.  print "word:";MEMBLOCK WORD(MemblockNumber, FromPos)
  76.  print "dword:";MEMBLOCK DWORD(MemblockNumber, FromPos)
  77.  print "float:";MEMBLOCK FLOAT(MemblockNumber, FromPos)
  78. endif
  79.  
  80. rem Show/play media
  81. if MEMBLOCK EXIST(MemblockNumber)=1
  82.  if r=1 then PLAY SOUND SoundNumber : SLEEP 100
  83.  if r=2 then PASTE IMAGE ImageNumber,0,0 : SLEEP 100
  84.  if r=3 then COPY BITMAP BitmapNumber,0 : SLEEP 100
  85.  if r=4 then MAKE OBJECT 1,MeshNumber,0 : SYNC : DELETE OBJECT 1 : SLEEP 100
  86. endif
  87.  
  88. rem Delete memblocks
  89. if MEMBLOCK EXIST(MemblockNumber)=1 then DELETE MEMBLOCK MemblockNumber
  90. if MEMBLOCK EXIST(MemblockTo)=1 then DELETE MEMBLOCK MemblockTo
  91.  
  92. rem Update screen
  93. sync
  94.  
  95. rem End loop
  96. loop
  97.