|
Hi ,
I am a beginner but I would like to learn.
I would like to use a new thread to read some data with an USB-module and to print it out in a CViewForm.
Now I have a total working program that can read and print when I click on the start button, but an infinit loop under the startbutton is written to read data until I click on Stop.(the data is real-time printed on the screen in a graph) This ofcourse is not possible because I stay in the loop under the startbutton. I can't click anything.
This logic problem I want to solve with strating a new thread just for collecting data from the USB-module and printing a graph on screen.
Now to use my old program is it possible to make an extra class derivaded from CWinThread and just call or postmessage the CView and CDocument members or functions ? If I could use my CView and CDocument members and functions in the InitInstance I thing I have a solution.
Maybe I am totaly wrong , I am just a beginner
Thanks a lot (sorry for my English)
|
|
|
|
|
Piction wrote: I am a beginner but I would like to learn.
Then I strongly suggest you obtain and read learning materials specifically designed for beginners rather than posting things into internet forums.
|
|
|
|
|
Howdy everyone...
Could someone help me? I'm trying to write an algorith tht returns all the possibilities of the letters in a string, that starts at the initial word, then works its way down to all comniations of 2 letters.
To say it another way... if I have "ABCDEF", the function will return "ABCDEF" first (as there is only one of these), then return 6 strings of 5 letters each ("ABCDE", "BCDEF", "ACDEF", "ABCDF", "ABDEF" and "ABCEF"), as only 6 exists, then return 15 strings of 4 letters each, then 20 of 3 each, 15 of 2 each, and stop.
C++ or C# or just an idea of how to accomplished this would be great.
Thank you so much,
Michael
== // ==
BlueCoder
|
|
|
|
|
Use a bucket for every other letter in the alphabet. Then every letter you trip over, pour it into the right bucket.
|
|
|
|
|
led mike wrote: Use a bucket for every other letter in the alphabet. Then every letter you trip over, pour it into the right bucket.
You mean like A C E G I, etc., then I lost you?
What about the 'even' letters?
Michael
== // ==
BlueCoder
|
|
|
|
|
By 'bucket' I think he means an array of integers where each entry represents one of the letters of the string. "Pooring into the right bucket" means incrementing the count of that letter's entry in the array.
That was a good hint but I think it is best that you figure it out from there.
|
|
|
|
|
Do you recommend the boost version of a bucket or the MFC version ?
|
|
|
|
|
Thanks Rick...
Either one, if that was a question to me.
Michael
== // ==
BlueCoder
|
|
|
|
|
No, sorry. My reply was an attempt at a bad joke aimed at led mike.
|
|
|
|
|
I thought that, just after I posted.
== // ==
BlueCoder
|
|
|
|
|
Yes I failed in resisting the urge to have a go at this student
|
|
|
|
|
The string I'll be doing the algorithm on will not always be "ABCDEF"; it could be any arbitrary set of letters, and any length.
It is more difficult then I thought.
Michael
== // ==
BlueCoder
|
|
|
|
|
Michael Hildebrand wrote: It is more difficult then I thought.
Indeed. Has any of your professors discussed the danger of "assumptions" during the activities of software development? If they have not perhaps you should ask them.
|
|
|
|
|
you need to look up combinations & permutations. Wikipedia, google, math.com, doesn't matter.
|
|
|
|
|
I tried this, but only found algorithms for using all the letters. As in "ABCDEF", they return "FEDCBA", "BACDEF", etc., all 6 letters.
Michael
== // ==
BlueCoder
|
|
|
|
|
This is classical case of permutations. From your example you seem to follow an order, is that a requirement?
Yusuf
Oh didn't you notice, analogous to square roots, they recently introduced rectangular, circular, and diamond roots to determine the size of the corresponding shapes when given the area. Luc Pattyn[^]
|
|
|
|
|
Yusuf.A wrote: This is classical case of permutations. From your example you seem to follow an order, is that a requirement?
Thanks Yusuf -
No, it does not matter. Just as long as there are no 'repeats' for the group of letters being output, Like "ABC" and "CBA", would be the same thing.
Michael
== // ==
BlueCoder
|
|
|
|
|
Just to spot for you the idea...
#include <stdio.h>
#define N 6
char x[N];
char r[N+1];
int L;
void step(int k, int l)
{
if (l==L)
{
printf("%s.\n", r);
return;
}
for (int i=k; i<N; i++)
{
r[l] = x[i];
step(i+1, l+1);
}
}
void main()
{
r[L] = '\0';
for (int i=0; i<N; i++)
{
x[i]='A'+i;
}
for (L=N; L>1; L--)
{
r[L] = '\0';
step(0,0);
}
}
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Looking at your solution now... What is L for?
Michael
== // ==
BlueCoder
|
|
|
|
|
The current length of the sequence.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
I Love you Man!
Works!
I was studying this for 4 hours!
Thanks so much!
Michael
== // ==
BlueCoder
|
|
|
|
|
Michael Hildebrand wrote: I Love you Man!
Unfortunately yours appears to be a male name...
Michael Hildebrand wrote: Works!
Thankfully.
Michael Hildebrand wrote: I was studying this for 4 hours!
That's no so much time, after all.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Yes, congratulations! You have now done is homework for him.
|
|
|
|
|
Yes, but now, he loves me...
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Here's the code, and the important values from stepping through the code:
CStatic m_audio_rate_text;
...
m_audio_rate_text.Create(T_AUDIO_BITRATE_TEXT, WS_CHILD|WS_VISIBLE
,move
,this,AUDIO_BITRATE_TEXT);
CRect t;
m_audio_rate_text.GetWindowRect(&t);
How do I get the right RECT ?? (the same as the one I created it with)
Or
Why is GetWindowRect() returning a different value?
modified on Tuesday, March 24, 2009 4:33 PM
|
|
|
|