|
It looks as though you're getting an extra EN_SETFOCUS, then. Have you tried using SPY++ to see what messages the RichEdit window is getting, and when?
Steve S
|
|
|
|
|
hello,
i am coding in c++ (mfc) i have addded a list box to my aplication,im having torouble parsing data into my listbox,i have a preparsed buffer contaning the data i want to go into the listbox,but when i try to put it in the list box it comes out as 1 big string,but if i send the buffer data to a edit box it is parsed wonderfully,the buffer is parsed with "\r\n" can i add new lines to the listbox,without doing this again
m_strList.AddString(inBuffer);
or is there a way i can read the data line by line form the buffer and the loop the lines into the listbox 1 by 1?
thanks for your time;)
|
|
|
|
|
Hi you are not parsing the buffer just loading it.
Parse it first with a while loop.
Inside the loop load the box.
It may help also to put the buffer contents into a CString the use findrev like
char ch ='\r\n';
while.(condition){
int ix = m_strEdit.ReverseFind(ch);
grab it, stick it.
}
Best Wishes,
ez_way
|
|
|
|
|
Is there a way to send say a structure to program code and have the code tell you the variable type. This would be helpful when debugging you could do this.
send struct abc to determine_type
determine_type reports
struct abc
value 1 = int and is = 102
value 2 = char * and is = ab\0
value 3 = long and is = 190012
value 4 = char and is = R
end of structure..
This allows you to turn on some form of debugging option and report the types and values within each structure.
thanks
|
|
|
|
|
|
Hi all.
I need to make reports in VC++6.0
these reports are based on database queries or tables..
what is the starting point ? please help and note that I can't use third party components..
any tutorials, samples ?
I know SQL , ADO ,, the problem is just with reports.
thank you in advance
|
|
|
|
|
The starting point: a LOT of work!
if youre using listview controls to display your results, i have a class that outputs the entire contents of a listview control to the printer, you just add it as a member variable to your views, call a couple of its methods and it does all the work for you. Its written for use with WTL, but you shoulnt have much trouble porting it to be used with MFC (if you are using MFC). If you (or anybody) want it, e-mail me or post here, and ill be glad to send it to ya.
Hope this helps
|
|
|
|
|
wat do need help on
Game Tester
|
|
|
|
|
I need to accept XML formatted data over a socket connection and place the data into a dataset for parsing. The XML data is bracketed by a start character and an end character, but may range from 50 bytes to thousands of bytes. The app will need to be in C/C++ any thoughts
|
|
|
|
|
You can use expat[^].
pros:
-It is fast
-has a small memory footprint,
-and it comes with source code.
cons:
-it is not a validating parser. So you can't tell if the xml data is valid.
-i don't know if it can read from stream/buffers, i used it only with files.( but you have the source... )
"I don't want to achieve immortality through my work... I want to achieve it through not dying."
Woody Allen
|
|
|
|
|
HI... I wanted to know that can a dll have its own data space? well i guess i am not framing the question properly but what i am interested isn doing is storing some variable/value in a dll that can be persistant i.e i can set it during the first run of my program and then during successive runs read it or modify it .... CAN THIS BE DONE ?
~Ravi
|
|
|
|
|
I'm trying to read raw byte data off of a file. The machine which recorded the data stored them as signed 8-bit integers. I need to send the data into a function which accepts doubles. Obviously, I can't read straight into a double pointer. The values would get wrecked. I don't want to read them into a char pointer array and then cast the values into doubles as I read the values into double pointer array. Is there a better way to do this??? Thanks.
|
|
|
|
|
Anonymous wrote:
Is there a better way to do this???
No. Read them into a char array, convert them to doubles using a cast and store them in a new double array.
John
|
|
|
|
|
You might also look into word boundaries for the binary input. If you need to adjust word boundaries, then you can do this with the #pragma pack ( <args> ) statement.
|
|
|
|
|
A friend of mine is just learning how to code in C and I've been helping her a little bit along the way. There seems to be a problem with a chunk of her code, and I can't figure out how to fix it, it's been quite a while since I've looked at C so I'm a little 'fuzzy' on it.
The following bit of code is taken right from her source code.
int *suit[4];
for(int p = 0; p <= 3; p++)
{
suit[p] = &p;
}
...
then inside a loop which will execute the following loop x = 0 to x < 4 times:
printf(" %d", *suit[x]);
The program exits fine, with no errors, but the only problem is, when it prints out at the end, each entry in the suit array is set at being 4 (so the 4 will print out 4 times), when what she want to print out is 0 1 2 3, if she changes the loop to:
for(int p = 0; p <= 4; p++)
{
...
}
the print statement shows that a 5 prints out in each case. I'm sure the problem comes from this suit[p] = &p; but I don't know how to fix it.
Can anyone help us out? Thanks...
|
|
|
|
|
There's only one variable p , and every element of the array suit is made to point to that element. What exactly are you trying to do in this code?
|
|
|
|
|
What we would like to have happen is to have suit[0] = 0 and suit[1] = 1, etc... but suit[] is a pointer, int *suit[4];
So how, in that for loop, do we say that we want suit[p] = p itself, and not the address of p?
we also tried: *suit[p] = p;
and suit[p] = p;
neither of these works.
|
|
|
|
|
Generally in a loop c programmers will do this (remove the =):
int *suit[4];
for(int p = 0; p < 4; p++) This will run through all 4 suits (0..3).
John
|
|
|
|
|
essentially what you are doing is setting each of your array elements to the address of p; At the end of your loop you have an entire array of addresses to the p value. This is why you print out a bunch of 4's or 5's depending on your loop criteria.
If you are just trying to set the array locations to the value of the integers, then there is no need to use address. create your array as : int suit[4]; this is an array of integers. Now inside the for loop, suit[p]=p; will now set your array entry to the integer value of p and you will receive your expected results from your printf statement.
|
|
|
|
|
noahsarf wrote:
Now inside the for loop, suit[p]=p; will now set your array entry to the integer value of p
doing it that way gives the error:
'=' cannot convert from int to int*
that was one of the original ways we tried it.
|
|
|
|
|
|
As noahsarf said, you need to set each member of suit[] to the value of p, thus:
suit[p]=p;
the reason why this did not seem to work for you is that you need to also change your print statement; instead of
printf(" %d", *suit[x]);
you need to say
printf(" %d", suit[x]);
Good Luck!!
'til next we type...
HAVE FUN!! -- Jesse
|
|
|
|
|
Thank you so much!
As it turns out, she has no need to use pointers anyway, so we've gotten rid of all the pointers that she's been using.
|
|
|
|
|
This is C++:
int *suit[4];
for(int p = 0; p <= 3; p++)
{
suit[p] = &p;
}
This is C:
int *suit[4];
int p;
for(p = 0; p <= 3; p++)
{
suit[p] = &p;
}
This is what I think your are trying to do since what you are doing makes no since:
int suit[4];
int p;
for(p = 0; p <= 3; p++)
{
suit[p] = p;
}
One last note: Get out of the habit for writing p++ when not neccessary, use ++p instead. When your friend graduates from C to C++ it will eventualy save her a lot of head acks, because post increment can lead to a great deal of unexpected over head when using user define data types.
INTP
|
|
|
|
|
I am just beginning to use Visual C++ and want to make simple math programs. I need to know how to find the Sin and Cosine and basically the other functions a scientific calculator would have. So if someone could point me in the right direction, I'd appreciate it.
Thanks,
Trurl
|
|
|
|