|
Dinesh, I recommend using CSocketFile and CArchive . They work beautifully!
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Thanks Ravi,
I will try this option.
Dinesh.
|
|
|
|
|
Hi friend,
Maybe the problem is that, if you are using TCP/IP protocol, the structure is divided as multiple packets on the network, so you should first send the size of the structure (string + int), then use recv() and check that the number of bytes received are equal to the size of the structure before using the structure, or USE UDP/IP.
something like this:
<br />
int nRecv=0;<br />
<br />
while(nRecv<SizeOfExpectedData)<br />
nRecv+=recv(....);
//now i am sure i received the whole message, not just few packets
//now use the structure
Mohammad Gdeisat
|
|
|
|
|
Hi Mohammad,
Thanks for the help, I will try this option.
Regards,
Dinesh.
|
|
|
|
|
Hi All,
Has anyone of u developed a class which can Transfer a File across LAN.
I have a client Server Application which can Send and Receive messages between them. Now i want to implement the File Transfer.
Looking forward to ur valuable Suggestions..
Thanks.
|
|
|
|
|
|
Hi
have you tried to use the API function defined in Winsock2.h:
BOOL TransmitFile( <br />
SOCKET hSocket,
HANDLE hFile,
DWORD nNumberOfBytesToWrite,
DWORD nNumberOfBytesPerSend,
LPOVERLAPPED lpOverlapped,
LPTRANSMIT_FILE_BUFFERS lpTransmitBuffers,
DWORD dwFlags <br />
);
it will work faster than any implemented function or class, because it works in kernel mode rather than user mode.
Regards,
Mohammad Gdeisat
|
|
|
|
|
Mohammad A Gdeisat wrote:
BOOL TransmitFile(
Hello Mohammad , i never use the TransmitFile api, i just want to know TransmitFile is use to transmit file, from which api i will recv that File.
thanks
"I Think this Will Help"
[Vote One Here,.....]
<h5
alok="" gupta="" <br=""> visit me at http://www.thisisalok.tk
|
|
|
|
|
hi,
I really have not used this function, but as a sense, i think that the other end should use recv() with a connected socket on appropriate IP and port number.
anyway, this is all i know about it. you can still search for examples on TransmitFile
Regards,
Mohammad Gdeisat
|
|
|
|
|
Hello there,
I'm using Visual C++ 6 with Platform SDK and trying to create a imaging program. The program is simple, where i the user can draw lines on a TIFF image.
I'm using GDI+ for this purpose, but having one problem. The problem is that GDI+ just cannot draw on gray(8-bit)/black & white TIFF images or BMP for that matter. I dont know why. A simple test code is given below,
void CGDIPlusDlg::OnButton8() <br />
{<br />
CDC *pDC=this->GetDC();<br />
HDC hdc=pDC->GetSafeHdc();<br />
<br />
Image img(L"c:\\mspaint.tif");<br />
RectF r(0, 0, 100, 100);<br />
<br />
Graphics gr(hdc);<br />
RectF destRect(0, 0, 100, 100);<br />
<br />
gr.DrawImage(&img,destRect);<br />
<br />
Pen blackPen(Color(255, 0, 0, 0), 3);<br />
<br />
PointF point1(0, 0);<br />
PointF point2(100.0f, 100.0f);<br />
<br />
Graphics gr2(&img);<br />
gr2.DrawLine(&blackPen,point1,point2);<br />
<br />
RectF destRect2(100, 0, 100, 100);<br />
gr.DrawImage(&img,destRect2);<br />
}
The image is created using MSPaint. Create a 100x100 image, draw something, and save as TIF. Save again by changing the image depth to black & white from the Image->Attributes menu.
The program supposed to draw a diagonal line across the image, but it doest for the black&white version of tif.
So, my problem is how to overcome this? Or, how can i programmatically convert a BW TIFF to color and work on it using GDI+?
Oh yeah, can anyone try if this code works fine in C# or managed C++?
Thanks,
Usman
|
|
|
|
|
I have inherited a class from CFileDialog.
OnTypeChange has been overridden with the purpose of changing the direcory when the user changes the filter list.
How do I actually change the current directory?
|
|
|
|
|
|
What is the event message when the user clicks the x in the system menu.
Background:
I have disabled OnCancel() and OnOK() so that in my dialog-based app the esc and return keys don't close the app.
I have the OnFileExit (when user selects file exit) method calling EndDialog(IDOK) directly. What function is called when the user clicks on the x?
Long and short of it is I dont want keyboard commands (other than alt navigation) to close the app.
|
|
|
|
|
JKallen wrote:
What function is called when the user clicks on the x?
Have you looked at OnClose() ?
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
Yes. The problem is esc and return call OnOK and OnCancel, so doing anything to OnClose wont change anything.
I think the problem is that clicking the x calls OnCancel (or OnOK doesnt matter which for my purposes).
I need a way to differentiate between hitting the return key and the esc key from clicking the x or selecting file close.
I dont want to get into Virtual Keys right now. Im not at that stage in writing this application yet. I try to write applications in phases. It makes things much simpler when I add functionality in groups.
|
|
|
|
|
JKallen wrote:
I need a way to differentiate between hitting the return key and the esc key from clicking the x or selecting file close.
Then implement the following handlers:
OnOK()
OnCancel()
OnClose()
DestroyWindow() and note when each are called (e.g., breakpoint, message box).
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
The message WM_SYSCOMMAND , with the command id SC_CLOSE . Spy++ is your friend.
However, you would be better off either disabling or hiding the [X] rather than leaving it visible and making it non-functional. This sort of thing is confusing and frustrating to users.
To hide: remove the WS_SYSMENU style from the window.
To disable: retrieve the system menu by calling GetSystemMenu() , then disable and gray the SC_CLOSE option by calling EnableMenuItem() .
You should then disable the command (and also the Alt+F4 mnemonic)by intercepting the WM_SYSCOMMAND message and avoiding the default behavior if the command ID is SC_CLOSE .
Shog9
I'm not the Jack of Diamonds... I'm not the six of spades.
I don't know what you thought; I'm not your astronaut...
|
|
|
|
|
OK That worked. I aggree with respect to irritating users.
What I have done (which works) in case you are interested is
1) disabled the OnOK and OnCancel to address the user hitting the esc and return keys
2) created an event handler to deal with user clicking file exit that calls EndDialog(IDOK)
3) edited the OnSysCommand function so that if SC_CLOSE is the message, it calls EndDialog(IDOK) as well
Exactly the result I was looking for.
Thanks.
|
|
|
|
|
HI,
I have an MFC splitter CView screen. When I resize it , by moving the bottom right of the main window, the whole screen gets redraw, and flickers. There are many shapes on the screen , so altering the OnEraseBKnd() is a bit tricky.
I have saw application where, when they resize the screen, an outline is only displayed until it the mouse button is release, then it is redrawing. Does anyone know how to do this?
Regards
Scott
|
|
|
|
|
NeilDevlin wrote:
Does anyone know how to do this?
It's not too hard. But it's also a user preference - in Windows display settings, the user is able to choose which method of window resizing they prefer. It is somewhat rude to disregard that. Instead, you should work to eliminate or reduce the flicker in your display. Common techniques include double-buffering, redrawing only the areas uncovered by resizing, and waiting until the user has finished sizing to completely redraw the window.
Shog9
I'm not the Jack of Diamonds... I'm not the six of spades.
I don't know what you thought; I'm not your astronaut...
|
|
|
|
|
Thanks for the reply.
What i really wish to do is wait until the user has finished sizing before redrawing the window. Basically when the left button is released the window will be redrawing. Also I would like to draw an outline (black frame) of the new window position while being sized.
Any ideas on how to do this?
ps. The application will only be ran on XP/2000, in case it can only be done on these.
Neil
|
|
|
|
|
A useful technique is to simply delay resizing the children of your frame for a short while. In an MDI app, subclass your MdiClient window, and in the WM_SIZE handler set a timer for half a second or so. Do not call the base class. In the WM_TIMER handler, set a flag checked by your WM_SIZE handler to let it know that it's time to resize - then send yourself a WM_SIZE message with the appropriate parameters. For an SDI or dialog app, simply do this for your frame or dialog window instead of the MDI client.
The results of this are that the user is still able to view window contents while resizing, yet you are saved from having to deal with repainting quickly in all your child windows.
Shog9
I'm not the Jack of Diamonds... I'm not the six of spades.
I don't know what you thought; I'm not your astronaut...
|
|
|
|
|
Hello,
I wish to download my brain to a computer before the end, so to do this, I'd I'll need to start testing and working with some schemes. Are there any MFC resources out there for designing neural networks?
thanks!
JennyP
|
|
|
|
|
Do you know anything about Neural Networks yet? You have to have a good background in AI (not to mention a lot of math too) to be able to grasp any of the concepts. I don't know why there would be any MFC resources for it, it's not GUI programming.
-- Rocky Dean Pulley
|
|
|
|
|
Thanks for the reply. I'm about 1/3 of the way through the text book "Neural Networks," so I know what I know today, and tomorrow, I'll know more.
I was a little inaccurate when requesting MFC code---I should have said "C++" code. I did program a "brain" about a year ago in C++, but it didn't contain any teaching algorithms. So, this time around, I thought I would try to not reinvent some of the basics (e.g., cell class, etc.).
thanks,
JennyP
|
|
|
|