Whoa, this can't possibly be right.
1:
In the button to generate 10 random numbers, you are playing with fire.
You reuse the variable number that is used to count to 10 numbers,
as the next random number itself!
I can't believe you got away with this.
Have mercy on the reader of this code and create a new variable specific
to holding the next random number, called next_random_number.
Use the local variable block, it's time you learned about it.
Pass the random number through it into its destination(s).
2:
Also, where do you clear the two destinations before you start
generating the numbers?
Shouldn't that happen at the top of the generate button event?
3.
In btnHammer, you used an improper test for empty list.
The INTERSECTION procedure returns a list always.
If there are no winners, that list will be empty.
Since you take that value twice, you should devote a global variable
to save that, for brevity. Call the new global variable winners, initially an empty list.
Note the s at the end of the name, to denote plural,
to remind us it's a list.
Set winners to the result of the intersection,
and change the test from "is it a number" to
"is the length of the list winners > 0".
4.
It's time you learned the csv from list block,
which can take a list and turn it into a piece of text
with all the items from the list, separated by commas.
(csv = Comma Separated Values.)
ABG