|
what about:
char *p;
int i = strtol(pHexString, &p, 16);
|
|
|
|
|
NICE! It does work! thanks a lot for the help! It really does help if you know your APIs. thank you!
|
|
|
|
|
Hey I am making a wallpaper changer in MFC its a regurlar dialog box. I have it all working that it changes the windows wallpaper of a click of a button. The only thing I would like to add to this would be a thumbnail view of the windows wallpaper. Any help?
http://www.endlesscillia.com/Images/walpapers.jpg[^]
I included a picture so you can see what I'm trying to do visualy.
Thanks.
|
|
|
|
|
There's lots of ways to load and display a bitmap image.
The easiest way I know is using GDI+. Here's an example of loading an image and drawing it on
a MFC window (specified by "this") with upper left corner at 50,50. The same DrawImage method
will stretch the resultig image to whatever size you specify. I use te original bitmap size
below.
Gdiplus::Bitmap SrcBitmap(L"C:\\test.bmp", FALSE);
Graphics DstGraphics(*this);
DstGraphics.DrawImage(&SrcBitmap, 50, 50, SrcBitmap.GetWidth(), SrcBitmap.GetHeight());
Mark
Great job, team. Head back to base for debriefing and cocktails.
|
|
|
|
|
|
I'm trying to implement a CEdit box that has a horizantal scroll bar that will fill up to 1000 characters at a time. I used SetLimitText to set the limit to 1000 characters. The problem cropped up when I tried to use SetRect(). After I called the function it would not let me place the cursor in the box anymore. I can still call ReplaceSel() and place text in the box that way, but I cannot type it in with the keyboard. Some of the code:
<br />
SearchStringEditBoxPtr->SetLimitText(1000);<br />
RECT EditBoxDimensions;<br />
EditBoxDimensions.left = 0;<br />
EditBoxDimensions.top = 0;<br />
EditBoxDimensions.right = 3000;<br />
EditBoxDimensions.bottom = 12;<br />
SearchStringEditBoxPtr->SetRect(&EditBoxDimensions);<br />
Resource defenition statement for the edit box:
<br />
EDITTEXT IDC_DLGS_SEARCHSTRING_STRINGTEXT, 83, 190, 200, 24, ES_MULTILINE | WS_HSCROLL<br />
I would appreciate any help. -John
|
|
|
|
|
Are you sure 12 is large enough for the height?
Mark
Great job, team. Head back to base for debriefing and cocktails.
|
|
|
|
|
That solved the problem. I can type text into it now. It dosen't scroll anymore though. HMMhmmm....
|
|
|
|
|
Are you trying to keep all the entered text on one line? The default formatting rect should work
fine in that case (updating the horizontal scrollbar appropriately).
Great job, team. Head back to base for debriefing and cocktails.
|
|
|
|
|
Yes...I don't know why I always do things the hard way. Man I feel stupid. It works now though.
|
|
|
|
|
By the way, I tried it just for the heck of it (I've never changed the formatting rect on
a regular edit before). If you enter enough text until you reach 3000 pixels width then the
scrollbar starts to work. I suppose, then, that the appropriate width for the rect when you have
a horizontal scrollbar is the width of the control. Kewl.
Cheers!
Mark
Great job, team. Head back to base for debriefing and cocktails.
|
|
|
|
|
I've got a midi mapper program that take midi input and remapps it before it goes to output.. So I can plug in say, a keyboard, and select it as the midi input device.. no problem..
Then I have to use a program like MidiYoke or some Virtual Midi Device Driver to map the output device to another porgram.
I would like for the software to have it's own midi output port that I can simpily select within another program if you get my drift..
the closest thing I have come to is this
http://www.hurchalla.com/Maple_driver.html
The only problem with this is it's a permanent virtual midi device.. So when my program is shut down, the port is still there.. And the ports are turned on and off through registry key's which requires a restart in order to take effect.. There must be a better way to go about this..
Thanks is advance..
|
|
|
|
|
Linking...
D:\LOG4CXX\DEBUG\log4cxx.dll : fatal error LNK1136: invalid or corrupt file
Error executing link.exe.
siva1.exe - 1 error(s), 0 warning(s)
This is wt error i m getting while i m building a sample code which needs the log4cxx.dll.
pls tell the ans i need it urgent
|
|
|
|
|
Please let us know who we are talking to, and then we might be able to help you
|
|
|
|
|
WalderMort wrote: Please let us know who we are talking to
|
|
|
|
|
|
Hi ,
IIRC, there is a problem between VS and the SDK. For example, using Visual Studio 6.0 and the February 2005 SDK.
It finally made me move to Visual Studio .NET and Visual Studio 2005. I personally prefer VS 6.0.
Jeff
|
|
|
|
|
check if the file log4cxx.dll is corrupt (i.e. has a size of 0 bytes) and/or try to download/install log4cxx.dll again.
|
|
|
|
|
What is the best Code Snippets Manager? I’ve found only this:
1) Total .NET SourceBook
http://www.fmsinc.com/dotnet/SourceBook/index.asp
2) Code Library .NET
http://myweb.hinet.net/home4/s630417/CodeLib.htm
3) Code Warehouse 2007
http://www.xcca.com
|
|
|
|
|
Hi!
I'm porting a library from unix/posix to Win32, and i have some troubles with the memory mapped file access.
I use mmap to read pages from the file, but use the normal write API to write the pages.
On unix, it looks like this:
buffer=mmap(0, size, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, position);
On win32, it's a bit longer, as usual:
DWORD fsize=GetFileSize(fd, 0);
mmaph=CreateFileMapping(fd, 0, PAGE_READONLY, 0, fsize, 0);
buffer=MapViewOfFile(mmaph, PAGE_READWRITE, 0, (unsigned long)position, size);
My first problem is that CreateFileMapping is called whenever i read a page from the file. Is it an expensive operation? I just don't see a way to avoid this. If i cache the mmaph handle, and the file is resized because a page is appended, then this page is not covered by the file mapping...
The second problem: it just doesn't work. CreateFileMapping returns 0 and GetLastError is 5 (ACCESS_DENIED) when it's called for the very first time (fd is a valid file handle, and fsize is 4096).
The file handle was created with
CreateFile(filename, GENERIC_WRITE, 0, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED, 0);
Thanks for any help
Chris
|
|
|
|
|
I never used mapped files on Unix so I am unable to give you a comparison. If you wish to append data to a mapped file, try to specify a larger file size. In you code example you get the file size and use that, but it's perfectly safe to specify larger ( try to round it up to a 4k boundary for best performance ). Opening and closing the file is more expensive than mapping. I believe there is a flag to automatically grow the file for win2000+, but for the moment I just can't remember.
For your second problem, try using GENERIC_READ|GENERIC_WRITE, and try dropping the FILE_FLAG_OVERLAPPED.
|
|
|
|
|
According to the MSDN documentation, you can specify a larger size for the view, but then the file is resized:
"If an application specifies a size for the file mapping object that is larger than the size of the actual named file on disk, the file on disk is increased to match the specified size of the file mapping object."
And that's not what i want, because my library is a database library, and it depends on the user if he wants to insert a lot of data - or insert nothing. in the first case, my view has to "grow", in the second case, the file should stay small...
But anyway, this is the smaller problem of the two. I tried using GENERIC_READ|GENERIC_WRITE and dropped the FILE_FLAG_OVERLAPPED, but i still get error 5 (ACCESS_DENIED) when calling CreateFileMapping...
|
|
|
|
|
Hi all
i have created a simple console application calculating quotations for carpet cost. At the moment it ask user for name, lenght of room and do all calculation and produce output giving detail of the cost.
But now i want that details of previous customer quotation records which are held in a file named “quotes.txt” (a file of records qordered by unique uotation reference numbers). At the start of the program, the file will be loaded into an array of structures called “Quotes” in order that new quote records can be appended and the records can be viewed on screen. The updated file will be saved when the program exits.
So i am stucked here, please help me out. Please see the code below and guide me the right way to add the above functionality...
Thanks a lot
void main()
{
float Length=0, Width=0, Area=0, Cost=0, DeliveryCharge=0;
int UnitPrice=0, GuaranteePeriod=0, DelDistance=0, QuoteNum=INITIAL_QUOTE_REF_NUM;
char AnotherQuote, DelRequired;
char Name[NAME_LEN];
bool ValidPrice;
fstream InputFile;
do
{
//clrscr();
cout << "\nPlease enter surname and initials: ";
cin >> ws;
cin.getline(Name,NAME_LEN);
cout << "Please enter length of room: ";
cin >> Length;
cout << "Please enter width of room: ";
cin >> Width;
do
{
DeliveryCharge=0;
ValidPrice = true;
cout << "Please enter the price per square metre from the following price range:\n\n";
cout << POUND_SIGN << QUALITY_1 << ", " << POUND_SIGN << QUALITY_2 << ", " << POUND_SIGN
<< QUALITY_3 << ", " << POUND_SIGN << QUALITY_4 << ", " << POUND_SIGN << QUALITY_5 << "\n\n" << POUND_SIGN;
cin >> UnitPrice;
cout << "\n\n";
//Assign correct guarantee period for unit price entered.
switch(UnitPrice)
{
case QUALITY_1 : GuaranteePeriod=GUARANTEE_Q1; break;
case QUALITY_2 : GuaranteePeriod=GUARANTEE_Q2; break;
case QUALITY_3 : GuaranteePeriod=GUARANTEE_Q3; break;
case QUALITY_4 : GuaranteePeriod=GUARANTEE_Q4; break;
case QUALITY_5 : GuaranteePeriod=GUARANTEE_Q5; break;
default : cout << "\n\nInvalid price.\n\n";
ValidPrice = false;
}
}while (!ValidPrice);
Area = Length * Width;
Cost = Area * UnitPrice;
cout << "Do you require delivery? (Y/N) ";
cin >> DelRequired;
//Force correct input to delivery question.
while(toupper(DelRequired)!='Y' && toupper(DelRequired)!='N')
{
cout << "Invalid character - enter Y or N:";
cin >> DelRequired;
}
if(toupper(DelRequired)=='Y')
{
cout << "\n\nPlease enter delivery distance in miles: ";
cin >> DelDistance;
if(DelDistance >=0 && DelDistance <=ZONE1)
{
DeliveryCharge = Cost * ZONE1_CHARGE;
}
else
{
if(DelDistance <=ZONE2)
{
DeliveryCharge = Cost * ZONE2_CHARGE;
}
else
{
if(DelDistance <=ZONE3)
{
DeliveryCharge = Cost * ZONE3_CHARGE;
}
else
{
DeliveryCharge = Cost * ZONE4_CHARGE;
}
} //end else > ZONE2
} //end else > ZONE1
} //end delivery required
cout << endl << endl << endl
<< setfill('_') << setw(TABLE_WIDTH) << "" << "\n\n"
<< setfill(' ')
<< setw(7) << " Ref | " << setw(NAME_COL_WIDTH) << " Name | " << setw(COST_COL_WIDTH) << "Carpet | " << setw(DELIVERY_COL_WIDTH)
<< "Delivery | " << setw(TOTAL_COL_WIDTH) << " Total | " << setw(GUARANTEE_COL_WIDTH+7) << "Guarantee |" << endl
<< setfill('_') << setw(TABLE_WIDTH) << "" << "\n\n" << setfill(' ');
cout << fixed << showpoint << setprecision(2);
cout << setfill(' ')
<< setw(7) << QuoteNum << " | "
<< setw(NAME_COL_WIDTH) << Name << " | "
<< setw(1) << POUND_SIGN << setw(COST_COL_WIDTH-4) << Cost << " | "
<< setw(1) << POUND_SIGN << setw(DELIVERY_COL_WIDTH-4) << DeliveryCharge << " | "
<< setw(1) << POUND_SIGN << setw(TOTAL_COL_WIDTH-1) << Cost + DeliveryCharge << " | "
<< setw(7) << "Years: " << setw(GUARANTEE_COL_WIDTH) << GuaranteePeriod << " |"
<< endl;
cout << "\n\nEnter another quote?";
cin >> AnotherQuote;
} while(AnotherQuote=='Y'||AnotherQuote=='y');
///THIS IS WHAT I TRIED, BUT ITS NOT READING THE FILE.........////
/*char FileString[512];
InputFile.open("\\Quotes\\CarpetQuotes.txt", ios::in);
if(InputFile.is_open())
{
InputFile.getline(FileString, sizeof(FileString));
}
*/
cout << "\n" << endl;
system("pause");
}
-- modified at 8:12 Sunday 18th February, 2007
|
|
|
|
|
Before we can help you, we need to know exactly how the text file is structured. ie, is it 1 customer per line, are items seperated by anything? Perhaps if you show us an example of the first few customers.
Also, you say you want to load it into a struct, how is the struct defined? What iformation does it hold and in what format?
Also, it's necessary to post so much code in the forum. Always try to keep your snippets as small as possible and only show us the section you feel has a problem, unless asked otherwise.
|
|
|
|
|
The format of the text is as follows:-
Quote Number
Customer Surname & Initials
Cost of carpet
Delivery cost
Guarantee
So text file is like below:-
1000
Snape LC
3003.00
900.90
2
1001
Bond J
6936.00
0.00
4
Well i have not defined the struct as yet. I am lil confused about this part. If you could refer me any example or something similar then it would be gr8..
And yeh ill keep in mind about snippets...
Thanks for replying
|
|
|
|
|