|
250 to 700GB of data or is it a typo error???? if its 250 to 700 Gb of data, where are your data stored??
|
|
|
|
|
Andy202 wrote: For merging together some recording data stored in CSV files I have used the
class CtextFile (by Johan Rosengren via the Codeproject site) to read in and
write out the processed files.
Presumably you are doing something more than just creating one file out of two.
Consequently your design with much larger files, needs to take into account specifically what you need to do.
And if it was me I would also look into the business requirement that requires that the output be another file. Pretty pointless to parse a large file and then parse it again.
|
|
|
|
|
Thanks for your post jschell.
Two input files to generate one output file.
Input1 sampled at 50 msec and Input2 sampled at 200 msec, so using timing information merge the two sets of data into one output file; interporlate as required.
I can do what is required if the files were as follows:-
Input1 = 1 Mb; Input2 = 2Mb and Output = 5Mb.
Andy
|
|
|
|
|
Andy202 wrote: Input1 sampled at 50 msec and Input2 sampled at 200 msec, so using timing information merge the two sets of data into one output file; interporlate as required.
So you have one 'block' (perhaps one line or longer) from file 1 that exists every 50msec. Call this X.
You have another 'block' from file 2 that exists every 200msec. Call this Y.
Thus you have 4 (200msec/50msect) X entries before each Y entry.
Steps
1. Build a buffered reader for each file. Buffered in the case reads N 'block' entries and allows it to read M more on request. The timestamp is exposed (parsed from the block.)
2. Read X via the buffer where N is 200.
3. Read Y via the buffer where N is also 200 (could be less as well.)
4. Now 2 will have data that fits into 3. Because you have read enough to overlap.
5. Step 4 represents a starting point. Basically the two buffers will mostly be off by 4.
6. You can't assume it will always be offset by 4 so continue to compare the two timestamps as you read.
7. On start up you need to sync the two buffer reads, since one file might have a much different start time from the other.
Performance impacts
- Play with the stream buffer sizes (actual file read versus buffered readers above.)
- Profile it with a tool for some large and real files, say 50 meg at least.
|
|
|
|
|
I would like to create a dialog box which contains an embedded Excel workbook. (Excel is installed on the computer, of course.) MS provides example code showing how to do something like this with a Document/View based app, but not in a dialog.
(I saw from searching this forum that there was a discussion about "Embedded Excel", but when I try to access it, I get an empty list with the message "Unable to load messages due to high load.")
|
|
|
|
|
You can go to the project tab and select Add to Project Sub menu. This menu has another sub menu. select the last option. Components and control
When you select that a windows dialog will pop up with 2 folders. Select the first one. Search for Microsoft Office SpreadSheet. Select that and click OK.
The spreadsheet will be embedded in your dialog.
|
|
|
|
|
I'm not sure what you mean by the "Project Tab" and "Add To Project". If I right-click on the solution, I get an item "Add New Project" and under that one of the possibilities is Visual C#/Microsoft Office/Excel Workbook, but I don't see how this will help me. Won't it just create a whole new project unrelated to my current one?
|
|
|
|
|
I should have mentioned that I am using VS2008
|
|
|
|
|
Forgot to mention, In the menu bar. There should be an option called Project. You should select that.
|
|
|
|
|
I still don't see this.
In VS2008, all I have under the "Project" menu or the right-click menu on the project is "Add New Item" and "Components and controls" is not a selection from the dialog I get from that.
|
|
|
|
|
What you can do is, Right click on the Dialog. You will get an option. Insert ActiveX Control. You will get the same component here also. Here you can select Microsoft Office SpreadSheet 11.0 or 10.0.
Hope it helps
|
|
|
|
|
Hi!
I've added Vertical and Horizontal Scrollbar to a Dialog in MFC. I'm facing the following problems.
(i)I've loaded a Flash movie inside the Dialog. My movie is larger than my Dialog. But both the scrollbars are not appearing at
the beginning. After I reduce the dialog size only,the scrollbars appear.
(ii) When I reached the extreme of Horizontal Scrollbar or Vertical Scrollbar the movie is not fully displayed. Part of the movies
is cut.
(iii) Some kind flicking occurs during scrolling(both Vertical and Horizontal).
I've developed this application using VC++ 2008/MFC. Here's the code:
BOOL OnInitDialog()
{
m_nScrollPos = 0;
m_nHScrollPos = 0;
}
void OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
m_nCurHeight = cy;
m_nCurWidth = cx;
SCROLLINFO si;
si.cbSize = sizeof(SCROLLINFO);
si.fMask = SIF_ALL;
si.nMin = 0;
si.nMax = m_rcOriginalRect.Height();
si.nPage = cy;
si.nPos = 0;
SetScrollInfo(SB_VERT, &si, TRUE);
SCROLLINFO si1;
si1.cbSize = sizeof(SCROLLINFO);
si1.fMask = SIF_ALL;
si1.nMin = 0;
si1.nMax = m_rcOriginalRect.Width();
si1.nPage = cx;
si1.nPos = 0;
SetScrollInfo(SB_HORZ, &si1, TRUE);
}
void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)
{
int nDelta;
int nMaxPos = m_rcOriginalRect.Height() - m_nCurHeight;
switch (nSBCode)
{
case SB_LINEDOWN:
if (m_nScrollPos >= nMaxPos)
return;
nDelta = min(max(nMaxPos/20,5),nMaxPos-m_nScrollPos);
break;
case SB_LINEUP:
if (m_nScrollPos <= 0)
return;
nDelta = -min(max(nMaxPos/20,5),m_nScrollPos);
break;
case SB_PAGEDOWN:
if (m_nScrollPos >= nMaxPos)
return;
nDelta = min(max(nMaxPos/10,5),nMaxPos-m_nScrollPos);
break;
case SB_THUMBTRACK:
case SB_THUMBPOSITION:
nDelta = (int)nPos - m_nScrollPos;
break;
case SB_PAGEUP:
if (m_nScrollPos <= 0)
return;
nDelta = -min(max(nMaxPos/10,5),m_nScrollPos);
break;
default:
return;
}
m_nScrollPos += nDelta;
SetScrollPos(SB_VERT,m_nScrollPos,TRUE);
ScrollWindow(0,-nDelta);
CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
}
void Htmlbr::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
m_nCurHeight = cy;
m_nCurWidth = cx;
SCROLLINFO si;
si.cbSize = sizeof(SCROLLINFO);
si.fMask = SIF_ALL;
si.nMin = 0;
si.nMax = m_rcOriginalRect.Height();
si.nPage = cy;
si.nPos = 0;
SetScrollInfo(SB_VERT, &si, TRUE);
SCROLLINFO si1;
si1.cbSize = sizeof(SCROLLINFO);
si1.fMask = SIF_ALL;
si1.nMin = 0;
si1.nMax = m_rcOriginalRect.Width();
si1.nPage = cx;
si1.nPos = 0;
SetScrollInfo(SB_HORZ, &si1, TRUE);
}
void Htmlbr::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)
{
int nDelta;
int nMaxPos = m_rcOriginalRect.Width() - m_nCurWidth;
switch (nSBCode)
{
case SB_LINERIGHT:
if (m_nHScrollPos >= nMaxPos)
return;
nDelta = min(max(nMaxPos/20,5),nMaxPos-m_nHScrollPos);
break;
case SB_LINELEFT:
if (m_nHScrollPos <= 0)
return;
nDelta = -min(max(nMaxPos/20,5),m_nHScrollPos);
break;
case SB_PAGERIGHT:
if (m_nScrollPos >= nMaxPos)
return;
nDelta = min(max(nMaxPos/10,5),nMaxPos-m_nHScrollPos);
break;
case SB_THUMBTRACK:
case SB_THUMBPOSITION:
nDelta = (int)nPos - m_nHScrollPos;
break;
case SB_PAGELEFT:
if (m_nScrollPos <= 0)
return;
nDelta = -min(max(nMaxPos/10,5),m_nHScrollPos);
break;
default:
return;
}
m_nHScrollPos += nDelta;
SetScrollPos(SB_HORZ,m_nHScrollPos,TRUE);
ScrollWindow(-nDelta,0);
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}
What else need to be done to rectify the above problems?
|
|
|
|
|
Are you getting the size of the movie and then putting that value in the scroll bar?? why dont you try for Direct Show() API's?
|
|
|
|
|
Chandru080 wrote: wDirect Show() API's
Can you be little bit more elaborate on this?
|
|
|
|
|
|
voice chat in a socket client/server program.
assume the server has 3,000 clients connected, one client chats to others in voice (maybe a song).
I think it is not a good idea to submit the song to server from the client then server broadcasts to all other 3,000 clients through sockets, because a song may last for long time interval and consumes too many server's resources.
what do you do in the case?
.
|
|
|
|
|
I check out what Peer-to-peer[^] networking is?
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> //TODO: Implement signature here<
|
|
|
|
|
Hi
Any sample or help?
www.logicsims.ir
|
|
|
|
|
|
I have a .dll that I want to port to 64bit. To differentiate it from the 32 bit version I named it <name>64.dll only to find that the <module>64.dll that uses it couldn't load it as it
was still looking for <name>32.dll. That is when I discovered that the <name>32.dll is exported in the .def file. Changing the .def file to export <name>64.dll DOES work.
However,
The <name>32.dll and <name>64.dll are differentiated by configuration only, not project. A project can have only one .def file. Thus we have to remember to manually change the .def when changing compilations from 32 to 64 bit and vice versa.
The thought of using __declspec() instead of a .def file came up but I was told by the original programmer that he had to drop them for some problem and had to go to the .def file.
We thought about making two projects in the one <name>.sln file. But it seemed to be too much of a hassle for such a small problem.
So how can I make it so changing the configuration of a C++ project changes what is exported as the LIBRARY in a .def file?
|
|
|
|
|
Just a guess, but #ifdef in the .def file looking for the different target might let you export something different.
Chris Meech
I am Canadian. [heard in a local bar]
In theory there is no difference between theory and practice. In practice there is. [Yogi Berra]
posting about Crystal Reports here is like discussing gay marriage on a catholic church’s website.[Nishant Sivakumar]
|
|
|
|
|
Thanks for your answer chris,
Yes I had tried #ifdef in the .def file, however a .def is not c/c++ code. A .def file doesn't know what a #ifdef is. Its some other kind of language.
For instance in c/c++ code /* or // is comment. In a .def file ; is a comment.
|
|
|
|
|
have you tried adding one .DEF for each configuration then excluding each from the build that doesn't use it (right-click, properties, choose the appropriate config, exclude from build) ?
i've never tried that with .def files, but it works for source files.
|
|
|
|
|
Thanks for your response,
Yes I tried this. Basically Microsoft Visual Studio stops you from adding more than one .def file to any project.
So regardless if its a single configuration project or if it is a multi configuration project you can only have one .def file.
I am trying to add the .def file using the IDE's add to project methodology so you may know around this that I don't.
|
|
|
|
|
is there any reason you need to specify the DLL's name in the .DEF file ? it's not required for the linker.
the .DEFs we use typically only have a DESCRIPTION tag and then the EXPORTS list
|
|
|
|