|
hello ppl,
i m relatively new to vc++. I need to know how can i create report(s) using the data available in a table in oracle10g database.
To tell you a little about my MFC and VC++ knowledge:
so far i have created an application that receives a string on ethrrnet, parses the string, and puts the extracted data into relevant fields of the table in database.
|
|
|
|
|
Hi to all
Anybody give me the suggestion og reuse of Socket.
In my socket programme,server will receive the client
in server socket , to disconnect the client i used socket shutdown and close to disconnect the client.After another client can connect to the server but they cannot transfer the data between them.This is multi threading programme.
(As my knowledge shutdown and close option is completly end the socket therfore we must restart the socket.)
Give me the suggestion to solve this.
shakumar
|
|
|
|
|
Not very clear about your problem from your post.
Generally, for a server process you will,
1. Initialize Winsock
2. Create a socket and bind it to network interface and port. NOTE: This is the listening socket
3. Then, you can say, prepare the socket to listen for connection request in that socket
4. Then you wait on that socket for incoming connection by accept(..) call.
When this call returns, it will return a new socket where the client is connected. Note that the original listen socket is not used by the connection. You take the new socket returned by accept(..) and do you communication and finally close it. You must not close the socket on which you are listening.
So in that regards, I am not sure in your post, which socket you are closing.
(Even if you are using Unix/Linux the concept remains the same as they are POSIX sockets)
Look at the example given in the link:
http://msdn2.microsoft.com/en-us/library/ms737526.aspx
Within the example, once accept has return with a valid connected socket (a.k.a the 'else' portion of the check)
you can initiate a thread where you will use the socket to do your stuff with the client and close the socket.
You only close the socket you are listening on, when you terminate the server app or you do not wish to listen for connection on that socket any more.
-- Soyuz
-- modified at 1:45 Thursday 5th July, 2007
Wanted to add that, once accept(...) returns, and you deal with you client (either by initiating a separate thread or in the same thread) you need to go back to wait on accept(...) again to server other incoming request.
With the close & shutdown call, I remember an issue about the TCP/IP stack taking some time to actually making the socket available for further reuse and the workaround was (as far as I remember) to set socket option to socket reuse.
|
|
|
|
|
hey pals, i was trying to extract the decimal places out of a "long double" type variable and then store them in an "integer" type variable.
First I stored the long double value in a long integer type value then I subtracted the long integer value from the original long double value, thus, I got the decimal portion of the long double value and I stored tis decimal part into a separate variable.
Now, I under a while loop (which ran uptill the value in the variable holding the decimal part didn't became zero) I multiplied the decimal value holding variable by 10 and stored result in a temporary long double variable, I then copied this new value into an integer variable and subtracted the integer value from the new long double value that left me with one less digit after decimal as i was having initially. NOW until the value of the temporary long double variable doesn't becomes zero this loop runs but this loop is running more number of times as desired. After the value ends in the temporary long double variable, this variable takes up a value = 2.55351e-15 and keeps on running.
How to avoid this ? ? ??????????????????????????????????
|
|
|
|
|
I'm not exactly sure what you are after, but see if this is even remotely close:
double d = 123.456;
char s[16];
sprintf(s, "%.3f", d);
int n1 = atoi(s);
int n2 = atoi(strchr(s, '.') + 1);
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
or maybe you wanted this?
long double IntegerPart;
long double FractionPart = modf(OriginalLongDouble, &IntegerPart);
long lIntegerPart = (long)IntegerPart;
long lFractionPart = (long)FractionPart;
Mark Salsbery
Microsoft MVP - Visual C++
"Go that way, really fast. If something gets in your way, turn."
|
|
|
|
|
Thanks for both ans. nice Q & A.
Nice talking to you. If you judge people, you have no time to love them. -- Mother Teresa
|
|
|
|
|
I newbee to OO so ...
Is deriving a Class and Writting your own constructer for the base a way of accessing the bases private members ??
|
|
|
|
|
Kind of - if a constructor sets the values, you can use it to set them. But, once they are set, you cannot access them, unless public methods are offered to do so ( often a class will offer methods to get, but not set some of the values )
Christian Graus - Microsoft MVP - C++
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
Meaning you the drived Class can access the private members only once durning initilization I guess to put total control on a data members can
add const to private ?????
|
|
|
|
|
No, private members can't be accessed even at initialization. The constructor you are refering may be public or protected. If your constructor is private then that constructor cannot be accessed from outside the class.
|
|
|
|
|
Rajkumar_R wrote: private members can't be accessed even at initialization.
Rajkumar_R wrote: The constructor you are refering may be public or protected.
class myCls<br />
{<br />
private:<br />
int x,y;<br />
public:<br />
myCls()<br />
{<br />
x = 5100;
y = 5660;
}<br />
void disp()<br />
{<br />
printf("x = %d;y = %d",x,y);<br />
}<br />
};<br />
void main()<br />
{<br />
class myCls obj;<br />
obj.disp();<br />
}
-- modified at 10:46 Thursday 5th July, 2007
Nice talking to you. If you judge people, you have no time to love them. -- Mother Teresa
|
|
|
|
|
G Haranadh wrote: please give a conclusion for private data members.
What exactly are you wanting to do with them?
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Still, here constructor is accessed in main() because it is public.
constructor in turn accessed the private member. private member is not accessed in the main.
|
|
|
|
|
If I write my own constructer for the Base Class what Can I do/access/modify with it
thankx
|
|
|
|
|
If a base class has private members, a derived class (or any other for that matter) can access them only by using the friend keyword. Use it with caution, though (overuse of friend is a sign of a bad class designer.)
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
Well normally if you write your own constructer in a derived class what can you do in it
|
|
|
|
|
The access rules apply to all members of a class. Your class should be designed so that the base class constructors and members would Get/Set the private member data within it's direct scope.
To be more clear; any method or data member defined in a class is accessible within that class, regardless of whether it's private, protected or public. Access modifiers control the visibility of methods to derived classes.
Thus a private data member in a base class is visible to methods in that base class. It is not visible, however, to any derived classes (unless friend is used.)
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
The point I was making that to access private members of a base class all you have to do is write your own base contructer (maybe I am just thinking like a Hacker) but.... I am just trying to understand
|
|
|
|
|
Yes. You could do that, provide protected or public methods in the base class to that data or make your derived class a friend of the base class.
If this is a one time initialization and you don't want anyone but derived classes to set this data, make a protected constructor in the base class with the proper parameters and reference that in the constructor initialization list of the derived class.
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
Do I really need to do any of that cann't I just write my own base class contructer since its a base class contructer it should be able to access anything in the base
|
|
|
|
|
yes
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
Thankx Just helps me understand appreciate it
|
|
|
|
|
I have a text file which has data written to it.. If I open the file, how would I read the data in the file one line at a time, then do something with the data, then read the next line etc
Thanks for your help!
--PerspX
|
|
|
|
|
Look for the ifstream class.
In order to use the ifstream, I tend to #include <fstream>.
MODIFIED: damn < > symbols...
-- modified at 17:29 Wednesday 4th July, 2007
|
|
|
|