|
I'm from China。
Email:7841559@qq.com
|
|
|
|
|
Hook 去看雪论坛 一堆堆搞Hook的
学英语 去新东方
|
|
|
|
|
ignor d dwn votes brohter
|
|
|
|
|
Hi,
I have read your article about "Rendering GIF, JPEG, Icon, or Bitmap Files with OleLoadPicture".It's very interesting. But I have some problems about it.If the Windows are maximized,the picture showed in the STATIC would be erased.
Could you provide the code?My email address is nalang@163.com.
Thanks.
|
|
|
|
|
[1]Make the picture storing object, might be instance of CBitmap, accessible all the time by making it as data member of class.
[2]Do the painting operation in ::OnDraw(SDI\MDI Application) or ::OnPaint(Dialog based Application)
Sameer();
|
|
|
|
|
post this in the discussion area under the article you read.
|
|
|
|
|
Hi,
I have a CPropertysheet containing a number of property pages and I would like to initialize all of the porpertypages at the same time (e.g. in the CPropertySheet::OnInitDialog()) rather than initialize each one as the user selects the tab. I am sure there used to be a way to do this 'early' initializing but I cant find anything about it.
Does anyone have any suggestions? I thought about making the OnInitDialog() methods in my propertypages public but that seems a bit naughty.
Thanks
Tony
|
|
|
|
|
Check out the PSP_PREMATURE style.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
Hey thanks David, I'm not going mad after all. I was beginning to think I had imagined it
Tony
|
|
|
|
|
I will give somebody some codes if they want:
here is a sample for free:
#include<iostream>
using namspace std;
int main()
{
cout<<"Welcome to the funnest game alive."<<enedl;
cout<<\n\n";
string song="Imagine" ;
cout<<"what="" did="" john="" lennon="" play="" on="" the="" piano?:;
cin="">>song;
if(song == "Imagine")
{
cout<<"If you got Imagine, that's correct."<<endl;
}
if(song!= "imagine")
{
="" cout<<"i'm="" sorry,="" but="" that="" is="" incorrect."<<endl;
}
string="" book="IT" ;
cout<<"what="" did="" stephen="" king="" write="" was="" about="" a="" clown="" in="" the="" sewers?:";
cin="">>book;
if(book == "IT")
{
cout<<"Yes, that's it."<<endl;
}
if(book !="IT" )
{
="" cout<<"stephen="" king="" must="" not="" be="" your="" favorite="" writer,="" am="" i="" right?"<<endl;
}
system("pause");
return="" exit_success;
}
what="" all="" of="" this="" means="" is="" that="" if="" any="" the="" questions="" right="" or="" wrong,="" it="" will="" put="" output="" to="" screen="" from="" code="" above.="" what="" system="" when="" program="" compiles="" and="" doesn't="" find="" errors,="" usually="" exits="" with="" no="" errors="" stops(return="" 0="" does="" this),="" but="" told="" compiler="" pause="" after="" compiling="" once="" successfully="" displays="" program's="" contents.=""
i="" hope="" you="" enjoy="" one="" can="" add="" whatever="" want="" in="" make="" better="" do="" something="" else.="" don't="" really="" care="" anymore.
<div="" class="signature">Timothy Hosey
|
|
|
|
|
//..or do something else
They sought it with thimbles, they sought it with care;
They pursued it with forks and hope;
They threatened its life with a railway-share;
They charmed it with smiles and soap.
|
|
|
|
|
I've tried everything to switch, it all seems to fail. I wanted to switch to web design, but it would be the same kind of thing I'm going through now with no job in it and all. I've done some self-taught codes in java script and html and it doesn't look that hot or appealing to employers, even if I did go some school to teach me more crap that probably is basic and not in-depth with details and examples to get a jump start on a career for myself.
|
|
|
|
|
While some programmers do write about future,
your switch to be a writer about past seems to be good.
I see a possible documentation-piece in your language
as a canny and easy-to-understand thing (adventure)
They sought it with thimbles, they sought it with care;
They pursued it with forks and hope;
They threatened its life with a railway-share;
They charmed it with smiles and soap.
|
|
|
|
|
First priority: Data Structures. This will be useful no matter what language you're programming in, and for any application. There are lots of introductory books on Data Structures.
Second priority: Object-oriented programming. More specifically classes, inheritance, virtual functions, and polymorphism (it sounds harder than it is.) A background in object-oriented programming is essential to understand Design Patterns.
Other priorities: Graphics. Most modern programs involve graphics and if you study web programming, experience with graphics will be valuable. .NET languages all have good graphics capabilities.
If you're interested in web design, start with HTML. It's a display-only language, so is relatively easy. The next step is JavaScript to make your HTML pages interactive. Next, Java or PHP.
Working on an open-source project will look good on your resume, and will be experience that will help you develop your programming skills.
|
|
|
|
|
Timothy Hosey wrote: or do something else
Like compile?
|
|
|
|
|
hello guys....i became confused these days with this simple question, plz excuse me. My question is: what is the difference between return 0 (indicating that function executed successfuly) and some value returned by our function?? here is the example
int func(){
int num1 = 5;
int num2 = 0;
return num1 * num2;
}
Now how does the compiler differenciates between these two return statements?? thnx
|
|
|
|
|
The return statement simply specifies the value that the function will return; it says nothing about the meaning of that value.
Sometimes a return value of 0 means that a function was successful, sometimes a return value of 1 means success. Usually the return value has a meaning entirely different from success or failure. The meaning is determined by the programmer - the compiler doesn't know or care.
Phil
The opinions expressed in this post are not necessarily those of the author, especially if you find them impolite, inaccurate or inflammatory.
|
|
|
|
|
You are returning an integer value of num1*num2
If I had a function that returned a boolean value, it would look like this:
boolean foo() {
boolean x = TRUE ;
return x ;
}
Your return statement must match what the function definition. (e.g. my foo function is defined as a boolean).
|
|
|
|
|
bit of confusion here.
The user (developer) decides whatever is the meaning of the value returned by a function; AFAIK, there is no
official set way to say a function "executed" successfully; could be a returned value, could be a parameter passed by reference (or pointer), could be a try/catch thingy or the function could set the "Last Error" (GetLastError(), SetLastError() )
If you only have access to the header files, there should be some kind of documentation saying what the return value is; if you have access to the source file, then a bit of looking could be needed.
M.
Watched code never compiles.
|
|
|
|
|
I have a method that will take in a char data type if I build it with the methods shown below. If I manually put the template into the variable, it runs fine, but when I build it, it craps out (I never know what the name of the user is, so I have to build the template with just a name given).
char voice_template_g[26] = "" ;
void initiate_voice_rec(char* voice_template) {
strncpy ( voice_template_g, voice_template, sizeof( voice_template_g ) ) ;
}
void get_current_voice_template() {
char template_file_path[100] = "c:\\Dragon\\Speaker\\" ;
char default_template[100] = "c:\\Dragon\\Speaker\\IPART" ;
char temporary_file_path[100] = "";
strncat( temporary_file_path,
template_file_path,
sizeof( temporary_file_path ) ) ;
strncat( temporary_file_path,
voice_template_g,
sizeof( temporary_file_path ) ) ;
if( !_chdir( temporary_file_path ) )
{
strncpy( voice_template_g,
temporary_file_path,
sizeof(voice_template_g) ) ;
}
else
{
strncpy( voice_template_g,
default_template,
sizeof(voice_template_g) ) ;
}
}
now if a template is made (not the default) it crashes, but if I call:
strncpy( voice_template_g, "c:\\Dragon\\Speaker\\TERR2285", sizeof( voice_template_g ) ) ;
right at the end of get_current_voice_template(), it works fine.
is there a difference in the data used between:
strncpy( voice_template_g, temporary_file_path, sizeof(voice_template_g) ) ;
and
strncpy( voice_template_g, "c:\\Dragon\\Speaker\\TERR2285", sizeof( voice_template_g ) ) ;
They produce the same string, but they both don't work!
|
|
|
|
|
Hi,
it is not completely clear to me. Here are some ideas:
1.
as temporary_file_path is initially empty, the first strncat better be a strncpy.
2.
your overrun protection is not effective:
strncat( buffer, data, sizeof(buffer));
if buffer initially holds 10 chars, you will overrun it by 10 (assuming data is a long string).
you should either calculate how many buffer positions remain and use that as count, or use a safer version of strcat/strcpy.
3.
there is something quite illogical in using the same buffer (voice_template_g[26]) for input and output.
Assume it is almost full at input; your code creates a longer path (path+initial content of buffer). then
copies that back into the input buffer.
4.
And then there is the problem of string functions not ensuring there will be a terminating NULL. (When they reach the count limit before reaching the source's NULL, no NULL is copied nor appended).
5.
I can imagine situations where things run fine the first time around, and fail the second time around, maybe because voice_template_g now contains the earlier result.
6.
you should add log statements and/or use your debugger's facilities to inspect the data in the buffers.
|
|
|
|
|
pjdriverdude wrote: If I manually put the template into the variable...
Template? I see no templates or classes. Perhaps you've used the wrong word?
pjdriverdude wrote: ...but when I build it, it craps out...
With what error?
pjdriverdude wrote: They produce the same string...
How have you verified this?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
1. I'm building the string to search for my template.
2. If I build the string by using "c:\\Dragon\\speaker\\TERR2285", it works fine. If I build the string with the strncat/strncpy, the function I insert my template string into give me an access violation error.
3. Yes, I've used strcmp to make sure the strings were the same. Is there a better way to do this?
|
|
|
|
|
pjdriverdude wrote: If I build the string with the strncat/strncpy, the function I insert my template string into give me an access violation error.
Which line is doing this?
pjdriverdude wrote: Is there a better way to do this?
Yes. Use the debugger to put a breakpoint on the strncpy() statement(s). Then you can see the values of voice_template_g , temporary_file_path , and default_template .
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
if( !_chdir( temporary_file_path ) )
{
strncpy( voice_template_g,
temporary_file_path,
sizeof(voice_template_g) ) ;
}
the strncpy here is where the template would be made so that it can be passed to a later function.
|
|
|
|