|
Hint: look into modal dialog boxes.
|
|
|
|
|
"There used to be a dialog box style (DS_SYSMODAL) that created a dialog box in system modal mode. But it is only there for compatibility with 16bit windows and doesn't prevent the user from clicking other items on the desktop. So I guess you will have to intercept the mouse messages. But even then the user will be able to move through dialogs using the Alt+Tab combination. So you better look at How to Disable Task Switching."
Judging from that bit of information Modal dialog boxes would not work effectively.
|
|
|
|
|
You can never block Ctrl+Alt+Delete.
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
No, but I can use BlockInput() to stop all keyboard and mouse use except Ctrl+Alt+Del. I have also been able to have a program repeatedly use BlockInput() so even if the user opens task manager they still can't do anything. But that is besides the point
|
|
|
|
|
I don't think that is a good idea.
My first thought would be to uninstall the application.
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
I remember that long before I've done that in VB but that's a decade before :P. System-Modal concept is obsolete now in the 32Bit world. You cannot do that.
MSDN:
NOTE: An equivalent Win32 API function for SetSysModalWindow does not exist. System modal windows contradict the concept of multitasking and thus are not implemented in Win32.
May be you can maximize your app screen & make that stay on top of every window.
SetWindowPos(&this->wndTopMost..
He never answers anyone who replies to him. I've taken to calling him a retard, which is not fair to retards everywhere.-Christian Graus
|
|
|
|
|
I don't think you can "keep" the keyboard and mouse focus all times, but you can however keep your message-box on top of other windows by displaying it as system-modal.
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
Well I haven't actually taken any classes so I don't know how to define all the parameters to make a modal box. If you would be so gracious as to get me going feel free.
|
|
|
|
|
Well, I am not sure if you just need a modal message box[^] or you would want to keep your application window system modal. If you just need a system modal message box:
::MessageBox(NULL, _T("Message text goes here"), _T("Messagebox Title"), MB_SYSTEMMODAL);
The MB_SYSTEMMODAL flag specify that the message box should be system modal (on top of all other windows, until dismissed).
If it's your application that you want to set on top of other windows, you could call SetWindowPos()[^] and pass HWND_TOPMOST as the second parameter.
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
Hey Guys,
I am writing an SMTP mail client in c++ in unix and it needs to do the following:
I need to create a client
the client talks to port 25
it sends a hello world message
I also need to support and smtpclient class and a clientdriver class
I have written the smtpclient class, but I am drawing blanks on the rest. I am going to include the smtpclient class below ,but I was hoping for some pointers or help on the rest of the program.
Class smtpclient (
public String smtpClient (String machineName, int portNumber);
public String login (String userName, String password);
public void logout ():
public String senderAndReceiver (String sender, String receiver);
public String messageBodyPrefix (String message);
public String messageSuffix (String message);
|
|
|
|
|
First, write the client without it being a class. It's basic procedural code. Once you figure out how the protocol works, then create a class to reflect the requirements.
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
My program compiles and runs but it is not working properly, it gives me as time differnce = 0... Pleaes take a look and help..
v
#include <stdlib.h>
#include <iostream>
#include <time.h>
using namespace std;
int main(int argc, char** argv) {
time_t start;
time_t end;
double timeDifference;
int a = 1500;
int b = 23;
int integerDivision;
float c = 1500.0000;
float d = 23.0000;
float floatDivision;
cout <<"Beginning divisions...";
time (&start);
for(int i = 0; i < 100000; ++i)
{
integerDivision = a/b;
}
time (&end);
timeDifference = difftime(end, start);
cout << "The time to divide 100,000 integers is: " << timeDifference << endl;
return (EXIT_SUCCESS);
}
</time.h></iostream></stdlib.h>
|
|
|
|
|
Sadaiyappan wrote: My program compiles and runs but it is not working properly, it gives me as time differnce = 0... Pleaes take a look and help..
The resolution of that clock is 1 second - you really shouldn't be surprised that 100,000 divisions take less than 1 second to execute. Increasing the count to 1,000,000,000 increased the time taken to 5 seconds. That means that my PC does 200,000,000 integer divisions per seconds - yours won't be too far off that...
Computers are fast these days!
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
Furthermore, unless you are building for debug, an optimizing compiler would detect there is no need to execute the for loop at all, since (1) the code inside does not depend on the index i, and does not have any side effects so it can be moved out of the loop; and (2) integerDivision is a local variable that does not get used afterwards, so there is no reason to perform the division even once.
One must be extremely cautious when trying to measure the time taken by elementary operations like that, since a small change in your code may lead to a much bigger change in the optimization, and possibly completely wrong conclusions.
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
Hello,
I have a combination algorithm I am trying to solve.
I have the formula and have got that to work if I didn't want the individual elements. However when I am trying to get to the individual elements, and I am having a problem. This is what I have so far. I know its not funny but the following works when I have to select 1 out of 2. However I get one extra count when I go and select 2 out of 3.
thanks a million in advance for helping .
k= 2;
n=3;
y=0;
i=n-k;
Total = 0;
for (y=0; y<(n-i);y++)
{
for (x=y; x<(i+k);x++)
{
Total++;
}
i--;
}
|
|
|
|
|
I don't now what is your issue, but the code you posted does not work (infinite loop).
Initially your set k=2, n=3, so i=n-k =>1. Your innermost loop runs then you decrement i => 0, your condition on the outer loop is now y=1 and y < (n-i) => 2-0 => 2 and the condition is true, innermost loop runs then your decrement i => -1 (booom).
Since in the outer loop you're condition is y<(n-i) and i is now less than 0, effectively it is n-(-i) => n+i thus y = 2 and y < 3 is valid. Thus it is infinite loop.
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[^]
|
|
|
|
|
Please elaborate.
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]
|
|
|
|
|
Sorry I must have pasted the wrong code...
I am trying to get a list out for different combination of numbers;
I can get the list out if I put in as many for loops as the difference betweeen the userinput1 and userInput2 is.
I am also able to get what the distinct combination count should be.
I am trying to get the list for different combinations out using 2 for loops.
If you change (userInput1=2,userInput2=3) = 6, sameway if (userInput1=5,userInput2=7)=21.
I don't get that result.
the different is the "(n-k)" part of the formula. I have exhausted my self trying this. I need help getting the list out without having to change my app for different scenerios.
Thanks a million for all your help.
userInput1=n=2;
userInput2=k=3;
Total = 0;
i= userInput2 - userInput1;
for (a=userInput2; a>i;a--)
{
for (b=a+1;b>1;b--)
{
Total++;
}
}
|
|
|
|
|
What do you want to compute? Perhaps the result of n!/((n-k)! k!)?
Why dont you use that formula (or an equivalent one?)?
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 could, the only disadvantage is I get duplicates. I could add an extra step to eliminate the duplicates.
|
|
|
|
|
FISH786 wrote: I could, the only disadvantage is I get duplicates.
Which means your code is incorrectly implementing the following formula:
n!
-----------
k! (n - k)! If you wanted combinations with repetition instead, that would look like:
(n + k - 1)!
------------
k! (n - 1)!
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
Sorry, if i explained it wrong.My list shouldn't have any duplicates. The elements within the list should be unique.
Input of (3) "ABC" output "2" Result list of (AB,BC,AC) this is what I am after.
modified on Monday, March 30, 2009 10:50 AM
|
|
|
|
|
FISH786 wrote: Input of (3) "ABC" output "2" Result list of (AB,BC,AC) this is what I am after.
Which (I think) is a permutation, not a combination. Regardless of which it is, your two for() loops might need some tweaking.
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
Oh my god...I have been at this for too long...Nevermind...thank you..
|
|
|
|
|