|
I want to use CStringEx object.But I do not know how to load whole file to CStringEx object. If you know how to do that please tell me. Thank you.
|
|
|
|
|
If you are willing to fill a CString instance with the content of a file, you may use the CStdioFile class, and a simple while(!eof()){ += .ReadString() } .
How low can you go ? (MS rant)
|
|
|
|
|
For an integer I have:
bool IsNumber( LPCTSTR pszText )
{
ASSERT_VALID_STRING( pszText );
for( int i = 0; i < lstrlen( pszText ); i++ )
if( !_istdigit( pszText[ i ] ) )
return false;
return true;
}
However I need a routine to check if its a float. IsDigit returns false at the decimal point....I need to write a IsFloat( LPCTSTR pszText ) . How do I do this?
Appreciate your help,
ns
|
|
|
|
|
You need to check your string it there is a dot within two numbers.
LPCTSTR Dutch = TEXT("Double Dutch ");
|
|
|
|
|
Can you not just go under the assumption that if a period exists in the string then it's safe to say it's a floating point...?
"An expert is someone who has made all the mistakes in his or her field" - Niels Bohr
|
|
|
|
|
Only if you can guarantee that the program isn't used outside English-speaking part of the world. Out here some of us want to use comma as the decimal separator.
|
|
|
|
|
Pardon my English ignorance..
"An expert is someone who has made all the mistakes in his or her field" - Niels Bohr
|
|
|
|
|
Was considering that but I had quantities like 123.456:78 as well. So I thought that it would have to have "." but no ":" to be a float. Christians given me a good snippet and I'm going to doctor it up to handle my weird "numbers"...
Appreciate your help,
ns
|
|
|
|
|
As is often said, if you expressed what you want in plain english, it would be obvious to you.
bool IsFloat( LPCTSTR pszText )
{
ASSERT_VALID_STRING( pszText );
const int nLen = lstrlen( pszText );
int nDots = 0;
for( int i = 0; i < nLen ); i++ )
{
if (pszText[i] == '.')
++ nDots;
else if( !_istdigit( pszText[ i ] ))
return false;
}
return (nDots < 2);
}
That will return true for int and float, make it return (nDots == 1) to be true for float only.
Note, I did this in CP, it is untested, but the idea is sound.
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
During last 10 years, with invention of VB and similar programming environments, every ill-educated moron became able to develop software. - Alex E. - 12-Sept-2002
|
|
|
|
|
I really wouldnt have stumbled on it in a million years..... . Many thanks!
Appreciate your help,
ns
|
|
|
|
|
Gosh! Works like magic! Did what I was trying to like a charm! Really made me think, and appreciate the cool technique...
Thanks!
ns
|
|
|
|
|
CMyView::OnChar(...)
{
PostThreadMessage(id,msg,0,0);
}
when i type with less than 130ms time intervals between keystrokes a deadlock results in the app's main thread.Any help would be greatly appreciated.
|
|
|
|
|
Are you accessing MFC window classes from the thread's message loop?
MFC Window classes + threading = recipe for disaster.
You are better off doing all your window message handling in the main app thread and delegating any time-consuming work to worker threads to make the application respond better.
I have had my share of problems trying to update MFC frame windows and views from threads. I later used userdefined messages to the window for all my events from the thread, so that all GUI functions like updating views etc were done in the main thread.
modified 29-Aug-18 21:01pm.
|
|
|
|
|
Sorry to bother you guys with beginner questions, but I need help with the ListView control. I am creating an about dialog box and want to list all of the files installed (like Outlook Express). I have had a little success with it, but I am having trouble getting items to appear in the second or third column. The items only show up on the first column. How do I tell the program to place the text in specific columns (I am using MFC)?
-- Steve
|
|
|
|
|
On CP there is a CSortListCtrl which simplifies this task ten fold and it allows you to click on the header columns to sort ascending or descending...
Check it out...
I'm not totally familiar with CListCtrl , but I reckon you probably get items in the second, thrid columns by specifiying that the main items has child sub-items....
Cheers!
"An expert is someone who has made all the mistakes in his or her field" - Niels Bohr
|
|
|
|
|
LVITEM lvi;
//fist item
lvi.mask = LVIF_TEXT;
lvi.iItem = 0; // First column
lvi.iSubItem = 0; // Frist item
lvi.pszText = (LPTSTR)(LPCSTR)("Item 1");
// Now insert the item
m_myList.InsertItem(&lvi);
// Now set the text for the 2nd, 3rd ,4th items they will go in row 0 "which is the first row"
m_myList.SetItemText(0,1,"Item 2");
m_myList.SetItemText(0,2,"Item 3");
m_myList.SetItemText(0,3,"Item 4");
|
|
|
|
|
Thanks a lot. That solved my problem. I just converted from Win32 programming, and ListView is a little different. For instance, the variable LVITEM is LV_ITEM in Win32. Thanks for helping me solve my problem.
-- Steve
|
|
|
|
|
can anyway recommend any mp3 encoders/decoders C/C++ libraries (must be minimum 128KBps quality) in order to stream LIVE audio over a network? I'm trying to create an application which will be like a video conferencing app but audio only.it will allow a minimum of 3 musicians to hear the other musicians playing live and also record the session.
cheers
|
|
|
|
|
MS DirectShow (part of DirectX) could provide both the application logic, and the necessary codec stuff. For instance, you have an input filter with an associated moniker to receive a stream from the network. More info in the SDK.
How low can you go ? (MS rant)
|
|
|
|
|
I cant check it out right now, but what will atoi(123.567) return? I'm hoping its 123...?
Appreciate your help,
ns
|
|
|
|
|
I'd imagine you want to do this:
floor(atof("123.567"));
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002
During last 10 years, with invention of VB and similar programming environments, every ill-educated moron became able to develop software. - Alex E. - 12-Sept-2002
|
|
|
|
|
I think atoi is short for atom to interger...so you'll probably get a compiler error...
atoi("123.567"); would probably work better...
it's 123...
Cheers!
"An expert is someone who has made all the mistakes in his or her field" - Niels Bohr
|
|
|
|
|
ascii to integer, I think is the proper long name for it
"The greatest danger to humanity is humanity without an open mind." - Ian Mariano
http://www.ian-space.com/
|
|
|
|
|
Thats works for me...
I tought myself that little abbreviation when I first started programming in windows and now I always associate a with atom...but ascii fits MUCH better...
Thank you...
"An expert is someone who has made all the mistakes in his or her field" - Niels Bohr
|
|
|
|
|
Aren't you want to do _itoa(123.567) or something like that?
LPCTSTR Dutch = TEXT("Double Dutch ");
|
|
|
|