October 28, 2020, 06:48:05 AM

Author Topic: [bmx] Simple Query by Zakk [ 1+ years ago ]  (Read 1161 times)

Offline BlitzBot

  • Jr. Member
  • **
  • Posts: 1
[bmx] Simple Query by Zakk [ 1+ years ago ]
« on: June 29, 2017, 12:28:42 AM »
Title : Simple Query
Author : Zakk
Posted : 1+ years ago

Description : Simple query window designed to be used like the BRL.System commands like Prompt and RequestFile. Asks the user for a string and returns the result.

Example usage:
Code: [Select]
'query example.bmx

Import MaxGui.Drivers
Include "query.bmx"

input_text:String=Query("Enter a string.", "Default")
Notify "User entered: '"+input_text+"'"

End


Code :
Code: BlitzMax
  1. 'query.bmx, requires maxgui
  2.  
  3. '=============================
  4. Global query_window:TGadget=CreateWindow("Query", 0, 0, 182, 58, Null, WINDOW_CENTER|WINDOW_TITLEBAR|WINDOW_TOOL|WINDOW_CLIENTCOORDS|WINDOW_HIDDEN)
  5. Global query_field:TGadget=CreateTextField(4, 4, 174, 22, query_window)
  6. Global query_okay:TGadget=CreateButton("Okay", 4, 30, 85, 24, query_window)
  7. Global query_cancel:TGadget=CreateButton("Cancel", 93, 30, 85, 24, query_window)
  8. '=============================
  9. Function Query:String(text:String, initial:String)
  10. Local id:Int, es:Object
  11.         SetGadgetText(query_window, text)
  12.         SetGadgetText(query_field, initial)
  13.         ActivateGadget(query_field)
  14.         ShowGadget query_window
  15.         Repeat
  16.                 id=WaitEvent()
  17.                 es=EventSource()
  18.                 Select id
  19.                         Case EVENT_WINDOWCLOSE
  20.                                 Select es
  21.                                         Case query_window
  22.                                                 HideGadget query_window
  23.                                                 Return initial
  24.                                         Default
  25.                                 End Select
  26.                         Case EVENT_WINDOWACTIVATE
  27.                                 Select es
  28.                                         Case query_window
  29.                                         Default
  30.                                                 ActivateGadget(query_window)
  31.                                 End Select
  32.                         Case EVENT_GADGETACTION
  33.                                 Select es
  34.                                         Case query_okay
  35.                                                 HideGadget query_window
  36.                                                 Return GadgetText(query_field)
  37.                                         Case query_cancel
  38.                                                 HideGadget query_window
  39.                                                 Return initial
  40.                                 End Select
  41.                         Default
  42.                 End Select
  43.         Forever
  44. End Function
  45. '=============================


Comments : none...

 

SimplePortal 2.3.6 © 2008-2014, SimplePortal