/// <summary> /// Переключение вида калькулятора. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void mnuExtendedClick_Click(object sender, EventArgs e) { if (mnuExtendedView.Checked) { mnuExtendedView.Checked = false; mnuSystemOperation.Visible = false; _syop = SystemOp.Dec; S10(); cbsist.Text = Convert.ToString(cbsist.Items[2]); pnldop.Visible = false; pnlsit.Visible = false; tb1.Width = 180; Width = 216; Height = 330; pnlvvod.Height = 205; lbl_mem.Location = new Point(174, 55); } else { mnuExtendedView.Checked = true; mnuSystemOperation.Visible = true; pnldop.Visible = true; pnlsit.Visible = true; tb1.Width = 329; Width = 370; lbl_mem.Location = new Point(322, 55); } }
/// <exclude/> public static bool ContainsAssembly(string assemblyFullName) { if ((assemblyFullName == null) || (assemblyFullName.Length == 0)) { throw new ArgumentNullException("assemblyFullName"); } SystemOp.IAssemblyCache cache1 = null; if ((SystemOp.CreateAssemblyCache(out cache1, 0) == 0) && (cache1.QueryAssemblyInfo(0, assemblyFullName, IntPtr.Zero) == 0)) { return(true); } return(false); }
/// <exclude/> public static bool AddAssembly(string assemblyFileName) { if ((assemblyFileName == null) || (assemblyFileName.Length == 0)) { throw new ArgumentNullException("assemblyFileName"); } if (!File.Exists(assemblyFileName)) { throw new ArgumentException("assemblyFileName"); } SystemOp.IAssemblyCache cache1 = null; if ((SystemOp.CreateAssemblyCache(out cache1, 0) == 0) && (cache1.InstallAssembly(0, assemblyFileName, IntPtr.Zero) == 0)) { return(true); } return(false); }
public static (bool matched, ushort command, string?payload) ReceiveSystemStringCommand( this IPrimitiveSource src, SystemOp expectedOp) { // ArgumentNullException need a parameter name, but `src` isn't technically a parameter, and code analysis // fails if we try to pass `nameof(src)` in. Hmm. if (src is null) { throw new ArgumentException("Source on which this method was invoked is null."); } var cmd = src.ReceiveCommand(); _ = src.ReceiveUint(); // Discard length var isRightGroup = CommandUnpacking.Group(cmd) == CommandGroup.System; var isRightOp = CommandUnpacking.SystemOp(cmd) == expectedOp; var isRightCommand = isRightGroup && isRightOp; return(isRightCommand ? (true, cmd, src.ReceiveString()) : (false, default, null));
/// <exclude/> public static bool RemoveAssembly(string assemblyFullName) { uint num2; if ((assemblyFullName == null) || (assemblyFullName.Length == 0)) { throw new ArgumentNullException("assemblyFullName"); } SystemOp.IAssemblyCache cache1 = null; if (SystemOp.CreateAssemblyCache(out cache1, 0) != 0) { return(false); } if (cache1.UninstallAssembly(0, assemblyFullName, IntPtr.Zero, out num2) != 0) { return(!GacUtil.ContainsAssembly(assemblyFullName)); } return(true); }
/// <summary> /// Изменение системы счисления. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cbsist_SelectionChangeCommitted(object sender, EventArgs e) { var conv = tb1.Text; try { switch (cbsist.Text) { case "Bin (2)": tb1.Text = Convert.ToString(Calc.SSConvert(conv, _syop, SystemOp.Bin)); _syop = SystemOp.Bin; S2(); break; case "Oct (8)": tb1.Text = Convert.ToString(Calc.SSConvert(conv, _syop, SystemOp.Oct)); _syop = SystemOp.Oct; S8(); break; case "Dec (10)": tb1.Text = Convert.ToString(Calc.SSConvert(conv, _syop, SystemOp.Dec)); _syop = SystemOp.Dec; S10(); break; case "Hex (16)": tb1.Text = Convert.ToString(Calc.SSConvert(conv, _syop, SystemOp.Hex)); _syop = SystemOp.Hex; S16(); break; } } catch (Exception exc) { btnrav.Focus(); cbsist.Text = Resources.PoschitaikinMain_cbsist_SelectionChangeCommitted_Dec__10_; ErrorEvent(exc.Message); } }
/// <summary> /// Packs this <see cref="SystemOp"/> into its BapsNet representation /// </summary> /// <param name="op">The opcode to pack.</param> /// <returns> /// The bit-pattern of <see cref="op"/> in a packed BapsNet command word, /// less its group code. /// </returns> public static ushort ToWordBits(this SystemOp op) { return(Op((byte)op)); }
/// <summary> /// Работа с памятью. /// </summary> /// <param name="calc">Наш класс.</param> /// <param name="res">Результат предыдущей операции.</param> /// <param name="str">Номер ячейки памяти.</param> /// <param name="mm">Операции с мапятью.</param> /// <param name="resn">Извлекаемое из памяти значение.</param> /// <param name="syop">Текущая система счисления.</param> private static void Mem(Xryo calc, Object res, String str, MemActions mm, ref object resn, SystemOp syop) { try { var n = Convert.ToByte(str); // При работе с памятью переводим все к 10-ой системе счисления. resn = calc.SSConvert(res, syop, SystemOp.Dec); // ReSharper disable once InconsistentNaming var _res = Convert.ToDouble(resn); try { calc.Memory(mm, ref _res, n); } // Если операция была М+ или М-, а память пуста. catch { switch (mm) { case MemActions.MP: calc.Memory(MemActions.MS, ref _res, n); break; case MemActions.MM: _res = -_res; calc.Memory(MemActions.MS, ref _res, n); break; default: ErrorEvent("Ошибка памяти!"); break; } } // Если необходимо извлечь значение из памяти. if (mm == MemActions.MR) { resn = calc.SSConvert(_res, SystemOp.Dec, syop); } } catch { ErrorEvent("Ошибка памяти!"); } }
/// <exclude/> public static ICollection GetAssemblies() { ArrayList list1 = new ArrayList(); SystemOp.IAssemblyEnum enum1 = null; SystemOp.IAssemblyName name1 = null; int num1 = SystemOp.CreateAssemblyEnum(out enum1, IntPtr.Zero, null, 2, 0); while (num1 == 0) { num1 = enum1.GetNextAssembly(IntPtr.Zero, out name1, 0); if (num1 == 0) { uint num2 = 0; name1.GetDisplayName(IntPtr.Zero, ref num2, 0); if (num2 > 0) { IntPtr ptr1 = IntPtr.Zero; string text1 = null; try { ptr1 = Marshal.AllocHGlobal((int)((num2 + 1) * 2)); name1.GetDisplayName(ptr1, ref num2, 0); text1 = Marshal.PtrToStringUni(ptr1); } finally { if (ptr1 != IntPtr.Zero) { Marshal.FreeHGlobal(ptr1); } } if (text1 != null) { AssemblyName name2 = new AssemblyName(); string[] textArray1 = text1.Split(new char[] { ',' }); if (textArray1.Length >= 4) { try { name2.Name = textArray1[0]; name2.Version = new Version(textArray1[1].Substring(textArray1[1].IndexOf('=') + 1)); string text2 = textArray1[3].Substring(textArray1[3].IndexOf('=') + 1); if (!text2.Equals("null")) { byte[] buffer1 = new byte[text2.Length / 2]; for (int num3 = 0; num3 < buffer1.Length; num3++) { buffer1[num3] = byte.Parse(text2.Substring(num3 * 2, 2), NumberStyles.HexNumber); } name2.SetPublicKeyToken(buffer1); } name2.CodeBase = GacUtil.GetFusionString(name1, 13); string text3 = GacUtil.GetFusionString(name1, 8); name2.CultureInfo = new CultureInfo(text3); list1.Add(name2); continue; } catch (Exception) { continue; } } } } } } return(list1); }