|
Don't forget to release the ALT key with :
keybd_event(VK_MENU,0xb8,KEYEVENTF_KEYUP,0);
|
|
|
|
|
thanks a LOT
|
|
|
|
|
Hello everyone,
I am just interested in the following sample, how compiler maps one dimensional int pointer array to two dimensional int array so perfect. E.g. p [3][3] maps to the 33th element and p [0][9] maps to the 9th element.
How does the compiler do the internal mapping of one dimensional int pointer array (variable p) and the two dimensional int array (variable buffer)?
<br />
int main (int argc, char** argv)<br />
{<br />
<br />
int (*p) [10];<br />
int buffer [10][10];<br />
int tmp;<br />
int i = 0;<br />
int j = 0;<br />
<br />
for (i = 0; i < 10; i++)<br />
{<br />
for (j = 0; j < 10; j++)<br />
{<br />
buffer [i][j] = i * 10 + j;<br />
}<br />
}<br />
<br />
p = &buffer;<br />
<br />
tmp = p [3][3];
<br />
tmp = p [0][9];
<br />
return 0;<br />
}<br />
thanks in advance,
George
|
|
|
|
|
sorry to say that, right now, i donot have any idea on this post,
but how about your algorithm to get 1000 largest values? any good news?
here i have implemented the algorithm as i suggested, using linked lists.
it took 30 seconds to sort 10 crore samples.
do you want me to share it?
or have you got a better idea to implement it.
|
|
|
|
|
|
how much time does your nth element logic take to sort the elements?
|
|
|
|
|
Hi chandu004,
chandu004 wrote: how much time
How much time you mean the elapsed time of one invocation of nth_element or how many times I invoke function nth_element?
regards,
George
|
|
|
|
|
time to take out top 1000 elements from 10 crore elements.
|
|
|
|
|
Thanks for your interest and attention, chandu004.
I will tell you the result when I complete the draft coding, currently I am writing the parser to read data into memory.
regards,
George
|
|
|
|
|
i have put my algorithm here
[^]
please refer it.
--------------------------------------------
Suggestion to the members:
Please prefix your main thread subject with [SOLVED] if it is solved.
thanks.
chandu.
|
|
|
|
|
Cool chandu,
I must study your code and post my code when I complete the parser code.
regards,
George
|
|
|
|
|
The compiler does it the same way you do when you initialize the
array.
A pointer to the indexed array element is formed by multiplying the indexes
by the associated array dimension(s). In your example, to get the
value in the array at p[x][y], the compiler creates code to calculate
a pointer to the value
tmp = p [x][y];
ptrtovalue = ptrtoarraystart + ((x * arraydimension1 + y) * sizeof(int))
tmp is asigned the int found at ptrtovalue
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
i feel a subsequent question is close... may I vote you 3 too ?!
|
|
|
|
|
toxcct wrote: may I vote you 3 too ?
I think I deserve a 3.17!
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Thanks Mark,
I do not quite understand why using int (*p) [10], I think using int* p is fine without changing the other parts of the program, agree?
regards,
George
|
|
|
|
|
My requirement is to record a voice file from a web apllocation in the following format..,
"PCM 8kHz, 16 bit, mono"
1) I imported the winmm.dll
DLLImport("winmm.dll", Entrypint:="mciExecute", charset:=charse,ansi, set last error:=true, Exact spelling:=true) private shared function mciExecute(byVal lpStrCommand as string) as boolean<br />
end function
2) opened the audio device
mciExecute("open new Type waveaudio recSound")
3) setting the format of voice file
mciExecute("set recsoud time format ms bitspersample 16 channels 1 samplespersec 8000")
----> after executing this last statement, I faced the following error "The specified parameter is out of range for the specified command". I am able to record voice file at 11.25 khz fq, and even at higher fq. with the same above mentioned steps.
is there any other way to meet my requirement, for the last 10days I was browsig, no where I found proper solution,
thank u all,
with regards,
kiran
|
|
|
|
|
I haven't used MCI in a looong time, but are you sure all your strings are right?
mciExecute("open new type waveaudio alias recSound")
mciExecute("set recSound time format milliseconds bitspersample 16 channels 1 samplespersec 8000")
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
|
Actually, I am able to save my voice file in 11.25kHz fq, and above fqs just by changing the set parameter values. It works fine. But I need to save it in 8000 hz format.
Yes I am using these statements in VBScript.
|
|
|
|
|
Was not really a question. I try to suggest why not answers: it is a c++ forum
|
|
|
|
|
I previously posted a simular question and received some interesting response.
I have 7 pages within a Wizard. On each page there are 8 - 10 Editboxes that are NOT set for tab control. There is nothing else on the property page besides the Editboxes.(no [OK], [Start], etc.)
If a User selected with the mouse the 5th Editbox on page 2 (IDC_TIRES), entered some data, then selected the [Next] or [Back] button on ther Wizard, OR selected with the mouse ANOTHER Editbox on page2; I have no idea how to get the data. Using ONSETFOCUS or ONENCHANGE only tells me activity has occured within the Editbox, where ONKILLFOCUS tells me the User is no longer using the Editbox. When ONKILLFOCUS occurs I could get the data IF I had control of the page. How can I get control of the page is my question. snippet code please!
-- modified at 21:32 Friday 9th November, 2007
I did in the "Class Wizard" under CPage_2 class, select each IDC_ ???? box and added a function for it. So Editbox 5 is IDC_TIRE and the function name for it is CPage_2::OnTire() .
I thought I would gain control this way but it didn't give me control.
A C++ programming language novice, but striving to learn
|
|
|
|
|
Larry Mills Sr wrote: ...I have no idea how to get the data.
Assuming you have a CEdit member variable assigned to each edit control, just use the GetWindowText() method.
Larry Mills Sr wrote: I did in the "Class Wizard" under CPage_2 class, select each IDC_ ???? box and added a function for it. So Editbox 5 is IDC_TIRE and the function name for it is CPage_2::OnTire() .
I thought I would gain control this way but it didn't give me control.
But what message is OnTire() associated with?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
I guess I'm not very good at explaining what I need. Picture yourself as the User. You see an Editbox for Tires with the instruction to enter the SN# or Part#. You enter it and then either select another Editbox on this page(2) or click [next] and go to the next page (which the page knows nothing about). Where and when in the class (CPage_2), if such an activity occurs, am I to do the pRdit->GetWindowText().
A C++ programming language novice, but striving to learn
|
|
|
|
|
Larry Mills Sr wrote: Where and when in the class (CPage_2), if such an activity occurs, am I to do the pRdit->GetWindowText().
When you switch from page #2 to any other page, page #2 will receive a PSN_KILLACTIVE notification.
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Okay, What about if thye User selects another Editbox on page 2?; or has to look up the part number and takes an excessive amount of time finishing part number/ID entry. How will I know to capture the data? Code please.
A C++ programming language novice, but striving to learn
|
|
|
|