home *** CD-ROM | disk | FTP | other *** search
/ ANews 3 / AnewsCD3.iso / DP / Programmation / PureBasic_Demo / Examples / Sources / Program1.pb < prev    next >
Text File  |  1999-10-10  |  3KB  |  139 lines

  1. ;
  2. ; Example program for the PureBasic programming langage
  3. ;
  4. ; Coded by AlphaSOUND - © 1999 Fantaisie Software
  5. ;
  6. ;
  7. ; 26/06/1999
  8. ;   First version
  9. ;
  10.  
  11. WbStartup()             ; This program can be started from the Workbench
  12.  
  13. InitWindow (10)         ; All init stuffs
  14. InitTagList(10)         ;
  15. InitGadget (10)         ;
  16. InitScreen (10)         ;
  17. InitRequester()
  18.  
  19. FindScreen(0,"")        ; Catch the frontmost screen..
  20.  
  21. Dim texts.s(10)
  22.  
  23. ; Now, create our window layout, fully font sensitive. To achieve that,
  24. ; we have 3 variables:
  25. ;
  26. ;   HFont   : To have the height of used gadget font
  27. ;   HGadget : Our default gadget height
  28. ;   DistGad : Our default distance between 2 gadgets (height only)
  29. ;
  30. ; With these, we can manipulate the gadget position very easely.
  31. ;
  32.  
  33. If CreateGadgetList(0,ScreenID())
  34.  
  35.   HFont   = ScreenFontHeight()
  36.   HGadget = HFont+6
  37.   DistGad = HGadget+4
  38.  
  39.   HG = HFont+10
  40.  
  41.   b3$ = "File Requester"
  42.   Buttongadget(3,10,HG,200,HGadget,b3$,0) : HG = HG+DistGad
  43.  
  44.   b4$ = "Font Requester"
  45.   Buttongadget(4,10,HG,200,HGadget,b4$,0) : HG = HG+DistGad
  46.  
  47.   b5$ = "Screen Requester"
  48.   Buttongadget(5,10,HG,200,HGadget,b5$,0) : HG = HG+DistGad
  49.  
  50.   ResetTagList(#GTPA_Depth, 5)
  51.   PaletteGadget(2,10,HG,200,HGadget,0,TagListID()) : HG = HG+DistGad
  52.  
  53.   texts(0) = "This is"
  54.   texts(1) = "A cool"
  55.   texts(2) = "PureBasic"
  56.   texts(3) = "Example"
  57.  
  58.   ResetTagList(#GTCY_Labels,texts())
  59.   cyclegadget(6,10,HG,150,HGadget,0,TagListID()) : HG = HG+DistGad+4
  60.  
  61.   b0$ = "Ok"
  62.   Buttongadget(0,10,HG,96,HGadget,b0$,0)
  63.  
  64.   b1$ = "Cancel"
  65.   Buttongadget(1,115,HG,96,HGadget,b1$,0)
  66.  
  67. endif
  68.  
  69. Title.s = "PureBasic Test !"
  70.  
  71. ResetTagList(#WA_Title,Title)
  72. If OpenWindow(2,100,100,215, HGadget*7+25, #WFLG_DRAGBAR | #WFLG_CLOSEGADGET, TagListID())
  73.  
  74.   AttachGadgetList(0, WindowID())
  75.  
  76.   Repeat
  77.     Repeat
  78.       VWait()
  79.       Event.l = WindowEvent()
  80.  
  81.     Until Event<>0
  82.  
  83.     If Event = #IDCMP_GADGETUP
  84.  
  85.       Select EventGadget()
  86.  
  87.         Case 0
  88.           Event = #IDCMP_CLOSEWINDOW
  89.  
  90.         Case 1
  91.           Event = #IDCMP_CLOSEWINDOW
  92.  
  93.         Case 2
  94.           NPrint("Palette gadget: "+Str(EventCode()))
  95.  
  96.         Case 3
  97.           NPrint("File Requester: '"+FileRequester(0)+"'")
  98.  
  99.         Case 4
  100.           FontRequester(0)
  101.  
  102.         Case 5
  103.           ScreenRequester(0)
  104.  
  105.         case 6
  106.           NPrint("Cycle gadget: "+Str(EventCode()))
  107.  
  108.           If EventCode() = 2
  109.             GoSuB Surprise
  110.           Endif
  111.  
  112.       EndSelect
  113.  
  114.     Endif
  115.  
  116.   Until Event = #IDCMP_CLOSEWINDOW
  117. Else
  118.   NPrint("Error, I can't open the window")
  119. Endif
  120.  
  121. End
  122.  
  123.  
  124. Surprise:
  125.  
  126.   ResetTagList(#WA_Title,Title)
  127.   If OpenWindow(1,200,200,200,30,#WFLG_DRAGBAR | #WFLG_CLOSEGADGET, TagListID())
  128.  
  129.     Repeat
  130.       VWait()
  131.       Event.l = WindowEvent()
  132.     Until Event = #IDCMP_CLOSEWINDOW
  133.  
  134.     CloseWindow(1)
  135.     Event = 0
  136.   Endif
  137.  
  138. Return
  139.