Below is my somewhat improved code .
I gave up my attempt for Global Goto .
Code does what I want it to do .
I still have a few local Goto , but will turn those into Procedures by next week . And I want to chunk code way down .
I am working towards a Question_Answer_Dialog Requester .
Code: Select all
; Collect-Html-By-Tag--ForumExample-Q1.pb
; HideWindow(#Window, State [, Flags])
EnableExplicit
Global TheQuestion , Button_0 , Button_1 , Button_2 , YesBtn , NoBtn , CancelBtn ,
Window_0 , Window_1 , Event , WhichEditAreaActive , EventOccurred$ = "no" ,
WindowID , ShowingEditorArea = 1 , AnswerIs$ = "" , EditorArea_1_QuestionCount = 1 ,
EditorArea_2_QuestionCount = 1 , FirstTimeIn$ = "yes"
;
Declare Button_0()
Declare Button_1()
Declare Button_2()
Declare CancelBtn()
Declare EditorArea_1()
Declare EditorArea_2()
Declare EditorArea_4()
Declare NoBtn()
Declare OpenWindow_0(x = 0, y = 0, width = 600, height = 575)
Declare OpenWindow_1(x = 0, y = 0, width = 600, height = 250)
Declare RepeatRepeat()
Declare YesBtn()
Declare WhichEditAreaActive()
;
Procedure OpenWindow_0(x = 0, y = 0, width = 600, height = 575)
Window_0 = OpenWindow(#PB_Any, x, y, 600, 575, "Collect Html Elements by TagName", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget| #PB_Window_TitleBar | #PB_Window_SizeGadget | #PB_Window_ScreenCentered )
WhichEditAreaActive = ButtonGadget(#PB_Any, 154, 38, 194, 22, "<== Replace This | With This ==>")
;OpenWindow_1()
EndProcedure ; OpenWindow_0
;
Procedure OpenWindow_1(x = 0, y = 0, width = 600, height = 250)
Window_1 = OpenWindow(#PB_Any, x, y, width, height, "? Psychicaly detect the Question , then Answer :)", #PB_Window_SystemMenu)
TheQuestion = EditorGadget(#PB_Any, 10, 10, 580, 180, #ES_MULTILINE|#ES_AUTOVSCROLL|#WS_VSCROLL|#WS_HSCROLL )
GadgetToolTip(TheQuestion, "Please Respond to this question by Clicking on a Button .")
Button_0 = ButtonGadget(#PB_Any, 10, 200, 80, 25, "")
Button_1 = ButtonGadget(#PB_Any, 110, 200, 80, 25, "")
Button_2 = ButtonGadget(#PB_Any, 210, 200, 80, 25, "")
YesBtn = ButtonGadget(#PB_Any, 310, 200, 80, 25, "Yes")
GadgetToolTip(YesBtn, "CLick to answer 'Yes' .")
NoBtn = ButtonGadget(#PB_Any, 410, 200, 80, 25, "No")
GadgetToolTip(NoBtn, "CLick to answer 'No' .")
CancelBtn = ButtonGadget(#PB_Any, 510, 200, 80, 25, "Cancel")
GadgetToolTip(CancelBtn, "CLick to 'Cancel' .")
EndProcedure ; OpenWindow_1()
;
Procedure WhichEditAreaActive()
; MessageRequester("WhichEditAreaActive()" , "WhichEditAreaActive()" )
Debug "WhichEditAreaActive()"
ShowingEditorArea = 1 ;
FirstTimeIn$ = "yes"
AnswerIs$ = ""
;HideWindow(Window_1 , #False ) ;
EditorArea_1()
EndProcedure ; WhichEditAreaActive()
;
Procedure EditorArea_1() ;
HideWindow(Window_1 , #False ) ;
Debug "Entering EditorArea_1()"
; If FirstTimeIn$ = "yes" : FirstTimeIn$ = "no" : Goto SkipToEnd_EditorArea_1 : EndIf
If EditorArea_1_QuestionCount = 1 ; Question 1
AddGadgetItem(TheQuestion , -1 , "Question #1 Pls , answer yes or no .")
If AnswerIs$ = "YesBtn" : Goto EditorArea_1_ResponseYes : EndIf
If AnswerIs$ = "NoBtn" : Goto EditorArea_1_ResponseNo : EndIf
Goto SkipToEnd_EditorArea_1
EditorArea_1_ResponseYes:
Debug "EditorArea_1 , EditorArea_1_ResponseYes , AnswerIs$ = " + AnswerIs$
; process stuff here....
EditorArea_1_QuestionCount = 2
ClearGadgetItems(Window_1)
MessageRequester("EditorArea_1_ResponseYes:" , "You Answered " + AnswerIs$ )
HideWindow(Window_1 , #True ) ;
AnswerIs$ = "" ;
Goto AskQuestionNumber2
EditorArea_1_ResponseNo:
Debug "EditorArea_1 , EditorArea_1_ResponseNo , AnswerIs$ = " + AnswerIs$
; process stuff here....
MessageRequester("EditorArea_1_ResponseNo:" , "You Answered " + AnswerIs$ )
ClearGadgetItems(Window_1)
HideWindow(Window_1 , #True ) ;
EditorArea_1_QuestionCount = 2
Goto AskQuestionNumber2
EndIf ; END OF : If EditorArea_1_QuestionCount = 1 ; Question 1
If EditorArea_1_QuestionCount = 2 ;
AddGadgetItem(TheQuestion , -1 , "Question #2 Pls , answer yes or no .")
EditorArea_1_QuestionCount = 1
EndIf
AskQuestionNumber2:
MessageRequester("AskQuestionNumber2:" , "https://www.youtube.com/results?search_query=johnny+carson+swami+skit")
SkipToEnd_EditorArea_1:
EndProcedure ; EditorArea_1()
;
Procedure EditorArea_2() ; MessageRequester("EditorArea_2()" , "Doing stuff !" )
EndProcedure ; EditorArea_2()
;
Procedure EditorArea_3() ; MessageRequester("EditorArea_3()" , "Doing stuff !" )
EndProcedure ; EditorArea_2()
;
OpenWindow_0()
OpenWindow_1()
HideWindow(Window_1 , #True ) ;
;Case #PB_Event_CloseWindow : End
;
Repeat
Event = WaitWindowEvent()
WindowID = EventWindow()
If WindowID = Window_0
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case WhichEditAreaActive
WhichEditAreaActive()
EndSelect ; Window_0 Event
EndSelect
EndIf ; If WindowID = Window_0
;==============================================================
If WindowID = Window_1
AnswerIs$ = "Don't know :)"
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case NoBtn
AnswerIs$ = "NoBtn"
If ShowingEditorArea = 1 : EditorArea_1() : EndIf
If ShowingEditorArea = 2 : EditorArea_2() : EndIf
If ShowingEditorArea = 3 : EditorArea_3() : EndIf
Case YesBtn
AnswerIs$ = "YesBtn"
If ShowingEditorArea = 1 : EditorArea_1() : EndIf
If ShowingEditorArea = 2 : EditorArea_2() : EndIf
If ShowingEditorArea = 3 : EditorArea_3() : EndIf
EndSelect ; Select EventGadget()
EndSelect ; Case #PB_Event_Menu
EndIf ; If WindowID = Window_1
Until Event = #PB_Event_CloseWindow
End
SOrry about my code I know its terrible .