如题,对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; }
}

解决方案 »

  1.   

    C#才开始学,还什么都不懂,帮你up
      

  2.   

    赫赫,我也刚刚学C#,请问搂主[STAThread]是什么意思?
      

  3.   

    你要转换成,VC托管代码,MFC 的 还是 SDK 的!
      

  4.   

    都可以,你用VC.Net托管代码或者MFC或者SDK的都可以,只要是VC的就行
      

  5.   

    [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#
    起的早,先误导一下你^__________________^
    大虾快出来 啊~
      

  6.   

    C# is similar to Java...
      

  7.   

    and Java is similar to...