Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 Window.Close
Index -> Programming, Turing -> Turing Help
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
YasserSalama




PostPosted: Tue Jun 03, 2008 12:42 pm   Post subject: Window.Close

I have a program where it starts out by giving you two options; start and quit. I used the Window.Close command to get the quit button to work, but all it does is make the program finish and the window to minimize. I want to make it so it totally closes the window.
Any help would be appreciated.
P.S. You can take out the music file because it won't let the program work if you don't have the file.

code:

View.Set ("graphics:1024;768, offscreenonly, nobuttonbar")
var winID : int
var f1 : int := Font.New ("roaringfire:25:bold")
var f2 : int := Font.New ("roaringfire:50:bold")
var f3 : int := Font.New ("Roaringfire:30:bold")
var mx, my, button : int

process thunder
    Music.PlayFile ("storm-rainthunder5.wav")
end thunder

procedure Font_Pull (Text : string, X, Y, Font1, D, C : int)
    for I : 1 .. length (Text)
        cls
        Font.Draw (Text (1 .. I), X, Y, Font1, C)
        delay (D)
        View.Update
    end for
end Font_Pull

procedure introtext
    Font_Pull ("Two Families", 200, 550, f2, 100, white)
    delay (300)
    Font_Pull ("Sworn enemies from the beginning", 60, 400, f2, 100, white)
    delay (300)
    Font_Pull ("Only one member of each family survives", 1, 200, f3, 100, white)
    delay (300)
    Font_Pull ("And they must fight to finish it all", 50, 600, f2, 100, white)
    delay (500)
    Font_Pull ("Who wins is all up to you", 200, 300, f2, 100, white)
    delay (500)
    cls
end introtext

loop
    colorback (black)
    Font.Draw ("The Rivalry", 320, 550, f2, white)
    drawbox (120, 100, 340, 130, white)
    drawbox (670, 100, 890, 130, white)
    Font.Draw ("Start", 185, 107, f1, white)
    Font.Draw ("Quit", 740, 107, f1, white)
    View.Update
    delay (15)
    cls
    Mouse.Where (mx, my, button)
    if mx > 120 and mx < 340 and my > 100 and my < 130 then
        drawfillbox (120, 100, 340, 130, red)
        if button = 1 then
            cls
            fork thunder
            introtext
            delay (500)
            cls
        end if
    elsif mx > 670 and mx < 890 and my > 100 and my < 130 then
        drawfillbox (670, 100, 890, 130, red)
        if button = 1 then
            Window.Close (winID)
        end if
    end if
end loop
Sponsor
Sponsor
Sponsor
sponsor
SNIPERDUDE




PostPosted: Tue Jun 03, 2008 1:54 pm   Post subject: RE:Window.Close

when you compile it, isn't there an option to close the programme once it is finished?

When you run it from turing it will only minimize it, but when you compile it should ask you if you want to leave it open once done or not.

Hope that helps.
jeffgreco13




PostPosted: Tue Jun 03, 2008 2:04 pm   Post subject: Re: Window.Close

Almost positive this is your problem. winID is an empty variable.

code:

var winID: int:= Window.Open(parameters)


You place that code at the top. You don't really need that "View.Set" if you set your parameters properly.

Check out the Turing documentation on exactly how to setup the Window.Open() command.

That should make the window itself have an ID of "winID" so when you call the Window.Close(winID) it will close the main window. Check it out let us know.


EVERYTHING ANSWERED BY GOOD OL' COMPSCI.CA
http://compsci.ca/v3/printview.php?t=8901&start=0
Sean




PostPosted: Tue Jun 03, 2008 2:21 pm   Post subject: Re: Window.Close

The above is correct. You made a window variable, but never gave it paramters. That is why nothing happened.

Turing:

var winID : int := Window.Open ("graphics:1024;768, offscreenonly, nobuttonbar")
var f1 : int := Font.New ("roaringfire:25:bold")
var f2 : int := Font.New ("roaringfire:50:bold")
var f3 : int := Font.New ("Roaringfire:30:bold")
var mx, my, button : int

process thunder
    Music.PlayFile ("storm-rainthunder5.wav")
end thunder

procedure Font_Pull (Text : string, X, Y, Font1, D, C : int)
    for I : 1 .. length (Text)
        cls
        Font.Draw (Text (1 .. I), X, Y, Font1, C)
        delay (D)
        View.Update
    end for
end Font_Pull

procedure introtext
    Font_Pull ("Two Families", 200, 550, f2, 100, white)
    delay (300)
    Font_Pull ("Sworn enemies from the beginning", 60, 400, f2, 100, white)
    delay (300)
    Font_Pull ("Only one member of each family survives", 1, 200, f3, 100, white)
    delay (300)
    Font_Pull ("And they must fight to finish it all", 50, 600, f2, 100, white)
    delay (500)
    Font_Pull ("Who wins is all up to you", 200, 300, f2, 100, white)
    delay (500)
    cls
end introtext

loop
    colorback (black)
    Font.Draw ("The Rivalry", 320, 550, f2, white)
    drawbox (120, 100, 340, 130, white)
    drawbox (670, 100, 890, 130, white)
    Font.Draw ("Start", 185, 107, f1, white)
    Font.Draw ("Quit", 740, 107, f1, white)
    View.Update
    delay (15)
    cls
    Mouse.Where (mx, my, button)
    if mx > 120 and mx < 340 and my > 100 and my < 130 then
        drawfillbox (120, 100, 340, 130, red)
        if button = 1 then
            cls
            fork thunder
            introtext
            delay (500)
            cls
        end if
    elsif mx > 670 and mx < 890 and my > 100 and my < 130 then
        drawfillbox (670, 100, 890, 130, red)
        if button = 1 then
            Window.Close (winID)
        end if
    end if
end loop
YasserSalama




PostPosted: Wed Jun 04, 2008 11:57 am   Post subject: RE:Window.Close

Thanks for the help but when I declare the variable winID with parameters, then when I hit quit, the window goes back to the default window (small size, button bar, etc.) I want it to just close totally.
YasserSalama




PostPosted: Wed Jun 04, 2008 12:02 pm   Post subject: RE:Window.Close

Oh. I tried putting in two Window.Close commands and it seemed to work. Thanks for the help guys!
gitoxa




PostPosted: Wed Jun 04, 2008 12:28 pm   Post subject: RE:Window.Close

Part of the problem might be that your progra mnever actually ends. It's forever in the main loop until forcefully shut down.
Sean




PostPosted: Wed Jun 04, 2008 12:49 pm   Post subject: Re: Window.Close

The reason that it opens a second window, is because you aren't sending your output to your created window. Before you do anything in your procedures, use: Window.Select (WinID)

Turing:

proc intro
Window.Select (WinID)
%Code Follows This
end intro
Sponsor
Sponsor
Sponsor
sponsor
Display posts from previous:   
   Index -> Programming, Turing -> Turing Help
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 8 Posts ]
Jump to:   


Style:  
Search: