📄 f.cs
字号:
catch (InvalidOperationException exception5)
{
ProjectData.SetProjectError(exception5);
InvalidOperationException exception2 = exception5;
this.cr = false;
this.cu = false;
this.br = "Read message command error (Port not open). " + exception2.Message;
this.bs = 0x138fL;
this.aj();
flag2 = false;
ProjectData.ClearProjectError();
return flag2;
}
catch (TimeoutException exception6)
{
ProjectData.SetProjectError(exception6);
TimeoutException exception3 = exception6;
this.cr = false;
this.cu = false;
this.br = "Read message command error (Timeout). " + exception3.Message;
this.bs = 0x1390L;
this.aj();
flag2 = false;
ProjectData.ClearProjectError();
return flag2;
}
Label_0323:
Thread.Sleep((int) Math.Round((double) (((double) this.ar) / 2.0)));
strA = strA + this.p();
if ((((strA.Length > 0) & (string.Compare(strA, text, true) != 0)) & !strA.ToUpper().Contains("ERROR")) & strA.ToUpper().Contains("OK"))
{
flag = true;
goto Label_03DD;
}
if (strA.ToUpper().Contains("ERROR"))
{
goto Label_03DD;
}
Application.DoEvents();
Label_03B0:
if (!flag & (DateAndTime.DateDiff(DateInterval.Second, now, DateAndTime.Now, FirstDayOfWeek.Sunday, FirstWeekOfYear.Jan1) < (((double) this.ak) / 1000.0)))
{
goto Label_0323;
}
Label_03DD:
this.cr = false;
this.cu = false;
this.a.b("Recv: " + strA);
if (!flag)
{
this.bt = "Invalid response to read message command";
this.bu = 0x1391L;
if (strA.Trim().Length <= 0)
{
this.aj();
}
return false;
}
strA = Strings.Replace(strA, text, "", 1, -1, CompareMethod.Binary);
strA = this.a(strA, true, false, false);
if (strA.Length > 0)
{
strA = strA.Trim(trimChars);
}
if (strA.Length > 0)
{
string[] strArray = Strings.Split(strA.ToUpper(), "+CMGL:", -1, CompareMethod.Binary);
int upperBound = strArray.GetUpperBound(0);
for (int j = 0; j <= upperBound; j++)
{
if (strArray[j].Trim().Length > 0)
{
this.a(strArray[j].Trim(), A_1);
}
Application.DoEvents();
}
}
}
this.a.b("Processing incoming messages [" + this.cn.Count.ToString() + " Msgs]");
this.ao();
flag2 = true;
}
catch (Exception exception7)
{
ProjectData.SetProjectError(exception7);
Exception exception4 = exception7;
this.a.b("[GSM:ReadInbox:1] " + exception4.Message);
flag2 = false;
ProjectData.ClearProjectError();
}
this.cr = false;
this.cu = false;
return flag2;
}
private string a(int A_0, int A_1)
{
string str;
int num = 2;
string str4 = "";
string str5 = "";
string str3 = "1";
bool flag = false;
string str2 = "";
try
{
int num2;
if (((A_1 != 7) & (A_1 != 8)) & (A_1 != 0x10))
{
return "";
}
if (A_0 < 0)
{
flag = true;
A_0 = 0 - A_0;
}
do
{
str4 = str5 + str4;
num2 = Conversion.Int((int) (A_0 / num));
str5 = (A_0 % num).ToString();
A_0 = num2;
}
while (num2 > 1);
str = num2.ToString() + str5 + str4;
if (flag)
{
while ((str.Length % 4) != 0)
{
str = "0" + str;
}
str2 = str;
int length = str.Length;
for (int i = 1; i <= length; i++)
{
if (Strings.Mid(str, i, 1) == "0")
{
str2 = str2 + "1";
}
else
{
str2 = str2 + "0";
}
}
str = "";
for (int j = str2.Length; j >= 1; j += -1)
{
if (str3 == "0")
{
str = Strings.Mid(str2, j, 1) + str;
}
else if (Strings.Mid(str2, j, 1) == "0")
{
str = "1" + str;
str3 = "0";
}
else
{
str = "0" + str;
}
}
}
switch (A_1)
{
case 7:
return Strings.Right("0000000" + str, 7);
case 8:
return Strings.Right("00000000" + str, 8);
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
return str;
case 0x10:
return Strings.Right("0000000000000000" + str, 0x10);
}
}
catch (Exception exception1)
{
ProjectData.SetProjectError(exception1);
Exception exception = exception1;
this.a.b("[GSM:Biner:1] " + exception.Message);
str = "";
ProjectData.ClearProjectError();
}
return str;
}
internal bool a(int A_0, string A_1)
{
bool flag;
string text = "";
string str2 = "";
bool flag2 = false;
this.bv = "";
this.bw = 0L;
bool flag4 = false;
this.a.b("Deleting message " + A_0.ToString() + " [Memory Loc: " + A_1 + "]");
if (!this.av)
{
this.i(this.aw);
}
if (!this.a9 | (this.a5 != "READY"))
{
this.a.b("Verifying network registration status");
if (!this.ai())
{
if (this.z == 0L)
{
this.bv = this.ba;
this.bw = this.bb;
}
return false;
}
}
if (!this.bj)
{
this.a.b("Verifying PDU support in modem");
if (!this.au())
{
if (this.z == 0L)
{
this.bv = "Cannot check PDU mode support";
this.bw = 0x1776L;
}
return false;
}
}
if (!this.bk)
{
if (this.z == 0L)
{
this.bv = "Modem does not support PDU mode";
this.bw = 0x1777L;
}
return false;
}
string[] array = Strings.Split(A_1, ",", -1, CompareMethod.Binary);
int num2 = Information.UBound(array, 1);
for (int i = 0; i <= num2; i++)
{
DateTime now;
if (!this.r().IsOpen)
{
this.u();
}
if (!this.r().IsOpen | (this.z != 0L))
{
this.bv = "Cannot connect to modem for deleting message";
this.bw = 0x1778L;
return false;
}
str2 = "";
text = "AT+CMGD=" + array[i].ToString() + "\r";
bool flag3 = false;
try
{
this.cr = true;
if (Monitor.TryEnter(this.l, this.@as))
{
try
{
this.k.a = "";
}
catch (Exception exception1)
{
ProjectData.SetProjectError(exception1);
Exception exception = exception1;
ProjectData.ClearProjectError();
}
finally
{
Monitor.Exit(this.l);
}
}
else
{
this.cr = false;
this.bv = "Thread monitor enter attempt timeout [GSM:DeleteMessage:A]";
this.bw = 0x2333L;
this.aj();
return false;
}
this.r().Write(text);
now = DateTime.Now;
this.a.b("Modem Command: " + text);
goto Label_0383;
}
catch (InvalidOperationException exception4)
{
ProjectData.SetProjectError(exception4);
InvalidOperationException exception2 = exception4;
this.cr = false;
this.bv = "Delete message command error (Port not open). " + exception2.Message;
this.bw = 0x1779L;
this.aj();
flag4 = false;
ProjectData.ClearProjectError();
return flag4;
}
catch (TimeoutException exception5)
{
ProjectData.SetProjectError(exception5);
TimeoutException exception3 = exception5;
this.cr = false;
this.bv = "Delete message command error (Timeout). " + exception3.Message;
this.bw = 0x177aL;
this.aj();
flag4 = false;
ProjectData.ClearProjectError();
return flag4;
}
Label_030E:
Thread.Sleep((int) Math.Round((double) (((double) this.ar) / 2.0)));
str2 = this.p();
if (((str2.Length > 0) & str2.ToUpper().Contains("OK")) & !str2.ToUpper().Contains("ERROR"))
{
flag3 = true;
goto Label_03B0;
}
if (str2.ToUpper().Contains("ERROR"))
{
goto Label_03B0;
}
Application.DoEvents();
Label_0383:
if (!flag3 & (DateAndTime.DateDiff(DateInterval.Second, now, DateTime.Now, FirstDayOfWeek.Sunday, FirstWeekOfYear.Jan1) < (((double) this.ak) / 1000.0)))
{
goto Label_030E;
}
Label_03B0:
this.cr = false;
if (!flag3)
{
this.a.b("Modem Response: " + str2);
this.bv = "Invalid response to delete message command";
this.bw = 0x177bL;
if (str2.Trim().Length <= 0)
{
this.aj();
}
return false;
}
flag2 = true;
if (i == array.GetUpperBound(0))
{
flag = true;
}
this.cn.Remove(array[i]);
}
if (flag2)
{
this.co.Remove(A_0.ToString());
}
if (flag)
{
flag4 = true;
}
this.cr = false;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -