麻烦老大们,请将下面的C#语法转换为C++

wangsaokui 2004-06-22 09:05:12
如题,对C++语法不明白,谢谢了

clsVIP是自己定义的类,dlg_VIPMsgArrived是一个代理,如有不明白的请发短信给我,要的比较急,谢谢各位

[STAThread]
static void Main()
{
Application.Run(new Form1());

}

clsVIP VIPServ;
private void Form1_Load(object sender, System.EventArgs e)
{
VIPServ = new clsVIP(null, Application.StartupPath + "\\");
VIPServ.CMessages[328].MessageArrived += new dlg_VIPMsgArrived(Recv328);
VIPServ.CMessages[329].MessageArrived += new dlg_VIPMsgArrived(Recv329);
VIPServ.CMessages[331].MessageArrived += new dlg_VIPMsgArrived(Recv329);
}

private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
VIPServ.CMessages[328].MessageArrived -= new dlg_VIPMsgArrived(Recv328);
VIPServ.CMessages[329].MessageArrived -= new dlg_VIPMsgArrived(Recv329);
VIPServ.CMessages[331].MessageArrived -= new dlg_VIPMsgArrived(Recv329);
VIPServ.Stop();
VIPServ = null;
}

int MyCounter = 0, StartValue = 0;
int LastArrived = -1;
int errCount = 0, errSeq = 0;
private void Recv328(VIPCMsg CMsg)
{
int lLastArrived = LastArrived;
int lMyCounter = MyCounter;

int Arrived = CMsg["L1SEG_IL_SPARE_01"].ValI;

// Begining conditions - Executed only after connecton establishment!
if(LastArrived < 0)
{
StartValue = Arrived;
lLastArrived = Arrived;
}

listBox1.Items.Add(DateTime.Now.ToString("hh:mm:ss:fff") + " " + Arrived.ToString());

//System.Diagnostics.Debug.WriteLine("328 message - first IL: " + Arrived.ToString());

if(Arrived - lLastArrived > 1)
{
errCount += 1;
textBox2.Text = Arrived.ToString("00000") + " " + errCount.ToString("000") + " " + Arrived.ToString("0000") + " " + LastArrived.ToString("0000");
}
else if(Arrived < lLastArrived)
{
errSeq += 1;
textBox4.Text = Arrived.ToString("00000") + " " + errSeq.ToString("000");
}
lLastArrived = Arrived;

textBox1.Text = Arrived.ToString();

lMyCounter += 1;
textBox3.Text = (StartValue + lMyCounter).ToString();
LastArrived = lLastArrived;
MyCounter = lMyCounter;

tb1.Text = CMsg["L1SEG_Coil_No_1"].ValS;
tb2.Text = CMsg["L1SEG_Coil_No_2"].ValS;
tb3.Text = CMsg["ExitBridR2Speed"].ValF.ToString();
tb4.Text = CMsg["ExitBridR3Current"].ValF.ToString();
}

private void Recv329(VIPCMsg CMsg)
{
int i = CMsg.ID;
textBox5.Text = i.ToString();
}

private void button1_Click(object sender, System.EventArgs e)
{
errCount = 0;
textBox2.Text = LastArrived.ToString("000000") + " " + errCount.ToString("000");
errSeq = 0;
textBox4.Text = LastArrived.ToString("000000") + " " + errSeq.ToString("000");
}

private void button2_Click(object sender, System.EventArgs e)
{
listBox1.Visible = !listBox1.Visible;
}

private void button3_Click(object sender, System.EventArgs e)
{
textBox2.Text = LastArrived.ToString("000000") + " " + errCount.ToString("000");
textBox4.Text = LastArrived.ToString("000000") + " " + errSeq.ToString("000");
}

int jjj = 0;
private void button4_Click(object sender, System.EventArgs e)
{
int i;
VIPCMsg msg = VIPServ.CMessages[204];
for(i=0; i<12; i++)
msg[i].ValF = i + 55*jjj;
VIPServ.Send_VIP_Message(204);
jjj += 1;

}
}
...全文
137 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangcrony 2004-06-24
  • 打赏
  • 举报
回复
and Java is similar to...
zhangcrony 2004-06-24
  • 打赏
  • 举报
回复
C# is similar to Java...
狂放之歌 2004-06-24
  • 打赏
  • 举报
回复
[STAThread]
static void Main()
{
Application.Run(new Form1());

}

