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

Username:   Password: 
 RegisterRegister   
 Help me with Font.Draw
Index -> Programming, Turing -> Turing Help
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
xStil




PostPosted: Sat Nov 01, 2008 12:53 pm   Post subject: Help me with Font.Draw

A subprogram to get text form the user and then draw it using Font.Draw. All the variables are declared in the full program.
Quote:
process TextWrite
mainfont:=Font.New (MainFont+":"+intstr (sz))
var TEXT :string
TextActive:=true
get TEXT:*
Font.Draw (TEXT,linex,liney,mainfont,cl)
TextActive:=false
end TextWrite

The method used to call this subprogram is:
Quote:
if keys (T) then
delay (50)
fork TextWrite
end if

Again, everything it needs has been declared...
The problem is: I launch it, press 't', type the text, and then press enter...the text is written correctly, but I am forced to press enter a few more times (sometimes one more time, others it could take 10 presses) to get out of the get statement...

If I don't press enter those few more times, and try to close the window with Window.Close (winID), I get an error "Process "TextWrite": I/O attempted on closed stream 2."

Whats wrong in the code???
Sponsor
Sponsor
Sponsor
sponsor
xStil




PostPosted: Sat Nov 01, 2008 1:08 pm   Post subject: RE:Help me with Font.Draw

Embarassed

I figured it out:
The 'TextActive' variable is a variable to allow the whole program to know that TextWrite is functioning, so that most keyboard shortcuts would not be active while I am typing...I added 'and TextActive=false' to the if statement, and now all is well... I guess I forgot to make sure that this if statement knew when to be active and when to be not-active.

I might be able to show the program soon! Very Happy
Insectoid




PostPosted: Sat Nov 01, 2008 1:50 pm   Post subject: RE:Help me with Font.Draw

2 questions,

1. Why are you using processes? Procedures are far more reliable.

2. Why are you using delays? They only slow down the program, which is only useful for animations.
xStil




PostPosted: Sat Nov 01, 2008 3:49 pm   Post subject: RE:Help me with Font.Draw

1: I feel more comfortable with calling a subprogram with fork, rather than just write down its name, or put it in a 'variable:=function (x,y...)'

But when I have to use procedure/function, then I don't hesitate...

More reliable? Don't procedures and functions allow for 'var parameters'? I heard those were risky to use and can cause complications at the smallest error.

2: I used the delay because, sometimes when I press 't' I hold on for longer and it is written down by the get statement

I got rid of it tho!
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  [ 4 Posts ]
Jump to:   


Style:  
Search: