|
How to create a random number not only using the MFC function but using the current time of generation and the mouse position?
It should be impossible to crack
/\|-||\/|/\|)
|
|
|
|
|
hey mr Halawlaws,
i wonder if you are not using CodeProject because you are too tired to search the MSDN[^]...
#include <stdlib.h>
srand((unsigned)time(NULL));
int i = rand();
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
toxcct wrote:
i wonder if you are not using CodeProject because you are too tired to search the MSDN[^]...
no not true
and mouse position?
/\|-||\/|/\|)
|
|
|
|
|
convert the random number to string and split into two..make them again as int. multiply one part of the number with Cpoint's x and others's with another (y + another Random number) ..he he
vivek
|
|
|
|
|
how to get the mouse position?
/\|-||\/|/\|)
|
|
|
|
|
what about the mouse position ? if you use it, it will not be random anymore ...
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
yes because if u open the dialog and move it u will have different position of mouse also on each different computer it will be different
/\|-||\/|/\|)
|
|
|
|
|
so ?
what exactly you want to do ? ( besides the random numbers ) .
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
The software allow users to create random serial number for there companies based on the serial number of the product. This random number is sold later if a certain client need to enable something in his device.
/\|-||\/|/\|)
|
|
|
|
|
why do you want to use the mouse position ?
just generate the number with srand ( or rand, or some other methods ) and be done with it.
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
i need to complicate it so the user cannot use the usual function of C++ to generate such a code
/\|-||\/|/\|)
|
|
|
|
|
The odds of that happening would be 1 in 32,768.
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
|
You'd be better off using a GUID for this. You can use the guidgen.exe utility, or use CoCreateGuid() if you need it at run-time. The algorithm is already established, plus you cannot achieve true randomness with rand() , or any other function for that matter.
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
Hello
In my opinion, a better way to do what you need is to use one of the random number generator routines in "NUMERICAL RECIPIES": http://www.library.cornell.edu/nr/cbookcpdf.html
Scroll down to Ch. 7 in that page and you'll find a lot of algorithms that will be by far better you can come up using only your machine generator. You'll still need it, but the algorithms provide better "randomness" in your numbers and they are sorted by the way you need them to have certain statistical distributions. If you need them to have equal probabilities, then use the ran2 algorithm. This code is an implementation of it:
seed = 0;<br />
srand (time(NULL));<br />
rand();<br />
seed = rand();<br />
return ran2(seed);<br />
The return number is a uniform random deviate between 0 and 1. If you need integers just multiply your number as needed and take the integer.
Cheers
|
|
|
|
|
Hi All,
I'm trying to customize CEdit control to create dynamically growing and shrinking edit control by height. I'm stucked where I need to calculate the new height of the edit control, when the number of text exceeds the current limit. I 'm having the parameter which tells me the number of lines. I succeeded for the case of small fonts. I used the following formula:
nHeight = 13 * m_LineCount + 6;
This works fine.!!
But I would like to generalize this..! So Can Anyone help me to calculate the height for any font. even if the font is set small / large / custom.
It would be helpful for me if someone can help me to sort this out.!!
Thanks & Regards!
Rajesh
|
|
|
|
|
How about using
CFont *font = GetFont();
LOGFONT lf;
font->GetLogFont(&lf);
nHeight = lf.lfHeight * m_LineCount +6;
I think it will work.
Ritu Kwatra
|
|
|
|
|
Hi Ritu,
Thanks for the response. But it seems to be not working throughout.
This works fine for first few lines, after that for some case, the number of lines get incremented by double instead of single.
Expecting more ideas..
Thanks and regards!!
Rajesh
|
|
|
|
|
Hi Rajesh,
Are you sure that your linecount parameter is giving you correct value ?
If possible, mail me the piece of code.
Ritu Kwatra
|
|
|
|
|
I have a CString of 6 numbers how can i cast into one int variable so i can compare it with different numbers.
/\|-||\/|/\|)
|
|
|
|
|
int i;
CString str = "32";
sscanf(str, "%d", &i);
ASSERT(i == 32);
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
One more thing...
can i do this without the Assert coz i don't know the value of str in my program
thx anyway
/\|-||\/|/\|)
|
|
|
|
|
certainly, ASSERT() was just here to show you that aftrer treatment, the int contains the string's value...
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
|
what about atoi[^]?
Marc Soleda.
... she said you are the perfect stranger she said baby let's keep it like this... Tunnel of Love, Dire Straits.
|
|
|
|