Code: Select all
;------------------------------------------
;-TEST TO POPULATE ALL ROWS IN TEXTGADGET
;------------------------------------------
Enumeration
;===================================================================================
;-WINDOWS
;===================================================================================
#MainWindow ; Splash Window
#DHSF ; DHSF Window
;------------------------------------------
;-BackGrounds
;------------------------------------------
#MainWindowBGIMG ; Main Window Image
#DHSFBGIMG ; DHSF Window BackGround Image
;------------------------------------------
;-Main Window Buttons
;------------------------------------------
#FWB1 ; Main Window Button 1 (Open DHSF Window)
#FWB2 ; Main Window Button 3 (X)
;------------------------------------------
;-DHSF Window Buttons
;------------------------------------------
#DHSFB1 ; DHSF Window Button 1 (Back Main Window)
#DHSFB2 ; DHSF Window Button 2 (Exit)
;------------------------------------------
;-DHSF Constants
;------------------------------------------
#MonthDHSF ; Month of Draw
#N1DHSF ; Field 1
#N2DHSF ; Field 2
#N3DHSF ; Field 3
#N4DHSF ; Field 4
#N5DHSF ; Field 5
#N6DHSF ; Field 6
#B1DHSF ; Field 7
;------------------------------------------
;-Define DB ID
;------------------------------------------
#dbaseID ; DataBase ID
EndEnumeration
;------------------------------------------
;- Global Declaration
;------------------------------------------
Global.s pathW$, bgimgfileM$, bgimgfileSF$, spacer = Space(2)
;------------------------------------------
;-Load the Window Background Images
;------------------------------------------
bgimgfileM$ = pathW$ + "MainWindow.png"
LoadImage(#MainWindowBGIMG, bgimgfileM$)
bgimgfileSF$ = pathW$ + "SFWindow.png"
LoadImage(#DHSFBGIMG, bgimgfileSF$)
;------------------------------------------
;-Populate DHSF Window
;------------------------------------------
Procedure populateDHSF()
Protected dbColumn.i
If DatabaseQuery(#dbaseID, "SELECT * FROM DHSF") ; get all data from database DHSF
While NextDatabaseRow(#dbaseID) ; get next row in database
dbColumn = 0
For populate = #MonthDHSF To #B1DHSF ; populate columns MonthSF through B1DHSF
SetGadgetText(populate, GetGadgetText(populate) + RSet(GetDatabaseString(#dbaseID, dbColumn), 4) + #LF$)
dbColumn + 1
Next
Wend
FinishDatabaseQuery(#dbaseID)
EndIf
EndProcedure
;------------------------------------------
;-Initialize DB and Image Decoder
;------------------------------------------
UseSQLiteDatabase()
UsePNGImageDecoder()
;------------------------------------------
;-DataBase
;------------------------------------------
;If OpenDatabase(#dbaseID, "DHSF.sqlite", "", "")
If OpenDatabase(#dbaseID, ":memory:", "", "")
DatabaseUpdate(#dbaseID, "CREATE TABLE DHSF (a text, b text, c text, d text, e text, f text, g text, h text)")
DatabaseUpdate(#dbaseID, "INSERT INTO DHSF VALUES ('11', '12', '13', '14', '15', '16', '17', '18')")
DatabaseUpdate(#dbaseID, "INSERT INTO DHSF VALUES ('21', '22', '23', '24', '25', '26', '27', '28')")
DatabaseUpdate(#dbaseID, "INSERT INTO DHSF VALUES ('31', '32', '33', '34', '35', '36', '37', '38')")
;------------------------------------------
;-Main Window
;------------------------------------------
wFlags = #PB_Window_BorderLess|#PB_Window_ScreenCentered
OpenWindow(#MainWindow, 0, 0, 800, 800, "", wFlags)
;ResizeImage(#MainWindowBGIMG, 800, 800)
;ImageGadget(#MainWindowBGIMG, 0, 0, 800, 800, ImageID(#MainWindowBGIMG))
;DisableGadget(#MainWindowBGIMG, #True)
ButtonGadget(#FWB1, 225, 530, 60, 20, "Window 2")
ButtonGadget(#FWB2, 500, 530, 60, 20, "Exit")
;------------------------------------------
;-DHSF Window
;------------------------------------------
wFlags = #PB_Window_BorderLess|#PB_Window_ScreenCentered|#PB_Window_Invisible
OpenWindow(#DHSF, 0, 0, 800, 800, "", wFlags)
;ResizeImage(#DHSFBGIMG, 800, 800)
;ImageGadget(#DHSFBGIMG, 0, 0, 800, 800, ImageID(#DHSFBGIMG))
;DisableGadget(#DHSFBGIMG, #True)
ButtonGadget(#DHSFB1, 225, 530, 60, 20, "Back")
ButtonGadget(#DHSFB2, 500, 530, 60, 20, "Exit")
TextGadget(#MonthDHSF, 225, 150, 90, 350, "", #PB_Text_Border)
TextGadget(#N1DHSF, 335, 150, 29, 350, "", #PB_Text_Border)
TextGadget(#N2DHSF, 365, 150, 29, 350, "", #PB_Text_Border)
TextGadget(#N3DHSF, 395, 150, 29, 350, "", #PB_Text_Border)
TextGadget(#N4DHSF, 425, 150, 29, 350, "", #PB_Text_Border)
TextGadget(#N5DHSF, 455, 150, 29, 350, "", #PB_Text_Border)
TextGadget(#N6DHSF, 485, 150, 29, 350, "", #PB_Text_Border)
TextGadget(#B1DHSF, 535, 150, 29, 350, "", #PB_Text_Border)
;------------------------------------------
;-Window Event
;------------------------------------------
Repeat
Event = WaitWindowEvent()
Select EventWindow()
Case #MainWindow
Select Event
Case #PB_Event_Gadget
Select EventGadget()
;------------------------------------------
;-Main Window Button Routin
;------------------------------------------
Case #FWB1 ; Open DHSF Window
HideWindow(#MainWindow, #True)
HideWindow(#DHSF, #False)
populateDHSF()
SetActiveWindow(#DHSF)
Case #FWB2 ; Exit
Quit = #True
EndSelect
EndSelect
Case #DHSF
Select Event
Case #PB_Event_Gadget
Select EventGadget()
;------------------------------------------
;-DHSF Window Button Routine
;------------------------------------------
Case #DHSFB1
HideWindow(#DHSF, #True)
HideWindow(#MainWindow, #False)
SetActiveWindow(#MainWindow)
Case #DHSFB2
Quit = #True
EndSelect
EndSelect
EndSelect
Until Quit
CloseDatabase(#dbaseID)
EndIf
While NextDatabaseRow() ... Wend is a loop over all records of the result from the select.
But you should use a ListIconGadget() instead of the TextGadgets, because you run into a problem if there are more records.