|
Hi,
I'm reading this old article about window regions from file: CreateRegionFromFile[^]
Sice this article is very old, I'd like to know if there is a better solution for this, and also if there is a quick way to do this using Codeblocks instead of VC++ dependant code.
Thanks for the help,
Luca
|
|
|
|
|
|
Thank you very much, using this tutorial I was able to build regions on codeblocks!
|
|
|
|
|
Don't think there's a "quick way" of doing this... if using codeblocks, you have to work directly with the WinAPI, so it's not exactly trivial. I don't believe this is a widely supported action so frameworks don't really include an easy way to do this.
|
|
|
|
|
Thanks to both for the reply.
|
|
|
|
|
Dear All,
i had write a code in C, but when execute, it an error.
May i know how to combine a correct structure ? kindly advise, thank you
Output results
**Enter integers: 23 12 34 56 78 12
Traversing the list : 23->12->34->56>78->12
Minimum value : 12
Reversing the list: 12->78->56->34->12->23**
#include <stdio.h>
#include <stdlib.h>
struct node
{
int data;
struct node *next;
}*head;
void insert_data(int value)
{
struct node *var,*temp;
temp=head;
var=(struct node *)malloc(sizeof(struct node));
var->data=value;
if(head==NULL)
{
head=var;
head->next=NULL;
}
else
{
while(temp->next!=NULL)
{
temp=temp->next;
}
var->next=NULL;
temp->next=var;
}
}
void reverse_list()
{
struct node *temp,*temp1,*var;
temp=head;
var=NULL;
while(temp!=NULL)
{
temp1=var;
var=temp;
temp=temp->next;
var->next=temp1;
}
head=var;
}
void display()
{
struct node *var;
var=head;
printf("\nlist of elments are \n");
while(var!=NULL)
{
printf(" %d ->",var->data);
var=var->next;
}
}
int main()
{
int i,value;
char ch='y';
head=NULL;
printf("\nEnter Integers: ");
scanf("%d",&value);
insert_data(value);
display();
}
getch();
}
|
|
|
|
|
caulsonchua wrote: i had write a code in C, but when execute, it an error. You need to show what the error is and where it occurs.
Veni, vidi, abiit domum
|
|
|
|
|
int main()
{
int i,value;
char ch='y';
head=NULL;
printf("\nEnter Integers: ");
scanf("%d",&value);
insert_data(value);
display();
}getch();
}
You have a spurious an extra closing brace ('}') in your code. Remove it in order to correctly compile.
As it stands, you main function retrives just one integer from the user.
Change from
Quote: scanf("%d",&value);
insert_data(value); to
while (scanf("%d", &value))
{
insert_data(value);
}
This allows the user to enter many integers (one at time).
Inserting a not-valid-number (e.g. "foo" ) ends the insertion in the list.
Also, I suppose your reverse_list function is plainly wrong.
Veni, vidi, vici.
modified 13-Nov-13 11:14am.
|
|
|
|
|
CPallini wrote: You have a spurious closing brace ('}') in your code. Extra, or superfluous, perhaps?
"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
"Show me a community that obeys the Ten Commandments and I'll show you a less crowded prison system." - Anonymous
|
|
|
|
|
Yes, of course, thank you.
(It is wrong even in Italian )
Veni, vidi, vici.
|
|
|
|
|
caulsonchua wrote: i had write a code in C, but when execute, it an error. Is this supposed to be helpful? Be specific. What error? What is the code supposed to do (I know it's a linked list, so don't play that card)? What is it doing instead? Have you used the debugger to step through the code?
caulsonchua wrote: May i know how to combine a correct structure ? What structure are you trying to combine?
"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
"Show me a community that obeys the Ten Commandments and I'll show you a less crowded prison system." - Anonymous
|
|
|
|
|
MCU program, no cache, can anybody explain the performance comparison between global and local variables?
|
|
|
|
|
Your question is far from clear; does it have anything to do with C/C++/MFC?
Veni, vidi, abiit domum
|
|
|
|
|
I just not very clear which way is better in programming a C program, that will run on a 32 bit RISC Microcontroller platform.
Using globals or using locals as possible as many.
|
|
|
|
|
as I understand, local in stack, and possibly replaced by register.
but local variable needs push/pop operation.
Globals in RAM, no need to allocate memory/retrieve memory every time
|
|
|
|
|
Given the speed of most modern processors the time difference will most likely be too small to measure.
Veni, vidi, abiit domum
|
|
|
|
|
It depends on the architecture and how quickly the processor can form an address in comparison to how fast an instruction gets through the pipeline. The only way you're going to know for sure is to measure the speed of your app using both types of variables.
|
|
|
|
|
If a code block locates in an infinite loop, choose locals, then with locality principle, it is better than globals, I think.
If a code blcck just run a few times, accessing global vs push/pop stack operation, which one is better?
|
|
|
|
|
I'm trying to add a dynamic status icon to a CMFCRibbonStatusBar. I've followed the "standard" approach of creating a CMFCRibbonButtonsGroup, loading the images, then creating a CMFCRibbonButton (with no icon), adding it to the button group and then using SetImageIndex.
This works fine, and I can dynamically set the icon, however I am getting a frame around the button rather than just the icon. Hopefully this screenshot of the status bar explains what I mean better than my description: screengrab
I've tried everything I can think of and can't get the frame to go away, so I'm open to suggestions! The code from within my CMainFrame is as follows:
m_tbiStatusImages = new CMFCToolBarImages;
m_tbiStatusImages->SetImageSize(CSize(16, 16));
m_tbiStatusImages->Load(IDB_STATUS_SMALL);
m_rbgMicrowaveIcon = new CMFCRibbonButtonsGroup;
m_rbgMicrowaveIcon->SetImages(m_tbiStatusImages, m_tbiStatusImages, m_tbiStatusImages);
m_rbMicrowaveIcon = new CMFCRibbonButton(ID_STATUSBAR_MICROWAVE_ICON, _T("Microwave Status"), -1, -1);
m_rbgMicrowaveIcon->AddButton(m_rbMicrowaveIcon);
m_wndStatusBar.AddElement(m_rbgMicrowaveIcon, _T("Microwave Status"));
m_rbMicrowaveIcon->SetImageIndex(0, FALSE);
|
|
|
|
|
Hello Friends
I am looking for Graphics Library which helps me in Converting a Raster Image to vector Geometry.
I tried OpenCV but Results are not that Good as I expected. I used FindContours Algo,canny,Sobel using openCV libraries but the Vector Info that I get is not satisfied.
So, I am looking for an another Graphics Library which can help me out in Finding Vector of a raster image.
Thanks In Advance.
Regards
Yogesh Sikri
|
|
|
|
|
Potrace is probably the leading library, though for commercial releases, you have to negotiate a royalty agreement: http://potrace.sourceforge.net/[^]
(If there are alternatives to Potrace that are as, or more, capable, I'd sure like to know.)
|
|
|
|
|
Thanks Joe for your Reply.
But, I want to know that Will this Library works well on Pictures taken from Camera. As I am not working with Images created in Computer.
Let me know.
Regards
Yogesh Sikri
|
|
|
|
|
It will, though I don't know how well. It's free to try.
|
|
|
|
|
Dear Experts,
In one project, I sometimes have to reset the TAPI Service when I find network cable is disconnected and connected.
I know I could get TAPI process ID in VC2005 by using EnumServicesStatusEx function.
But because my code is in VC2000, I have to get it in VC2000.
I find a code snippet which use CreateToolhelp32Snapshot and Process32Next to find process IDs in VC2000.
But it gives me several svchost.exe which only one belongs to TAPI service.
My question is : how I could find TAPI service Process ID in VC2000.
Regards
Mahdi
|
|
|
|
|
What is VC2000?
Veni, vidi, abiit domum
|
|
|
|