⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 ZNetAdv配置函数库,以太网函数,单片机使用
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        [DllImport("kernel32.dll")]
        static extern void Sleep(UInt32 ms);

        [DllImport("ZNetAdv.dll")]
        static extern UInt32 ZN_SearchAll();
        [DllImport("ZNetAdv.dll")]
        static extern UInt32 ZN_Search([MarshalAs(UnmanagedType.LPStr)] String szip);
        [DllImport("ZNetAdv.dll")]
        static extern UInt32 ZN_GetSearchDev( ref byte szip,
            ref byte szver,ref byte szmac,
            ref byte pdevtype, ref byte pipmode, ref int ptcpport);

        [DllImport("ZNetAdv.dll")]
        static extern UInt32 ZN_GetDevInfoUDPbyIP(
            [MarshalAs(UnmanagedType.LPStr)] string szip,
            byte devtype);
        [DllImport("ZNetAdv.dll")]
        static extern UInt32 ZN_GetDevConfigUDP([MarshalAs(UnmanagedType.LPStr)] string szname,
            ref byte szval);

        [DllImport("ZNetAdv.dll")]
        static extern UInt32 ZN_ResetModifyConfigUDP();
        [DllImport("ZNetAdv.dll")]
        static extern UInt32 ZN_SetModifyConfigUDP(
            [MarshalAs(UnmanagedType.LPStr)] string szname,
            [MarshalAs(UnmanagedType.LPStr)] string szval);
        [DllImport("ZNetAdv.dll")]
        static extern UInt32 ZN_ModifyDevUDPbyIP(
            [MarshalAs(UnmanagedType.LPStr)] string szip,
            [MarshalAs(UnmanagedType.LPStr)] string szpwd,
            byte devtype);

        [DllImport("ZNetAdv.dll")]
        static extern UInt32 ZN_LoginTCP(byte devtype,
            [MarshalAs(UnmanagedType.LPStr)] string szip,
            int port,
            [MarshalAs(UnmanagedType.LPStr)] string szpwd);
        [DllImport("ZNetAdv.dll")]
        static extern UInt32 ZN_GetDevConfigTCP(
            [MarshalAs(UnmanagedType.LPStr)] string szname, ref byte szval);
        [DllImport("ZNetAdv.dll")]
        static extern UInt32 ZN_ModifyDevConfigTCP(
            [MarshalAs(UnmanagedType.LPStr)] string szname,
            [MarshalAs(UnmanagedType.LPStr)] string szval);
        [DllImport("ZNetAdv.dll")]
        static extern UInt32 ZN_ResetDevTCP();
        [DllImport("ZNetAdv.dll")]
        static extern UInt32 ZN_ExitTCP();

        [DllImport("ZNetAdv.dll")]
        static extern UInt32 ZN_SendCmd(byte devtype,
            [MarshalAs(UnmanagedType.LPStr)] string szip,
            int port,
            [MarshalAs(UnmanagedType.LPStr)] string szname,
            [MarshalAs(UnmanagedType.LPStr)] string szval,
            byte budp);

        
        public Form1()
        {
            InitializeComponent();
        }

        public void ClearDevices()
        {
            listView_Dev.Items.Clear();
        }
        public string GetDevType(byte devtype)
        {
            Byte []devarr=new Byte[20];
            string []namearr=new string[20];
            devarr[0] = 1;
            devarr[1] = 2;
            devarr[2] = 3;
            devarr[3] = 4;
            devarr[4] = 5;
            devarr[5] = 6;
            devarr[6] = 7;
            devarr[7] = 8;
            devarr[8] = 11;
            devarr[9] = 12;
            devarr[10] = 13;
            devarr[11] = 48;

            namearr[0] = "ZNE-100";
            namearr[1] = "ZNE-100T";
            namearr[2] = "ZNE-10";
            namearr[3] = "ZNE-200T";
            namearr[4] = "NETCOM-10";
            namearr[5] = "ZNE-200";
            namearr[6] = "ZNE-10T";
            namearr[7] = "ZNE-100TI";
            namearr[8] = "CANET-E";
            namearr[9] = "CANET-100";
            namearr[10] = "CANET-200";
            namearr[11] = "NETCOM-400";

	        int sz=12,i=0;
	        string str1;
	        for(i=0;i<sz;i++)
	        {
		        if(devarr[i]==devtype)
		        {
                    str1=System.Convert.ToString(devtype)+"("+
                        namearr[i]+")";
			        return str1;
		        }
	        }
            str1=System.Convert.ToString(devtype);
	        return str1;
        }
        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            ClearDevices();
            ZN_SearchAll();
            int times=0;
            byte[] szip = new byte[20];
            byte[] szver = new byte[20];
            byte[] szmac = new byte[30];
            byte devtype=0,ipmode=0;
            int tcpport=0;
            for(;times<200;times++)
            {
                while (ZN_GetSearchDev(ref szip[0], ref szver[0], ref szmac[0], ref devtype, ref ipmode, ref tcpport) == 1)
                {
                    ListViewItem item = listView_Dev.Items.Add(
                        System.Text.Encoding.ASCII.GetString(szip));
                    item.SubItems.Add(GetDevType(devtype));
                    item.SubItems.Add(
                        System.Text.Encoding.ASCII.GetString(szmac));
                    if (devtype >= 48)
                        item.SubItems.Add(System.Convert.ToString(tcpport));
                    else
                        item.SubItems.Add("");
                }
                Sleep(10);
            }

        }

        public int TryGetSelDev()
        {
            if (listView_Dev.SelectedItems.Count > 0)
            {
                return listView_Dev.SelectedItems[0].Index;
            }
            return -1;
        }
        public int GetInfo_MultiCOM(byte devtype, string szip, int port)
        {
            Form2 dlg=new Form2();
            dlg.ShowDialog();
            if(dlg.isOK()!=1)
	            return 0;
            string szpwd="";
            szpwd=dlg.GetPwd();
            if(ZN_LoginTCP(devtype,szip,port,szpwd)!=1)
	            return 0;
            uint res=1;
            byte []szval=new byte[100];

            res = ZN_GetDevConfigTCP("NAME", ref szval[0]);
            if(res != 1)
                goto ext;
            textBox_Name.Text = System.Text.Encoding.ASCII.GetString(szval);
            
            res = ZN_GetDevConfigTCP("C1_OP", ref szval[0]);
            if(res!=1)
                goto ext;
            textBox_Worktype.Text = System.Text.Encoding.ASCII.GetString(szval);
            
            res = ZN_GetDevConfigTCP("C1_PORT", ref szval[0]);
            if(res!=1)
                goto ext;
            
            textBox_Workport.Text = System.Text.Encoding.ASCII.GetString(szval);
            
            res = ZN_GetDevConfigTCP("C1_BAUD", ref szval[0]);
            if(res!=1)
                goto ext;
            
            textBox_Baud.Text =  System.Text.Encoding.ASCII.GetString(szval);
            
            res = ZN_GetDevConfigTCP("C1_DATAB", ref szval[0]);
            if(res!=1)
                goto ext;
            
            textBox_DataB.Text =  System.Text.Encoding.ASCII.GetString(szval);
            
            res = ZN_GetDevConfigTCP("C1_STOPB", ref szval[0]);
            if(res!=1)
                goto ext;
            
            textBox_StopB.Text =  System.Text.Encoding.ASCII.GetString(szval);

            res = ZN_GetDevConfigTCP("C1_PARITY", ref szval[0]);
            if(res!=1)
                goto ext;
            
            textBox_Parity.Text =  System.Text.Encoding.ASCII.GetString(szval);
            
        ext:
            ZN_ExitTCP();
            return (int)res;
        }
        public int GetInfo_SingleCOM(byte devtype, string szip)
        {
            uint res = ZN_GetDevInfoUDPbyIP(szip, devtype);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -