Jump to content

Word quiz program


Recommended Posts

Preamble: with this topic I actually wish to introduce a ready program; however, i'm not yet able to post in the respective forum section, so I just did something as bold as posting right here.

The program that is called BFT does a very simple thing: it gives you a list of questions (or words, or sentences, or just strings) and you have to enter the corresponding equivalent, which has the same format of a string.

I used it for testing some students' vocabulary; therefore the questions in the program are Russian words and word combinations while answers are their English translations.

Basic features include: space for 36 questions; if the answer has a synonim you can also put it into the test, so if the student writes it, it will be accepted; instant result display with false answers percentage and correct answers; saving the result to a file (this can also be encrypted, but I eventually took this function away as it has no sense and consumes time); viewing the result later with Viewer.exe; the program gives a warning if Lingvo or PROMT (popular Russian-made electronic dictionaries) is started and closes them.

Basic problems to solve if diligence prevails:

-it doesn't try to fit the screen size, so with the resolution below 1024x768 you might feel a little cramped;

-a single spare symbol will be counted as a mistake, for example "to pledge" or "pledge " instead of "pledge". Concerning this one, I thought of having the program just check if all of the "correct" strings are found in any combination in the student's answer string: for example if you ask for "demarcation treaty" the answer can also be "the treaty of demarcation". So if you mark"demarcation" and "treaty" strings as "correct" then both cases will be accepted. But this solution may turn dangerous, as sometimes people write something as stupid as, say, "demarcation of the treaty", you don't want them to be proud of doing that.

-not a very convenient system to enter synonims I've mentioned earlier;

I also had another version of the program, that started another process with no gui that deleted the test exe itself when it was done. I had that because students tended to close the test, consult Lingvo and then start it again; so I made two stupid safeguards: the one I've mentioned + when being started the program creates an ini, which, while exists, wouldn't let the program start again. I know, these are lame solutions, but for people not very keen with computers they worked. If you know how to prevent an exe from being started second time in a smart way, I would appreciate the advice.

Finally, my evaluation of the program's usefulness: it's good. The group has a computer class once each week. So each week they deal with a soulless machine which cruelly reveals the truth. I don't think you can use the program for a real test and give marks for it; but refreshing the knowledge in-between written paper test its invaluable.

The attachment includes source files with some gui pictures. The compiled version can be found at BFT.zip

Source.zip

Link to comment
Share on other sites

Hey... That is really quite neat. I don't know the first thing about speaking Russian, I mess up saying "da" LOL I think there will be alot of use for this script tho. One day I hope to be a contributor. Thank You

Link to comment
Share on other sites

Preamble: with this topic I actually wish to introduce a ready program; however, i'm not yet able to post in the respective forum section, so I just did something as bold as posting right here.

The program that is called BFT does a very simple thing: it gives you a list of questions (or words, or sentences, or just strings) and you have to enter the corresponding equivalent, which has the same format of a string.

I used it for testing some students' vocabulary; therefore the questions in the program are Russian words and word combinations while answers are their English translations.

Basic features include: space for 36 questions; if the answer has a synonim you can also put it into the test, so if the student writes it, it will be accepted; instant result display with false answers percentage and correct answers; saving the result to a file (this can also be encrypted, but I eventually took this function away as it has no sense and consumes time); viewing the result later with Viewer.exe; the program gives a warning if Lingvo or PROMT (popular Russian-made electronic dictionaries) is started and closes them.

Basic problems to solve if diligence prevails:

-it doesn't try to fit the screen size, so with the resolution below 1024x768 you might feel a little cramped;

-a single spare symbol will be counted as a mistake, for example "to pledge" or "pledge " instead of "pledge". Concerning this one, I thought of having the program just check if all of the "correct" strings are found in any combination in the student's answer string: for example if you ask for "demarcation treaty" the answer can also be "the treaty of demarcation". So if you mark"demarcation" and "treaty" strings as "correct" then both cases will be accepted. But this solution may turn dangerous, as sometimes people write something as stupid as, say, "demarcation of the treaty", you don't want them to be proud of doing that.

-not a very convenient system to enter synonims I've mentioned earlier;

I also had another version of the program, that started another process with no gui that deleted the test exe itself when it was done. I had that because students tended to close the test, consult Lingvo and then start it again; so I made two stupid safeguards: the one I've mentioned + when being started the program creates an ini, which, while exists, wouldn't let the program start again. I know, these are lame solutions, but for people not very keen with computers they worked. If you know how to prevent an exe from being started second time in a smart way, I would appreciate the advice.

Finally, my evaluation of the program's usefulness: it's good. The group has a computer class once each week. So each week they deal with a soulless machine which cruelly reveals the truth. I don't think you can use the program for a real test and give marks for it; but refreshing the knowledge in-between written paper test its invaluable.

The attachment includes source files with some gui pictures. The compiled version can be found at BFT.zip

A better way to prevent a user from ending the process on this program, using a translater, and then restarting it would be to simply use registry keys. When the program starts up, write to a place in the registry and then when the program is done(it has closed appropriately and has saved the test to a file) have it overwrite the initial registry value with a new one that shows any new instance of the program that it has exited correctly.

;place this at the beginning of the script
$RegVAl = RegRead ( "HKEY_LOCAL_MACHINE\SOFTWARE\BFT", "Closed" )
If $RegVal <> 1 And $RegVal <> "" Then
    MsgBox(16,"Error!","This program was closed incorrectly earlier.  This was a crude attempt at cheating, at best.")
    Exit
EndIf
RegWrite ( "HKEY_LOCAL_MACHINE\SOFTWARE\BFT","Closed","REG_DWORD",2)


;modify your special events function accordingly
Func SpecialEvents()
Local $i_ReturnVal = MsgBox(308,"Quit the test?","In order to exit you must submit what you have currently completed.  Do you want to submit the test right now as is and exit?")
Select
   Case  $i_ReturnVal = 6 ;Yes
        ;save the test in here
        RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\BFT","Closed","REG_DWORD",1 )
        Exit
   Case  $i_ReturnVal = 7 ;No
EndSelect    
EndFunc

I hope you find that helpful. Tracking registry keys is a much more complicated process and you would need very advanced users to be able to track down registry key modifications in elaborate registry locations.

Edited by The Kandie Man

"So man has sown the wind and reaped the world. Perhaps in the next few hours there will no remembrance of the past and no hope for the future that might have been." & _"All the works of man will be consumed in the great fire after which he was created." & _"And if there is a future for man, insensitive as he is, proud and defiant in his pursuit of power, let him resolve to live it lovingly, for he knows well how to do so." & _"Then he may say once more, 'Truly the light is sweet, and what a pleasant thing it is for the eyes to see the sun.'" - The Day the Earth Caught Fire

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...