|
IMHO you have to perform a reading operation and check ReadFile return value and its out parameter lpNumberOfBytesRead , MSDN [^] states:
If the return value is nonzero and the number of bytes read is zero (0), the file pointer is beyond the current end of the file at the time of the read operation.
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.
[my articles]
|
|
|
|
|
Hint: SetFilePointer will help you.
|
|
|
|
|
nitin3 wrote:
how to check the current position of a file handle is EOF or not, the file handle is opened using CreateFile() API.
It depends on the operaton most recently performed on the file (handle). As has been stated already, ReadFile() will return a value indicating if the requested number of bytes were read. If not, then you know that EOF was encountered.
"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
|
|
|
|
|
Give you a MSDN sample:
The following code example tests for end-of-file for a synchronous read operation.
bResult = ReadFile(hFile, <br />
&inBuffer, <br />
nBytesToRead, <br />
&nBytesRead, <br />
NULL) ; <br />
if (bResult && nBytesRead == 0) <br />
{ <br />
}
A Chinese VC++ programmer
|
|
|
|
|
Hi all
<br />
<br />
CImageList imageList; <br />
<br />
imageList.Create(size.cx, size.cy, ILC_MASK | ILC_COLOR24, 0, 1 <br />
imageList.Add(&myBitmap, RGB(255,255,255<br />
<br />
CPoint pt(20,20); <br />
<br />
imageList.Draw(&dc,0,pt,ILD_TRANSPARENT);<br />
These are myself's picture code in OnPaint,
at the (20,20), I put an other control(button or edit), and that the other control had covered myself's picture.
How can let myself's picture cover other control?
|
|
|
|
|
You need to draw the image over other controls?
|
|
|
|
|
From where are you doing this drawing? Can you edit control or button be moved to another location? Can the drawing be done elsewhere on the dialog? Rather than draw directly on the dialog, can you draw on a static control or a button instead?
"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
|
|
|
|
|
Control windows on the dialog are higher in the z-order than the
dialog window itself so they get painted later.
You need a window higher in the z-order than the control you
want to paint over (see DavidCrow's reply).
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Maybe you should write drawing code in the control's OnPaint function or OnEraseBkgnd or somewhere like that
A Chinese VC++ programmer
|
|
|
|
|
I have three bcg control bars in my CBCGPFrameWnd derived class CMyBCGPFrameWnd :
CBCGPStatusBar m_wndStatusBar;
CBCGPToolBar m_wndToolBar;
CBCGPTabbedControlBar m_wndTabbedCb;
In CMyBCGPFrameWnd::OnCreate , I create the three bars, and want to hide them using:
m_wndTabbedCb.ShowControlBar(bShow,TRUE,FALSE);
m_wndToolBar.ShowControlBar(bShow,TRUE,FALSE);
m_wndStatusBar.ShowControlBar(bShow,TRUE,FALSE);
But only m_wndTabbedCb hides.
I made a test by toggling show/hide state in a button command, all is ok.
And if not use bcg, MFC's ShowControlBar is also ok.
How to deal with it?
Thanks.
modified on Friday, January 11, 2008 2:07:29 AM
|
|
|
|
|
Hi all,
Here is the way I handle error codes in my applications using "printf" c-standards.
printf("Error in recording data. GetLastError reports %d\n", GetLastError());
I want to do this formating using standard C++, mean using "cout" function. How can I do that formating.
I appreciate your help all the time...
Eranga
|
|
|
|
|
#include <iostream>
std::cout << "Error in ... reports " << GetLastError() << std::endl;
Maxwell Chen
|
|
|
|
|
Thanks a lot.
Oki, here is quite similar problem. I want to write some data to a file. First I include header to a file.
outFile << "File Name\tGroup ID\tDate Created\tDate Last Access\tFile Size\tNo. of Messages\n\n";
Then write there relevant values to it as follows.
outFile << strName << "\t" << strID << "\t" << osCre.str() << "\t" << osAcc.str() << "\t" << iSize << "\t" << mesCount << endl;
But after writing it both headings and values are not aligned with each other correctly. How can I format that.
I appreciate your help all the time...
Eranga
|
|
|
|
|
I think the wonderful world of manipulators [^] is waiting for you.
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.
[my articles]
|
|
|
|
|
There was a std::setpic in the older version MSDN sample code. But it is removed today.
Maxwell Chen
|
|
|
|
|
Maxwell Chen wrote: std::setpic
Never heard about (but I'm not that stream classes guru, of course).
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.
[my articles]
|
|
|
|
|
Never mind.
I am a newbie to iostream.
Maxwell Chen
|
|
|
|
|
The \t is what's messing you up. Use setiosflags(ios::left) and setw() in the stream instead.
"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 am new to programming ... I am using Windows Vista 32 bit at home Laptop.
I need some help to start the Programming especially using VC++ because I am interested in embedded development.
Please suggest me where to start from...
|
|
|
|
|
You need a copy of Windows Embedded CE 6.0 Platform Builder.
Maxwell Chen
|
|
|
|
|
thanks, but how about first starting with some basic operations such finding the processor speed or may be handling the disk space???
|
|
|
|
|
You said you are going to do embedded programming. You have to decide what target platform you are doing first! If you are not doing Windows CE or Windows Mobile, you have to use another compiler.
Maxwell Chen
|
|
|
|
|
As I told that I am a complete beginner, so I will have to understand the processor architecture first ???
|
|
|
|
|
amr.alok wrote: am a complete beginner
There is some difference between beginning from Visual C++ and beginning from WinCE Platform Builder. The target platforms and the compiler environments are different. So you have to decide what you really plan to do for your career.
1) Visual C++ 2005 or 2008 can do some smart device applications (some types of application for embedded systems), but not that almighty comparing with WinCE Platform Builder.
2) Embedded Visual C++ can do more things than Visual C++ 2005/2008, but it requires the SDK export from WinCE Platform Builder.
3) WinCE Platform Builder does not have a too much good editor, but it can do all the embedded programming for WinCE.
But yes they both are in C/C++. Therefore starting from Visual C++ to learn basic C/C++ syntax is a choice for you.
amr.alok wrote: processor architecture
Not necessary! You have to learn the language syntax first. And then learn the endianness of byte orders of each types of processors (x86, x64, IA64, ARM, 8051, ...). And then maybe necessary to know the architecture of a processor; or maybe not when not necessary. It would be many years later.
Maxwell Chen
|
|
|
|
|
Maxwell Chen wrote: So you have to decide what you really plan to do for your career.
What does his career have to do with his embedded project?
"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
|
|
|
|