繁体   English   中英

如何将项目win32控制台应用程序转换为C ++ Windows窗体?

[英]How can I convert project win32 console application into C++ Windows Form?

如何将项目win32控制台应用程序转换为C ++ Windows窗体? 这是我的win32控制台代码,但我想用C ++ Windows窗体转换它。

#include<stdio.h>
#include<conio.h>
#include<ctype.h>
#include<string>
#include<iostream>

using namespace std;

const char TAB='\t';
char varlook;
char s[100];
char name[10];




char str[100],str1[100],str2[100],str3[100],str4[100],var[100];
    int i=0,l,l1,j=0,k=0,d=0;   
    int m=0;
    char keyword[100][100]={"int","float","char","double","if","else","for","while","do","auto","break","case","const",
                            "switch","continue","enum","extern","goto","short","register","return","sizeof","static",
                            "struct","typedef","union","void","while","signed","unsigned","default"};
void main(void)
{
gets(str);
while(str[i]!='\0')
{
while(isspace(str[i]))
i++;
if(isalpha(str[i]))
{
k=0;
while(isalnum(str[i]))
{
str1[k]=str[i];
i++;
k++;
}
str1[k]='\0';
l=0;
while(j<100)
{
if (strcmp(str1,keyword[j])==0)
{
l=1;
break;
}
j++;
}
if(l==1)
{
printf("\n   %s    ERROR- it is keyword ",str1);
break;
}
else
{
printf("\n   %s    Valid Identifier ",str1);
break;
l=0;
while(str1[l]!='\0')
{
var[m++]=str1[l++];
}
}
}
else if (isdigit(str[i]))
{
k=0;
while(isalnum(str[i]) || str[i]=='.')
{
if(str[i]=='.')
d++;
str2[k++]=str[i++];
}
printf("\n   %s    ERROR- it is digit ",str2);
break;
}
}

getche();
}

如何将项目win32控制台应用程序转换为C ++ Windows窗体? 这是我的win32控制台代码,但我想用C ++ Windows窗体转换它。

我认为这可能有效:

右键单击项目,属性,链接器,系统,更改子系统设置。 您还必须将main()方法更改为WinMain()。 你最好创造一些窗户,或者没有太多可看的东西。

您可以使用C ++ / CLI

创建一个CLR空项目。 在MyForm.cpp中添加一个名为MyForm add的新项目Visual C ++ / UI / Windows Form

int main()
{
  Project1::MyForm^ dlg = gcnew Project1::MyForm;
  dlg->ShowDialog();
}

然后通过添加用于输入的文本框,用于评估内容的按钮和用于显示结果的标签来设计UI。

为按钮添加事件处理程序,当您按下按钮时,读取文本框的内容并将结果显示在标签框中。

这将为您提供一个准系统程序,但至少它为您提供了一个快速框架。

我建议你使用更多的C ++方式来指定关键字,例如使用std :: vector或std :: map - 使事情变得更加容易。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM