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

📄 f.cs

📁 老外Logix Mobile mCoreLib短信控件源码 通过串口或者手机数据线进行连接,可对手机进行 读写操作.
💻 CS
📖 第 1 页 / 共 5 页
字号:
            str31 = Strings.Left(str21, 2);
            str21 = Strings.Right(str21, str21.Length - 2);
            str19 = Strings.Left(str21, length);
            if (Strings.Mid(str31, 1, 1) == "D")
            {
                str19 = this.a(str19, 7, "0", ref num9);
            }
            else
            {
                str19 = this.b(str19);
                if (string.Compare(Strings.Right(str19, 1), "F", true) == 0)
                {
                    str19 = Strings.Left(str19, str19.Length - 1);
                }
            }
            if (str31 == "91")
            {
                str19 = "+" + str19;
            }
            str21 = Strings.Right(str21, str21.Length - length);
            str23 = Strings.Left(str21, 2);
            str21 = Strings.Right(str21, str21.Length - 2);
            str3 = Strings.Left(str21, 2);
            str21 = Strings.Right(str21, str21.Length - 2);
            str = this.p(str3);
            str6 = Strings.Mid(str, 1, 2);
            str5 = Strings.Mid(str, 3, 2);
            str4 = Strings.Mid(str, 5, 2);
            if (!((str6 == "00") | ((str6 + str5) == "1111")))
            {
                return flag2;
            }
            if (str6 == "00")
            {
                if (Strings.Mid(str5, 1, 1) == "1")
                {
                    return false;
                }
                switch (str4)
                {
                    case "00":
                        num8 = 7;
                        goto Label_04B5;

                    case "01":
                        num8 = 8;
                        goto Label_04B5;

                    case "10":
                        num8 = 0x10;
                        break;

                    case "11":
                        return false;
                }
            }
        Label_04B5:
            if (str6 == "11")
            {
                if (Strings.Mid(str4, 1, 1) == "1")
                {
                    return false;
                }
                switch (Strings.Mid(str4, 2, 1))
                {
                    case "0":
                        num8 = 7;
                        break;

                    case "1":
                        num8 = 8;
                        break;
                }
            }
            if (((num8 != 7) & (num8 != 8)) & (num8 != 0x10))
            {
                return false;
            }
            str25 = this.b(Strings.Left(str21, 14));
            str40 = Strings.Mid(str25, 1, 2);
            str15 = Strings.Mid(str25, 3, 2);
            str8 = Strings.Mid(str25, 5, 2);
            str13 = Strings.Mid(str25, 7, 2);
            str17 = Strings.Mid(str25, 9, 2);
            str28 = Strings.Mid(str25, 11, 2);
            str36 = Strings.Mid(str25, 13, 2);
            DateTime time2 = DateAndTime.DateSerial(Conversions.ToInteger("20" + str40), Conversions.ToInteger(str15), Conversions.ToInteger(str8));
            time2 = DateAndTime.DateAdd(DateInterval.Second, (double) (((Conversions.ToLong(str13) * 0xe10L) + (Conversions.ToLong(str17) * 60L)) + Conversions.ToLong(str28)), time2);
            if (Strings.Mid(this.p(Strings.Mid(str25, 13, 2)), 1, 1) == "0")
            {
                try
                {
                    num13 = Conversions.ToLong(str36) * 15L;
                }
                catch (Exception exception1)
                {
                    ProjectData.SetProjectError(exception1);
                    Exception exception = exception1;
                    num13 = 0L;
                    ProjectData.ClearProjectError();
                }
                str11 = "+";
                num = (int) num13;
            }
            else
            {
                try
                {
                    num13 = Conversions.ToLong(this.a("0" + Strings.Mid(this.p(str36), 2, 7), 2)) * 15L;
                }
                catch (Exception exception8)
                {
                    ProjectData.SetProjectError(exception8);
                    Exception exception2 = exception8;
                    num13 = 0L;
                    ProjectData.ClearProjectError();
                }
                str11 = "-";
                num = 0 - ((int) num13);
            }
            str34 = Conversion.Int((double) (((double) num13) / 60.0)).ToString();
            str35 = (num13 % 60L).ToString();
            if (str34.Length < 2)
            {
                str34 = "0" + str34;
            }
            if (str35.Length < 2)
            {
                str35 = "0" + str35;
            }
            if ((str34 == "00") & (str35 == "00"))
            {
                str11 = "GMT";
            }
            else
            {
                str11 = str11 + str34 + ":" + str35;
            }
            str24 = DateAndTime.WeekdayName(DateAndTime.Weekday(time2, FirstDayOfWeek.Sunday), true, FirstDayOfWeek.System) + ", " + str8 + " " + DateAndTime.MonthName(Conversions.ToInteger(str15), true) + " 20" + str40 + " " + str13 + ":" + str17 + ":" + str28 + " " + str11;
            str21 = Strings.Right(str21, str21.Length - 14);
            int num16 = (int) this.m(Strings.Left(str21, 2));
            str21 = Strings.Right(str21, str21.Length - 2);
            int num12 = 1;
            int num11 = 1;
            int num10 = 0;
            if (str38 == "1")
            {
                str22 = Strings.Mid(str21, 1, 12);
                if (Strings.Mid(str22, 1, 6) != "050003")
                {
                    if (A_1)
                    {
                        str30 = this.a("AT+CMGD=" + num6.ToString() + "\r");
                    }
                    return flag2;
                }
                str21 = Strings.Mid(str21, 13, str21.Length - 12);
                num10 = (int) this.m(Strings.Mid(str22, 7, 2));
                num12 = (int) this.m(Strings.Mid(str22, 9, 2));
                num11 = (int) this.m(Strings.Mid(str22, 11, 2));
                switch (num8)
                {
                    case 7:
                        num17 = num16 - 7;
                        goto Label_0905;

                    case 8:
                    case 0x10:
                        num17 = num16 - 6;
                        goto Label_0905;

                    case 9:
                    case 10:
                    case 11:
                    case 12:
                    case 13:
                    case 14:
                    case 15:
                        goto Label_0905;
                }
            }
            else
            {
                num17 = num16;
            }
        Label_0905:
            if (num8 == 0x10)
            {
                num17 = (int) Math.Round((double) (((double) num17) / 2.0));
            }
            str37 = this.a(str21, num8, str38, ref num17);
            if (str37.Length > num17)
            {
                str37 = Strings.Left(str37, num17);
            }
            this.c.a(num6, 0, str19, str37, time2, str24, num, str20, num10, num12, num11);
            return true;
        Label_096E:
            if (str18 == "10")
            {
                if (Strings.Mid(str2, 3, 1) == "1")
                {
                    throw new Exception();
                }
                num7 = (int) this.m(Strings.Left(str21, 2));
                str21 = Strings.Right(str21, str21.Length - 2);
                length = (int) this.m(Strings.Left(str21, 2));
                if ((length % 2) != 0)
                {
                    length++;
                }
                str21 = Strings.Right(str21, str21.Length - 2);
                str31 = Strings.Left(str21, 2);
                str21 = Strings.Right(str21, str21.Length - 2);
                str19 = Strings.Left(str21, length);
                if (str31 == "D0")
                {
                    str19 = this.a(str19, 7, "0", ref length);
                }
                else
                {
                    str19 = this.b(str19);
                    if (Strings.UCase(Strings.Right(str19, 1)) == "F")
                    {
                        str19 = Strings.Left(str19, str19.Length - 1);
                    }
                }
                if (str31 == "91")
                {
                    str19 = "+" + str19;
                }
                str21 = Strings.Right(str21, str21.Length - length);
                str25 = this.b(Strings.Left(str21, 14));
                str40 = Strings.Mid(str25, 1, 2);
                str15 = Strings.Mid(str25, 3, 2);
                str8 = Strings.Mid(str25, 5, 2);
                str13 = Strings.Mid(str25, 7, 2);
                str17 = Strings.Mid(str25, 9, 2);
                str28 = Strings.Mid(str25, 11, 2);
                str36 = Strings.Mid(str25, 13, 2);
                time2 = DateAndTime.DateSerial(Conversions.ToInteger("20" + str40), Conversions.ToInteger(str15), Conversions.ToInteger(str8));
                time2 = DateAndTime.DateAdd("s", (double) (((Conversions.ToLong(str13) * 0xe10L) + (Conversions.ToLong(str17) * 60L)) + Conversions.ToLong(str28)), time2);
                if (Strings.Mid(this.p(str36), 1, 1) == "0")
                {
                    try
                    {
                        num15 = Conversions.ToLong(str36) * 15L;
                    }
                    catch (Exception exception9)
                    {
                        ProjectData.SetProjectError(exception9);
                        Exception exception3 = exception9;
                        num15 = 0L;
                        ProjectData.ClearProjectError();
                    }
                    num3 = (int) num15;
                }
                else
                {
                    try
                    {
                        num15 = Conversions.ToLong(this.a("0" + Strings.Mid(this.p(str36), 2, 7), 2)) * 15L;
                    }
                    catch (Exception exception10)
                    {
                        ProjectData.SetProjectError(exception10);
                        Exception exception4 = exception10;
                        num15 = 0L;
                        ProjectData.ClearProjectError();
                    }
                    num3 = 0 - ((int) num15);
                }
                str21 = Strings.Right(str21, str21.Length - 14);
                str9 = this.b(Strings.Left(str21, 14));
                str39 = Strings.Mid(str9, 1, 2);
                str14 = Strings.Mid(str9, 3, 2);
                str7 = Strings.Mid(str9, 5, 2);
                str12 = Strings.Mid(str9, 7, 2);
                str16 = Strings.Mid(str9, 9, 2);
                str27 = Strings.Mid(str9, 11, 2);
                str33 = Strings.Mid(str9, 13, 2);
                dateValue = DateAndTime.DateSerial(Conversions.ToInteger("20" + str39), Conversions.ToInteger(str14), Conversions.ToInteger(str7));
                dateValue = DateAndTime.DateAdd("s", (double) (((Conversions.ToLong(str12) * 0xe10L) + (Conversions.ToLong(str16) * 60L)) + Conversions.ToLong(str27)), dateValue);
                if (Strings.Mid(this.p(str33), 1, 1) == "0")
                {
                    try
                    {
                        num14 = Conversions.ToLong(str33) * 15L;
                    }
                    catch (Exception exception11)
                    {
                        ProjectData.SetProjectError(exception11);
                        Exception exception5 = exception11;
                        num14 = 0L;
                        ProjectData.ClearProjectError();
                    }
                    num2 = (int) num14;
                }
                else
                {
                    try
                    {
                        num14 = Conversions.ToLong(this.a("0" + Strings.Mid(this.p(str33), 2, 7), 2)) * 15L;
                    }
                    catch (Exception exception12)
                    {
                        ProjectData.SetProjectError(exception12);
                        Exception exception6 = exception12;
                        num14 = 0L;
                        ProjectData.ClearProjectError();
                    }
                    num2 = 0 - ((int) num14);
                }
                str29 = Strings.Left(Strings.Right(str21, str21.Length - 14), 2);
                if ((str29 == "00") | (str29 == "01"))
                {
                    flag = true;
                }
                else
                {
                    flag = false;
                }
                if ((((((str29 != "20") & (str29 != "21")) & (str29 != "22")) & (str29 != "23")) & (str29 != "24")) & (str29 != "25"))
                {
                    NewDeliveryReportEventArgs item = new NewDeliveryReportEventArgs(num7, str19, flag, dateValue, num2, time2, num3);
                    this.k.g.Add(item, num6.ToString(), null, null);
                    Thread thread = new Thread(new ThreadStart(this.d));
                    thread.Name = "CDSThread";
                    thread.Priority = ThreadPriority.Highest;
                    thread.Start();
                }
                str30 = this.a("AT+CMGD=" + num6.ToString() + "\r");
                return true;
            }
            if (A_1)
            {
                str30 = this.a("AT+CMGD=" + num6.ToString() + "\r");
            }
            flag2 = true;
        }
        catch (Exception exception13)
        {
            ProjectData.SetProjectError(exception13);
            Exception exception7 = exception13;
            this.a.b("[GSM:ReadPDU:1] " + exception7.Message);
            flag2 = false;
            ProjectData.ClearProjectError();
        }
        return flag2;
    }

    internal string a(string A_0, ref int A_1)
    {
        bool flag = false;
        string str2 = "";
        string str = A_0;
        try
        {
            if (A_0.Length <= 0)
            {
      

⌨️ 快捷键说明

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