clsVIP VIPServ;
//消息:初始化
private void Form1_Load(object sender, System.EventArgs e)
{
VIPServ = new clsVIP(null, Application.StartupPath + "\\");
VIPServ.CMessages[328].MessageArrived += new dlg_VIPMsgArrived(Recv328);
VIPServ.CMessages[329].MessageArrived += new dlg_VIPMsgArrived(Recv329);
VIPServ.CMessages[331].MessageArrived += new dlg_VIPMsgArrived(Recv329);
}
//消息:销毁
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
VIPServ.CMessages[328].MessageArrived -= new dlg_VIPMsgArrived(Recv328);
VIPServ.CMessages[329].MessageArrived -= new dlg_VIPMsgArrived(Recv329);
VIPServ.CMessages[331].MessageArrived -= new dlg_VIPMsgArrived(Recv329);
VIPServ.Stop();
VIPServ = null;
}
//变量定义
int MyCounter = 0, StartValue = 0;
int LastArrived = -1;
int errCount = 0, errSeq = 0;
//函数定义
private void Recv328(VIPCMsg CMsg)
{
int lLastArrived = LastArrived;
int lMyCounter = MyCounter;

int Arrived = CMsg["L1SEG_IL_SPARE_01"].ValI;//结构体 ?? 若L1SEG_IL_SPARE_01是常量 可以直接写[L1SEG_IL_SPARE_01]
// Begining conditions - Executed only after connecton establishment!
if(LastArrived < 0)
{
StartValue = Arrived;
lLastArrived = Arrived;
}

listBox1.Items.Add(DateTime.Now.ToString("hh:mm:ss:fff") + " " + Arrived.ToString());//vc里面 我没有用过“.ToString”用-----------String.Format()有参数提示

//System.Diagnostics.Debug.WriteLine("328 message - first IL: " + Arrived.ToString());

if(Arrived - lLastArrived > 1)
{
errCount += 1;
textBox2.Text = Arrived.ToString("00000") + " " + errCount.ToString("000") + " " + Arrived.ToString("0000") + " " + LastArrived.ToString("0000");
}
else if(Arrived < lLastArrived)
{
errSeq += 1;
textBox4.Text = Arrived.ToString("00000") + " " + errSeq.ToString("000");
}
lLastArrived = Arrived;

textBox1.Text = Arrived.ToString();

lMyCounter += 1;
textBox3.Text = (StartValue + lMyCounter).ToString();
LastArrived = lLastArrived;
MyCounter = lMyCounter;

tb1.Text = CMsg["L1SEG_Coil_No_1"].ValS;
tb2.Text = CMsg["L1SEG_Coil_No_2"].ValS;
tb3.Text = CMsg["ExitBridR2Speed"].ValF.ToString();
tb4.Text = CMsg["ExitBridR3Current"].ValF.ToString();
}

private void Recv329(VIPCMsg CMsg)
{
int i = CMsg.ID;
textBox5.Text = i.ToString();
}
//Button 单击事件
private void button1_Click(object sender, System.EventArgs e)
{
errCount = 0;
textBox2.Text = LastArrived.ToString("000000") + " " + errCount.ToString("000");
errSeq = 0;
textBox4.Text = LastArrived.ToString("000000") + " " + errSeq.ToString("000");
}

private void button2_Click(object sender, System.EventArgs e)
{
listBox1.Visible = !listBox1.Visible;
}

private void button3_Click(object sender, System.EventArgs e)
{
textBox2.Text = LastArrived.ToString("000000") + " " + errCount.ToString("000");
textBox4.Text = LastArrived.ToString("000000") + " " + errSeq.ToString("000");
}

int jjj = 0;
private void button4_Click(object sender, System.EventArgs e)
{
int i;
VIPCMsg msg = VIPServ.CMessages[204];
for(i=0; i<12; i++)
msg[i].ValF = i + 55*jjj;
VIPServ.Send_VIP_Message(204);
jjj += 1;

}
}

我用 mfc
其他的语法都差不多,一起努力学。顺便学C#
起的早,先误导一下你^__________________^
大虾快出来 啊~
wangsaokui 2004-06-24
  • 打赏
  • 举报
回复
都可以,你用VC.Net托管代码或者MFC或者SDK的都可以,只要是VC的就行
曲滨_銘龘鶽 2004-06-23
  • 打赏
  • 举报
回复
你要转换成,VC托管代码,MFC 的 还是 SDK 的!
rockally 2004-06-23
  • 打赏
  • 举报
回复
你到C#版问问看行不行。
wangjs720 2004-06-22
  • 打赏
  • 举报
回复
这也太多了吧
shootingstars 2004-06-22
  • 打赏
  • 举报
回复
赫赫,我也刚刚学C#,请问搂主[STAThread]是什么意思?
wangsaokui 2004-06-22
  • 打赏
  • 举报
回复
请大家帮忙看下,不难,知识我对C++语法不熟悉,所以请指点下
rockally 2004-06-22
  • 打赏
  • 举报
回复
C#才开始学,还什么都不懂,帮你up
Kudeet 2004-06-22
  • 打赏
  • 举报
回复
钻错门了啊!

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