| Flashing Colours! Star and Stop. 
 
	 
	
		| Author | Message |   
		| vdemons 
 
 
 
 
 | 
			
				|  Posted: Fri Apr 29, 2011 4:25 pm    Post subject: Flashing Colours! Star and Stop. |  |   
				| 
 |  
				| What is it you are trying to achieve? I am trying to make my code flash, having simple start and stop buttons.
 
 
 What is the problem you are having?
 I am able to start it, but have no idea on how to stop it, i made a quit button but it doesn't do anything.
 
 
 Describe what you have tried to solve this problem
 i used all sorts of close windows or exit commands but they don't work.
 
 
 Post any relevant code (You may choose to attach the file instead of posting the code if it is too long)
 <Answer Here>
 
 
 	  | Turing: |  	  | 
%Vishnu Kumar
%April 29
import GUI
var  winID := Window.Open ("graphics:700;500") 
View.Set ("graphics:700;500,position:top;right,nobuttonbar")
        View.Set ("title: The Flash")
colourback(black)cls
        
procedure  flash 
    var  message:string
    var  hue:int :=1
    var  font2:int 
    font2 := Font.New("Times New Roman:50")
    colourback(green)cls
    var  intfont : int 
    intfont := Font.New("Times New Roman:18") 
    Font.Draw("Please remember to put your message in quotations(\" \")", 150 , 10 , intfont, black) 
    put "Please enter your message: ". .
    get  message
    loop
        for  c: 1 ..15 
            colour( c)
            Font.Draw ( message, 320 , 238 , font2, c)
            delay (200)
            var  quitBtn : int := GUI.CreateButton (35 , 5 , 0 , "Quit", GUI.Quit)
        end for
    end loop    
end  flash
var  b : int := GUI.CreateButton (300 , 250 , 0 , "Start Program",  flash)
loop
    exit when GUI.ProcessEvent
end loop
Window.Close ( winID) | 
 
 Please specify what version of Turing you are using
 <Answer Here>
 |  
				|  |  |   
		|  |  |  
	  
		|  |   
		| Sponsor Sponsor
 
  
   |  |   
		|  |   
		| Tony 
 
  
 
 
 | 
			
				|  Posted: Fri Apr 29, 2011 4:31 pm    Post subject: RE:Flashing Colours! Star and Stop. |  |   
				| 
 |  
				| Your code never gets to GUI.ProcessEvent, and without it, buttons are not processed. Also, you create 5 new buttons every second. |  
				|  Tony's programming blog. DWITE - a programming contest. |  |   
		|  |  |  
	  
		|  |   
		| vdemons 
 
 
 
 
 | 
			
				|  Posted: Sat Apr 30, 2011 11:45 am    Post subject: RE:Flashing Colours! Star and Stop. |  |   
				| 
 |  
				| then what should i do to fix it |  
				|  |  |   
		|  |  |  
	  
		|  |   
		| vdemons 
 
 
 
 
 | 
			
				|  Posted: Sat Apr 30, 2011 11:51 am    Post subject: RE:Flashing Colours! Star and Stop. |  |   
				| 
 |  
				| can you please give me some help on fixing this, my teacher has high standards. |  
				|  |  |   
		|  |  |  
	  
		|  |   
		| vdemons 
 
 
 
 
 | 
			
				|  Posted: Sat Apr 30, 2011 12:00 pm    Post subject: RE:Flashing Colours! Star and Stop. |  |   
				| 
 |  
				| is it possible to make a procedure inside the loop that can only be activated when the quit button is pressed and will exit on a command that is already true. Such as an "exit when" statement for loops. |  
				|  |  |   
		|  |  |  
	  
		|  |   
		| vdemons 
 
 
 
 
 | 
			
				|  Posted: Sat Apr 30, 2011 12:18 pm    Post subject: RE:Flashing Colours! Star and Stop. |  |   
				| 
 |  
				| Here i revamped it. but it still can't exit! 
 
 %Vishnu Kumar
 %April 29
 
 
 import GUI
 
 var winID := Window.Open ("graphics:700;500")
 
 View.Set ("graphics:700;500,position:top;right,nobuttonbar")
 View.Set ("title: The Flash")
 
 var message:string
 var hue:int:=1
 var font2:int
 font2 := Font.New("Times New Roman:50")
 
 procedure flash
 
 var intfont : int
 intfont := Font.New("Times New Roman:18")
 Font.Draw("Please remember to put your message in quotations(\" \")", 150, 10, intfont, black)
 
 put "Please enter your message: "..
 get message
 
 
 loop
 for c: 1..15
 colour(c)
 Font.Draw (message, 220, 238, font2,
 delay (200)
 end for
 end loop
 
 end flash
 
 var quitBtn : int := GUI.CreateButton (35, 5, 0, "Quit", GUI.Quit)
 var b : int := GUI.CreateButton (35, 400, 0, "Start Program", flash)
 
 loop
 exit when GUI.ProcessEvent
 end loop
 
 Window.Close (winID)
 |  
				|  |  |   
		|  |  |  
	  
		|  |   
		| Tony 
 
  
 
 
 |  |   
		|  |  |  
	  
		|  |   
		| vdemons 
 
 
 
 
 | 
			
				|  Posted: Sat Apr 30, 2011 1:20 pm    Post subject: RE:Flashing Colours! Star and Stop. |  |   
				| 
 |  
				| is there anyway to exit an infinite loop |  
				|  |  |   
		|  |  |  
	  
		|  |   
		| Sponsor Sponsor
 
  
   |  |   
		|  |   
		| Tony 
 
  
 
 
 | 
			
				|  Posted: Sat Apr 30, 2011 1:29 pm    Post subject: RE:Flashing Colours! Star and Stop. |  |   
				| 
 |  
				| If you want to do it with GUI buttons, you would need to use GUI.ProcessEvent in every loop (or to have just a single loop). 
 FYI, GUI would not work during delays.
 |  
				|  Tony's programming blog. DWITE - a programming contest. |  |   
		|  |  |  
	  
		|  |   
		| vdemons 
 
 
 
 
 | 
			
				|  Posted: Sat Apr 30, 2011 3:48 pm    Post subject: RE:Flashing Colours! Star and Stop. |  |   
				| 
 |  
				| is it possible to put a procedure within a procedure |  
				|  |  |   
		|  |  |  
	  
		|  |   
		| vdemons 
 
 
 
 
 | 
			
				|  Posted: Sat Apr 30, 2011 3:58 pm    Post subject: RE:Flashing Colours! Star and Stop. |  |   
				| 
 |  
				| is there any way to exit my infinite loop even if its not with GUI buttons like entering a key ie. spacebar to exit. because i have no idea what to do |  
				|  |  |   
		|  |  |  
	  
		|  |   
		| vdemons 
 
 
 
 
 | 
			
				|  Posted: Sat Apr 30, 2011 4:10 pm    Post subject: RE:Flashing Colours! Star and Stop. |  |   
				| 
 |  
				| here is an example! |  
				|  |  |   
		|  |  |  
	  
		|  |   
		| vdemons 
 
 
 
 
 | 
			
				|  Posted: Sat Apr 30, 2011 4:11 pm    Post subject: RE:Flashing Colours! Star and Stop. |  |   
				| 
 |  
				| import GUI 
 var winID := Window.Open ("graphics:700;500")
 
 View.Set ("graphics:700;500,position:top;right,nobuttonbar")
 View.Set ("title: The Flash")
 
 var message:string
 var hue:int:=1
 var font2:int
 font2 := Font.New("Times New Roman:50")
 var chars : array char of boolean
 
 
 procedure flash
 
 var intfont : int
 intfont := Font.New("Times New Roman:18")
 Font.Draw("Please remember to put your message in quotations(\" \")", 150, 10, intfont, black)
 
 put "Please enter your message: "..
 get message
 
 
 loop
 for c: 1..15
 colour(c)
 Font.Draw (message, 220, 238, font2, c)
 delay (200)
 Input.KeyDown (chars)
 if chars ('t') then
 exit
 end if
 end for
 end loop
 
 end flash
 
 var quitBtn : int := GUI.CreateButton (35, 5, 0, "Quit", GUI.Quit)
 var b : int := GUI.CreateButton (35, 400, 0, "Start Program", flash)
 
 loop
 exit when GUI.ProcessEvent
 end loop
 
 Window.Close (winID)
 |  
				|  |  |   
		|  |  |  
	  
		|  |   
		| Tony 
 
  
 
 
 | 
			
				|  Posted: Sat Apr 30, 2011 7:15 pm    Post subject: RE:Flashing Colours! Star and Stop. |  |   
				| 
 |  
				| Yes, something like this. Would exit terminate the for-loop first, or the outer loop? |  
				|  Tony's programming blog. DWITE - a programming contest. |  |   
		|  |  |  
	  
		|  |   
		|  |  
 |