コード例 #1
0
        private static void Plc2Dec(FunctionEventArgs e)
        {
            var zahl    = e.Parameters[0].ToString();
            var plcZahl = new Uint(zahl);

            e.ReturnValue.SetValue((int)plcZahl.GetDec());
        }
コード例 #2
0
        private void OpenView(FunctionEventArgs <object> obj)
        {
            var item = obj.Info as SideMenuItem;

            if (obj.Info is SideMenuItem)
            {
                switch (item.Header)
                {
                case "Add User":
                    MainWindow.main.ChangeContent(new AddView());
                    break;

                case "Edit User":
                    MainWindow.main.ChangeContent(new EditView());
                    break;

                case "View Data":
                    MainWindow.main.ChangeContent(new GetView());

                    break;

                case "Delete User":
                    MainWindow.main.ChangeContent(new EditView());

                    break;
                }
            }
        }
コード例 #3
0
        private static void BitmusterTesten(FunctionEventArgs e)
        {
            var bitMuster = e.Parameters[0].ToInteger();
            var bitMaske  = e.Parameters[1].ToInteger();
            var timeout   = new ZeitDauer(e.Parameters[2].ToString());
            var kommentar = e.Parameters[3].ToString();

            var stopwatch = new Stopwatch();

            stopwatch.Start();

            while (stopwatch.ElapsedMilliseconds < timeout.DauerMs)
            {
                Thread.Sleep(10);

                var digitalOutput = GetDigitalOutputWord();

                if ((digitalOutput & (short)bitMaske) == (short)bitMuster)
                {
                    DataGridAnzeigeUpdaten(AutoTester.TestErgebnis.Erfolgreich, (uint)bitMuster, kommentar);
                    return;
                }

                DataGridAnzeigeUpdaten(AutoTester.TestErgebnis.Aktiv, (uint)bitMuster, kommentar);
            }

            DataGridAnzeigeUpdaten(AutoTester.TestErgebnis.Timeout, (uint)bitMuster, kommentar);
        }
コード例 #4
0
        private void Eval_EvaluateFunction(object sender, FunctionEventArgs e)
        {
            switch (e.Name.ToUpper())
            {
            case "ADD":
                if (e.Parameters.Length == 2)
                {
                    e.Parameters[0].Add(e.Parameters[1]);
                    e.Result.SetValue(e.Parameters[0]);
                }
                else
                {
                    e.Status = FunctionStatus.WrongParameterCount;
                }
                break;

            case "MULTIPLY":
                if (e.Parameters.Length == 2)
                {
                    e.Parameters[0].Multiply(e.Parameters[1]);
                    e.Result.SetValue(e.Parameters[0]);
                }
                else
                {
                    e.Status = FunctionStatus.WrongParameterCount;
                }
                break;

            default:
                e.Status = FunctionStatus.UndefinedFunction;
                break;
            }
        }
        private static void KommentarAnzeigen(FunctionEventArgs e)
        {
            var kommentar = e.Parameters[0].ToString();

            AutoTesterWindow.DataGridId++;
            DataGridAnzeigeUpdaten(AutoTester.TestErgebnis.Kommentar, 0, kommentar);
        }
コード例 #6
0
 private void Controller_MuteGroupButtonEvent(object sender, FunctionEventArgs e)
 {
     if (e.IsPress)
     {
         _mixer.ToggleMuteGroup(e.FunctionButton);
         SetControllerMuteButtonsForCurrentLayer();
     }
 }
コード例 #7
0
 void _areaMapComponent_FunctionCalled(object sender, FunctionEventArgs data)
 {
     switch (data.FunctionName)
     {
     case "RefreshSelection":
         RefreshSelection();
         break;
     }
 }
コード例 #8
0
 private void Runtime_Function(object?sender, FunctionEventArgs e)
 {
     if (FunctionLookup.TryGetValue(e.Name, out Action <Variable[], Variable>?action))
     {
         action(e.Parameters, e.ReturnValue);
     }
     else
     {
         Debug.Assert(false);    // Unknown function
     }
 }
コード例 #9
0
ファイル: RunProgram.cs プロジェクト: battyone/Silk
 private void Runtime_Function(object sender, FunctionEventArgs e)
 {
     if (FunctionLookup.TryGetValue(e.Name, out FunctionInfo functionInfo))
     {
         functionInfo.Handler(e.Parameters, e.ReturnValue);
     }
     else
     {
         Debug.Assert(false);    // Unknown function
     }
 }
コード例 #10
0
 private void Screenshot_Snapped(object sender, FunctionEventArgs <ImageSource> e)
 {
     new HandyControl.Controls.Window
     {
         Content = new Image
         {
             Source  = e.Info,
             Stretch = Stretch.None
         },
         WindowStartupLocation = WindowStartupLocation.CenterScreen
     }.ShowDialog();
 }
コード例 #11
0
        private void SearchBarControl_OnSearchStarted(object sender, FunctionEventArgs <string> e)
        {
            if (e.Info == null)
            {
                return;
            }

            foreach (var listBoxItem in listControl.Items.OfType <ListBoxItem>())
            {
                listBoxItem.Show(listBoxItem.Content.ToString().ToLower().Contains(e.Info.ToLower()));
            }
        }
コード例 #12
0
        private void SearchBar_OnSearchStarted(object?sender, FunctionEventArgs <string> e)
        {
            SearchService searchService = new SearchService();
            var           files         = searchService.GetSearchFile(e.Info);

            if (files.Count > 0)
            {
                MessageBox.Show(files[0].FullName);
            }
            MessageBox.Show(searchService.GetVersion() + "");
            MessageBox.Show(searchService.GetBuildNumber() + "");
        }
コード例 #13
0
        internal void OnFunction(string name, Variable[] parameters, Variable returnValue)
        {
            FunctionEventArgs e = new FunctionEventArgs
            {
                Name        = name,
                ReturnValue = returnValue,
                Parameters  = parameters,
                UserData    = UserData,
            };

            Function?.Invoke(this, e);
            UserData = e.UserData;
        }
コード例 #14
0
 private void SearchBar_OnSearchStarted(object sender, FunctionEventArgs <string> e)
 {
     if (e.Info == null)
     {
         return;
     }
     if (!(sender is FrameworkElement searchBar && searchBar.Tag is ListBox listBox))
     {
         return;
     }
     foreach (var listBoxItem in listBox.Items.OfType <ListBoxItem>())
     {
         listBoxItem.Show(listBoxItem.Content.ToString().ToLower().Contains(e.Info.ToLower()) ||
                          listBoxItem.Tag.ToString().Replace("DemoCtl", "").ToLower().Contains(e.Info.ToLower()));
     }
 }
コード例 #15
0
 // Search
 private void SearchBar_OnSearchStarted(object sender, FunctionEventArgs <string> e)
 {
     if (e.Info == null)
     {
         return;
     }
     if (!(sender is FrameworkElement searchBar && searchBar.Tag is ListBox listBox))
     {
         return;
     }
     foreach (DemoDataModel item in listBox.Items)
     {
         ListBoxItem listBoxItem = listBox.ItemContainerGenerator.ContainerFromItem(item) as ListBoxItem;
         listBoxItem?.Show(item.Name.ToLower().Contains(e.Info.ToLower()));
     }
 }
コード例 #16
0
        private static void SetAnalogerEingang(FunctionEventArgs e)
        {
            var startByte   = e.Parameters[0].ToInteger();
            var analogInput = e.Parameters[1].ToInteger();
            var datenTyp    = e.Parameters[2].ToString();

            if (datenTyp != "S7 / 16 Bit / Prozent")
            {
                return;
            }

            var siemens = Simatic.Analog_2_Int16(analogInput, 100);

            Datenstruktur.AnalogInput[startByte]     = Simatic.Digital_GetLowByte((uint)siemens);
            Datenstruktur.AnalogInput[startByte + 1] = Simatic.Digital_GetHighByte((uint)siemens);
        }
コード例 #17
0
        private static void TestAblauf(FunctionEventArgs e)
        {
            var listeDigEingaenge = new List <DigEingaengeSetzen>();
            var listeDigAusgaenge = new List <DigAusgaengeTesten>();

            for (var i = 0; i < e.Parameters[0].ListCount; i++)
            {
                listeDigEingaenge.Add(new DigEingaengeSetzen(
                                          (ulong)e.Parameters[0][i][0].ToInteger(), // BitMuster
                                          e.Parameters[0][i][1].ToString(),         // ZeitDauer
                                          e.Parameters[0][i][2].ToString()));       // Kommentar
            }
            DigEingaengeSetzen.SetAktuellerSchritt(0);

            for (var i = 0; i < e.Parameters[1].ListCount; i++)
            {
                listeDigAusgaenge.Add(new DigAusgaengeTesten(
                                          (ulong)e.Parameters[1][i][0].ToInteger(), // Bitmuster
                                          (ulong)e.Parameters[1][i][1].ToInteger(), // Bitmaske
                                          e.Parameters[1][i][2].ToString(),         // Dauer
                                          e.Parameters[1][i][3].ToFloat(),          // Toleranz
                                          e.Parameters[1][i][4].ToString(),         // TimeOut
                                          e.Parameters[1][i][5].ToString()));       // Kommentar
            }
            DigAusgaengeTesten.SetAktuellerSchritt(0);

            var gesamteTimeOutZeit = listeDigAusgaenge.Sum(test => test.GetTimeoutMs());

            var stopwatch = new Stopwatch();

            stopwatch.Start();

            while (stopwatch.ElapsedMilliseconds < gesamteTimeOutZeit)
            {
                Thread.Sleep(10);

                var testAblaufDigEingaengeFertig = FunktionDigEingaenge(listeDigEingaenge, stopwatch);
                var testAblaufDigAusgaengeFertig = FunktionDigAusgaenge(listeDigAusgaenge, stopwatch);

                if (testAblaufDigEingaengeFertig && testAblaufDigAusgaengeFertig)
                {
                    return;
                }
            }
            DataGridAnzeigeUpdaten(AutoTester.TestErgebnis.Timeout, 0, "uups");
        }
        private static void UpdateAnzeige(FunctionEventArgs e)
        {
            var silkTestergebnis = e.Parameters[0].ToString();
            var silkKommentar    = e.Parameters[1].ToString();

            // ReSharper disable once ConvertSwitchStatementToSwitchExpression
            var ergebnis = silkTestergebnis switch
            {
                "Kommentar" => AutoTester.TestErgebnis.Kommentar,
                "Aktiv" => AutoTester.TestErgebnis.Aktiv,
                "Init" => AutoTester.TestErgebnis.Init,
                "Erfolgreich" => AutoTester.TestErgebnis.Erfolgreich,
                "Timeout" => AutoTester.TestErgebnis.Timeout,
                "Fehler" => AutoTester.TestErgebnis.Fehler,
                "Test abgeschlossen" => AutoTester.TestErgebnis.Kommentar,
                _ => AutoTester.TestErgebnis.UnbekanntesErgebnis
            };

            DataGridAnzeigeUpdaten(ergebnis, 0, silkKommentar);
        }
コード例 #19
0
        public static void Runtime_Function(object sender, FunctionEventArgs e)
        {
            switch (e.Name)
            {
            case "BitmusterBlinktTesten": BitmusterBlinktTesten(e); break;

            case "BitmusterTesten": BitmusterTesten(e); break;

            case "GetDigitaleAusgaenge": GetDigitaleAusgaenge(e); break;

            case "IncrementDataGridId": IncrementDataGridId(); break;

            case "KommentarAnzeigen": KommentarAnzeigen(e); break;

            case "Plc2Dec": Plc2Dec(e); break;

            case "PlcColdStart": PlcColdStart(); break;

            case "PlcGetStatus": PlcGetStatus(); break;

            case "PlcHotStart": PlcHotStart(); break;

            case "ResetStopwatch": ResetStopwatch(); break;

            case "SetAnalogerEingang": SetAnalogerEingang(e); break;

            case "SetDataGridBitAnzahl": SetDataGridBitAnzahl(); break;     // Anzeige mit 16 bit

            case "SetDiagrammZeitbereich": SetDiagrammZeitbereich(e); break;

            case "SetDigitaleEingaenge": SetDigitaleEingaenge(e); break;

            case "Sleep": Sleep(e); break;

            case "TestAblauf": TestAblauf(e); break;

            case "UpdateAnzeige": UpdateAnzeige(e); break;

            case "VersionAnzeigen": VersionAnzeigen(); break;
            }
        }
コード例 #20
0
        private void _midiController_UserLayerEdit(object sender, FunctionEventArgs e)
        {
            _mixer.UserLayerEdit = e.IsPress;
            _settings.Controller.SetLed(ButtonsEnum.User, e.IsPress);

            if (e.IsPress)
            {
                if (_mixer.UserLayerEdit && _selectedChannel != 54)
                {
                    //Go to user layer if necessary
                    if (_mixer.goToUserBank())
                    {
                        SetControllerToCurrentLayerAndSend();
                        _settings.Controller.WriteTextToAssignmentDisplay(_mixer.getCurrentLayerString());
                    }
                    //Set Select to First channel if necessary
                    bool isOnLayer = _mixer.getCurrentLayer().Where(x => x == _selectedChannel).Count() > 0;
                    if (!isOnLayer)
                    {
                        if (_selectedChannel != -1)
                        {
                            _mixerChannels[_selectedChannel].IsSelected = false;
                        }
                        _selectedChannel = _mixer.getCurrentLayer().FirstOrDefault();
                        _mixerChannels[_selectedChannel].IsSelected = true;
                        _settings.Controller.SetSelectLed(0, true);
                        _client.Send(_mixerChannels[_selectedChannel].SelectChannelMessage(_settings.SyncID));
                    }
                    _mixer.UserLayerEditNewChannel = _selectedChannel;
                }
            }
            else
            {
                int controllerPos = Array.IndexOf(_mixer.getCurrentLayer(), _selectedChannel);
                _mixer.setNewUserChannelInCurrentBank(controllerPos);
                _settings.Controller.WriteTextToChannelLCDSecondLine(controllerPos, "");
                SetControllerChannelToCurrentLayerAndSend(_mixer.UserLayerEditNewChannel, controllerPos);
            }
        }
コード例 #21
0
        private void SName_SearchStarted(object sender, FunctionEventArgs <string> e)
        {
            string name = SName.Text;

            if (string.IsNullOrEmpty(name) || name == "")
            {
                Growl.Warning(new GrowlInfo
                {
                    Message           = "请输入内容",
                    WaitTime          = 3,
                    ActionBeforeClose = isConfirmed =>
                    {
                        Growl.Info(isConfirmed.ToString());
                        return(true);
                    },
                    Token = "SuccessMsg"
                });
                return;
            }
            d = Dialog.Show <ProgressDialog>();
            new Task(() => { Red(name); }).Start();
        }
コード例 #22
0
 private void Controller_FXButtonEvent(object sender, FunctionEventArgs e)
 {
     if (_settings.AuxButtonBehavior == BridgeSettings.AuxButtonBehaviorEnum.Release)
     {
         if (e.IsPress)
         {
             _selectedLayout = e.FunctionButton.ToFx();
             _settings.Controller.SetLed(_selectedLayout.ToButtonsEnum(), true);
             _settings.Controller.WriteTextToBarsDisplay("FX" + (_selectedLayout.FxToInt() + 1).ToString());
         }
         else
         {
             _settings.Controller.SetLed(_selectedLayout.ToButtonsEnum(), false);
             _selectedLayout = SelectedLayoutEnum.Channels;
             _settings.Controller.WriteTextToBarsDisplay("   ");
         }
     }
     else
     {
         if (e.IsPress)
         {
             if (_selectedLayout == e.FunctionButton.ToFx())
             {
                 _settings.Controller.SetLed(_selectedLayout.ToButtonsEnum(), false);
                 _selectedLayout = SelectedLayoutEnum.Channels;
                 _settings.Controller.WriteTextToBarsDisplay("   ");
             }
             else
             {
                 _settings.Controller.SetLed(_selectedLayout.ToButtonsEnum(), false);
                 _selectedLayout = e.FunctionButton.ToFx();
                 _settings.Controller.SetLed(_selectedLayout.ToButtonsEnum(), true);
                 _settings.Controller.WriteTextToBarsDisplay("FX" + (_selectedLayout.FxToInt() + 1).ToString());
             }
         }
     }
     SetControllerToCurrentLayerAndSend();
 }
コード例 #23
0
 private void SearchBar_OnSearchStarted(object sender, FunctionEventArgs <string> e)
 {
     _searchKey = e.Info;
     if (string.IsNullOrEmpty(_searchKey))
     {
         foreach (var item in ViewModelLocator.Instance.Main.DemoInfoCurrent.DemoItemList)
         {
             item.IsVisible = true;
         }
     }
     else
     {
         var key = _searchKey.ToLower();
         foreach (var item in ViewModelLocator.Instance.Main.DemoInfoCurrent.DemoItemList)
         {
             if (item.Name.ToLower().Contains(key))
             {
                 item.IsVisible = true;
             }
             else if (item.TargetCtlName.Replace("DemoCtl", "").ToLower().Contains(key))
             {
                 item.IsVisible = true;
             }
             else
             {
                 var name = Properties.Langs.LangProvider.GetLang(item.Name);
                 if (!string.IsNullOrEmpty(name) && name.ToLower().Contains(key))
                 {
                     item.IsVisible = true;
                 }
                 else
                 {
                     item.IsVisible = false;
                 }
             }
         }
     }
 }
コード例 #24
0
ファイル: MineViewModel.cs プロジェクト: shibc-heart/HY_hub
        /// <summary>
        /// 页码改变
        /// </summary>
        private async void PageUpdated(FunctionEventArgs <int> info)
        {
            if (PageCount < 1)
            {
                return;
            }
            try
            {
                DisplayMetro  = Visibility.Visible;
                GridModelList = new System.Collections.ObjectModel.ObservableCollection <UserGamesEntity>();
                IUser user     = BridgeFactory.BridgeManager.GetUserManager();
                var   genrator = await user.GetUserGames(SearchText, info.Info, 4);

                if (genrator.code.Equals("000"))
                {
                    var Results = JsonConvert.DeserializeObject <List <UserGamesEntity> >(genrator.result.ToString());
                    foreach (var item in Results)
                    {
                        var GameRoute = CommonsCall.ReadUserGameInfo(item.gameId.ToString());
                        if (!string.IsNullOrEmpty(GameRoute.Key))
                        {
                            item.StrupPath = GameRoute.Key;
                            item.gameName  = GameRoute.remarks;
                        }
                    }
                    Results.OrderBy(s => s.id).ToList().ForEach((ary) => GridModelList.Add(ary));
                }
            }
            catch (Exception ex)
            {
                Msg.Error(ex);
            }
            finally
            {
                DisplayMetro = Visibility.Collapsed;
            }
        }
コード例 #25
0
 protected virtual void OnValueChanged(FunctionEventArgs <double> e) => RaiseEvent(e);
コード例 #26
0
 // Implement expression functions
 protected void ProcessFunction(object sender, FunctionEventArgs e)
 {
     if (String.Compare(e.Name, "abs", true) == 0)
     {
         if (e.Parameters.Count == 1)
         {
             e.Result = Math.Abs(e.Parameters[0]);
         }
         else
         {
             e.Status = FunctionStatus.WrongParameterCount;
         }
     }
     else if (String.Compare(e.Name, "pow", true) == 0)
     {
         if (e.Parameters.Count == 2)
         {
             e.Result = Math.Pow(e.Parameters[0], e.Parameters[1]);
         }
         else
         {
             e.Status = FunctionStatus.WrongParameterCount;
         }
     }
     else if (String.Compare(e.Name, "round", true) == 0)
     {
         if (e.Parameters.Count == 1)
         {
             e.Result = Math.Round(e.Parameters[0]);
         }
         else
         {
             e.Status = FunctionStatus.WrongParameterCount;
         }
     }
     else if (String.Compare(e.Name, "sqrt", true) == 0)
     {
         if (e.Parameters.Count == 1)
         {
             e.Result = Math.Sqrt(e.Parameters[0]);
         }
         else
         {
             e.Status = FunctionStatus.WrongParameterCount;
         }
     }
     else if (String.Compare(e.Name, "ifbig", true) == 0)
     {
         if (e.Parameters.Count == 4)
         {
             if (e.Parameters[0] > e.Parameters[1])
             {
                 e.Result = e.Parameters[2];
             }
             else
             {
                 e.Result = e.Parameters[3];
             }
         }
         else
         {
             e.Status = FunctionStatus.WrongParameterCount;
         }
     }
     else if (String.Compare(e.Name, "getmax", true) == 0)
     {
         if (e.Parameters.Count == 2)
         {
             if (e.Parameters[0] >= e.Parameters[1])
             {
                 e.Result = e.Parameters[0];
             }
             else
             {
                 e.Result = e.Parameters[1];
             }
         }
         else
         {
             e.Status = FunctionStatus.WrongParameterCount;
         }
     }
     else if (String.Compare(e.Name, "getmin", true) == 0)
     {
         if (e.Parameters.Count == 2)
         {
             if (e.Parameters[0] <= e.Parameters[1])
             {
                 e.Result = e.Parameters[0];
             }
             else
             {
                 e.Result = e.Parameters[1];
             }
         }
         else
         {
             e.Status = FunctionStatus.WrongParameterCount;
         }
     }
     // Unknown function name
     else
     {
         e.Status = FunctionStatus.UndefinedFunction;
     }
 }
コード例 #27
0
 private void SearchBar_OnSearchStarted(object sender, FunctionEventArgs <string> e)
 {
     _searchKey = e.Info;
     FilterItems();
 }
コード例 #28
0
ファイル: Settings.xaml.cs プロジェクト: shirok1/epide
 private void NudFontSize_OnValueChanged(object sender, FunctionEventArgs <double> e)
 {
     MainDataBox.FontSize = (short)NudFontSize.Value;
     // MainDataBox.CodeBox.FontSize = MainDataBox.FontSize;
 }
コード例 #29
0
ファイル: Settings.xaml.cs プロジェクト: shirok1/epide
 private void NudTabWidth_OnValueChanged(object sender, FunctionEventArgs <double> e)
 {
     MainDataBox.TabWidth = (short)NudTabWidth.Value;
 }
コード例 #30
0
 private void ColorPicker_SelectedColorChanged(object sender, FunctionEventArgs <System.Windows.Media.Color> e)
 {
     MessageBox.Show("You choose color: " + colorPicker.SelectedBrush.ToString());
 }