|
Check Seek and Write
Papa
while (TRUE)
Papa.WillLove ( Bebe ) ;
|
|
|
|
|
What you describe/desire would be painfully slow, as you are operating on a byte-by-byte basis. Read the entire file into a buffer using a single call to Read() . Change the bytes are necessary. Write the entire file from the buffer using a single call to Write() .
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
The way you just described is what I tried at first (although with a CFile object, which may or may not have made it slower). The file was about 300 MB and it was taking so long that I had to terminate the process. I found and modified an algorithm that (after I modified it) reads chunks of no more than 1024 bytes at a time. In a FOR loop for every KB, I increment the counter by two for each iteration and switch the array[i] and array[i + 1] elements and write that to the second file. I do this until all the way through the file. I tested and timed it on a file of over 400 MB and it was done in 1 minute 25 seconds! So that turned out to be what I wanted. You just take the desired file and drop it on the exe, and it goes to work. The only problem I'm still having is that the console window shows up during that whole minute if it's a big file, and I would like to find a way to suppress that. I thank you for answering my question and feel bad if I wasted your time. Maybe I'll start posting replies to my own message with something like 'SOLVED' in the subject so people will know.
[insert witty comment here]
bdiamond
|
|
|
|
|
Since you are reading the file in chunks, you'd be well served by using CMemFile . It'll take that 85 seconds down a few notches.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Hi,
I am populating my list ctrl using the InsertItem method and it works fine because I see everything I want there. The only problem is that the scroll bars will not show up.
the only way to make them appear is to select an item and scroll down the list with the arrow keys. As soon as I scroll down to the border, the scroll bars appear.
Any way to force them to be them from the beginning ?
When I populated the list ctrl using SetItemText, it was working fine.
thanks,
Shay
|
|
|
|
|
Shay Harel wrote:
...the scroll bars will not show up.
Which one, the horizontal or the vertical?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Vertical.
Here is the code I use to inser the items.
<br />
LV_ITEM lvi;<br />
lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM; <br />
lvi.iItem = index; <br />
lvi.iSubItem = 0; <br />
lvi.iImage = image;<br />
lvi.pszText = LPSTR_TEXTCALLBACK; <br />
lvi.lParam = (LPARAM) pItem;
<br />
if (m_ctl_files_list.InsertItem (&lvi) == -1)<br />
return 0;
Any way to force the scroll bar to show up ?
|
|
|
|
|
I've not ever seen this type of behavior before. By default, a list control's scroll bar will show up as soon as an item is added that is at or near the bottom of the control. Using Spy++, can you tell me what styles that control has?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Can anybody tell me how to determine which colour scheme is currently being used (blue, olive or silver)?
Systems AXIS Ltd - Software for Business ...
|
|
|
|
|
|
Dear:
I having problem with this code :
[Code]
CDatabase dbConnection;
dbConnection.Open("ODBC;DSN=TestDB;uid=sa;pwd=");
CRecordset dbRecord(&dbConnection);
BOOL b = dbRecord.CanUpdate();//here Debug assertion failure rasied ,WHY?
Regards
|
|
|
|
|
Check CRecordset::Open
Papa
while (TRUE)
Papa.WillLove ( Bebe ) ;
|
|
|
|
|
Hi,
I am trying to create an istance of the windows media player control but it returns an error... here is my code:
<br />
HRESULT hret;<br />
IUnknown *pUnknown; <br />
MediaPlayer::IMediaPlayerPtr pMediaPlayer = NULL;<br />
IConnectionPoint *pConnectionPoint;<br />
IConnectionPointContainer *pConnectionPointContainer;<br />
IOleInPlaceObject *pInPlaceObject;<br />
IOleObject *pObject;<br />
DWORD dwAdviseCookie;<br />
<br />
<br />
hret = CoCreateInstance(__uuidof(MediaPlayer::IMediaPlayerPtr), NULL, CLSCTX_ALL, pMediaPlayer.GetIID(), (void**)(&pMediaPlayer));<br />
Thank you very much for your answers in advance...
Well... I am a beginner ...
|
|
|
|
|
What error are you getting?
Did you call CoInitialize() before the CoCreateInstance?
Michael
CP Blog [^]
|
|
|
|
|
I called OleInitialize...
But I cant get the written error message... can someone help?
Well... I am a beginner ...
|
|
|
|
|
Without knowing the error (post the return value from CoCreateInstance() ) I can only guess, but the first parameter looks like an IID, not a CLSID. You need to put the CLSID of the WMP object there.
--Mike--
Personal stuff:: Ericahist | Homepage
Shareware stuff:: 1ClickPicGrabber | RightClick-Encrypt
CP stuff:: CP SearchBar v2.0.2 | C++ Forum FAQ
----
"Linux is good. It can do no wrong. It is open source so must be right. It has penguins. I want to eat your brain."
-- Paul Watson, Linux Zombie
|
|
|
|
|
...ok I fixed the classid thing like this:
<br />
CLSID idMediaPlayer;<br />
HRESULT hr = ::CLSIDFromProgID (L"WMPlayer.OCX.1", &idMediaPlayer);<br />
Well I was using windows media player 8 but I found that I jammed up the class-id... then I installed Windows Media Player 9...
The error code is: "REGDB_E_CLASSNOTREG" ...
I am not sure if I have to use "msdxm.ocx" for windows media player 9...
Well... I am a beginner ...
|
|
|
|
|
I have to use wmp.dll and WMPlayer.OCX.7 is just working fine thanks a lot!
Well... I am a beginner ...
|
|
|
|
|
Hy everyone!
My colleage wants to include a "foreign" dll in his C++ program (written in VC++ 6.0). He said he has added the path to the dll in the settings of VC++ 6.0.
In command he is able to run the executable when the dll is located in the same folder. But in VC++ it does not work throwing an error message telling the dll is not available.
What is he doing wrong because at the moment I cannot find out, because I did never work with version VC++ 6.0 (I did only work with Visual Studio 2003 and that's a little different).
So if someone of you could tell me what he has to do to make VC++ find the dll please let me know and I will forward the infos to him.
Thanks!
Stephan.
|
|
|
|
|
He can add his path to the Global PATH enviroment variable, or he can drop his dll in the project directory, cos this is the default directory when a program is launched from the IDE
Papa
while (TRUE)
Papa.WillLove ( Bebe ) ;
|
|
|
|
|
Hi,
I am trying to create virtual serial port.
Can anybody please give me tutorial or code link on this subject.
Thank you
rony
|
|
|
|
|
Can please anyone teach me how to make a rich text control linked to a tree ctrl with 4 or more sub-items(in the tree control),The text in the rich text box must change when the user clicks on the different sub-items in the treel control, please give me detailed code help.Please.... Why is everyone so selfish to teach me such a small thing?
|
|
|
|
|
Hi everyone
As the message is quoting, I am looking forward to scale some graphics using XFORM in Windows 98 Second Edition.
Also, it's important to mention that although some sites state that Win98 doesn't support scaling, the Platform SDK's says as follows regarding ExtCreateRegion:
"Windows 95/98/Me: World transforms that involve either shearing or rotations are not supported. ExtCreateRegion fails if the transformation matrix is anything other than a scaling or translation of the region."
Since scaling is what I'm trying to do, I should have no problem doing so as far as Microsoft's is concerned. I did found some MFC stuff that was handling Win98's scaling through XFORM, but I have to stick with Win32.
So a little recap on what I need: scaling graphics from a window using XFORM, needs to works in Win98 and STRICTLY in C/Win32 or C++/Win32.
Regards,
Franz
|
|
|
|
|
I'm using visual C++.net 2002. I created a simple MDI through MFC project. What I'm trying to do is Open a file view it and then click on a control to send the file to a specific location already defined. The problem is where does The Opened file name get stored.
The code looks something like this.
<br />
BEGIN_MESSAGE_MAP(CARMFirstBuildApp, CWinApp)<br />
ON_COMMAND(ID_APP_ABOUT, OnAppAbout)<br />
ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)<br />
<br />
ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)<br />
END_MESSAGE_MAP()<br />
ID_FILE_OPEN is the menu option to open a file. I understand when I click on Open in the menu it brings up a dialog box to select a file then click okay to open that file. How can I find the file name that was selected. I've tried everything I could think of. Being new to Visual C++.net is not helping much.
Any Help would be great thanks.
|
|
|
|
|
The name of the file is stored in the CDocument -derived object.
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|