예제 #1
0
        // State -> Map
        #region Map

        #endregion

        // State -> Play
        #region Play
        private void RefreshPlay(StateTable st)
        {
            labelActualState.Text   = "Actual state : ";
            labelDislpayScreen.Text = "Display screen : ";
            treeViewStatePart.Nodes[0].Nodes.Clear();
            treeViewStatePart.Nodes[1].Nodes.Clear();

            for (int i = 0; i < st.PART.Length; i++)
            {
                if (st.PART[i].mask == null || SC == null)
                {
                    break;
                }

                if (st.PART[i].mask == "SCREEN_DISPLAY")
                {
                    ScreenKey temp = ScreenKey.GetScreenKey(st.PART[i].value);
                    if (temp == null)
                    {
                        labelDislpayScreen.Text += "NOT EXIST!!!";
                        //break;
                    }
                    else
                    {
                        SC.LoadCharScreen(temp.text, false, temp.numar);
                        Refresh();
                        labelDislpayScreen.Text = "Display screen : " + temp.numar;
                    }



                    treeViewStatePart.Nodes[0].Nodes.Add(st.PART[i].value + "->" + st.PART[i].name);
                    //break;
                }
                else if (st.PART[i].mask.Contains("SCREEN_"))
                {
                    treeViewStatePart.Nodes[0].Nodes.Add(st.PART[i].value + "->" + st.PART[i].name);
                }
                else if (st.PART[i].mask.Contains("STATE_"))
                {
                    if (!st.PART[i].mask.Contains("STATE_EXTENSION") && !st.PART[i].mask.Contains("STATE_EXTENDED"))
                    {
                        treeViewStatePart.Nodes[1].Nodes.Add(st.PART[i].value + "->" + st.PART[i].name);
                    }
                    else if (st.PART[i].mask.Contains("STATE_EXTENDED"))
                    {
                        treeViewStatePart.Nodes[1].Nodes.Add("---EXTENDED---" + st.PART[i + 1].description);
                    }
                }
                else if (st.PART[i].mask.Contains("NUMBER") && i > 0)
                {
                    treeViewStatePart.Nodes[1].Nodes.Add("---EXTENDED---" + st.PART[i + 1].description);
                }
            }
            labelActualState.Text += st.PART[0].value;
        }
예제 #2
0
        private void comboBoxSubscreen_SelectedIndexChanged(object sender, EventArgs e)
        {
            SC.ClearScreenBox(0, 0);
            ScreenKey temp = ScreenKey.GetScreenKey(comboBoxSubscreen.Text);

            SC.LoadCharScreen(temp.text, false, temp.numar);
            textBoxScreenView.Text = temp.numar;
            textBoxScreen.Text     = temp.text;
            SC.Refresh();
        }
예제 #3
0
        private void treeViewStatePart_AfterSelect(object sender, TreeViewEventArgs e)
        {
            labelDislpayScreen.Text = "Display screen : ";
            SC.ClearScreenBox(0, 0);
            SC.Refresh();

            if (treeViewStatePart.SelectedNode.Parent == null)
            {
                return;
            }
            else if (treeViewStatePart.SelectedNode.Parent.Text == "SCREENS")
            {
                SC.ClearScreenBox(0, 0);
                string    screenNr = treeViewStatePart.SelectedNode.Text.Substring(0, treeViewStatePart.SelectedNode.Text.IndexOf("->"));
                ScreenKey tempSK   = ScreenKey.GetScreenKey(screenNr);

                if (tempSK == null)
                {
                    SC.LoadCharScreen(((char)0x1B).ToString() + "(1<NOT EXIST>", false, screenNr);
                    SC.Refresh();
                    return;
                }
                labelDislpayScreen.Text = "Display screen : " + screenNr.ToString();
                SC.LoadCharScreen(ScreenKey.GetScreenKey(screenNr).text, true, screenNr);
                SC.Refresh();
            }
            else if (treeViewStatePart.SelectedNode.Parent.Text == "STATES" && treeViewStatePart.SelectedNode.Text[0] != '-')
            {
                if (StateTable.ViewStateTables.Count == 0)
                {
                    StateTable st = new StateTable(listBoxStateTabels.Items[listBoxStateTabels.SelectedIndex].ToString());
                    StateTable.ViewStateTables.Add(st);
                }

                string     stateNr = treeViewStatePart.SelectedNode.Text.Substring(0, treeViewStatePart.SelectedNode.Text.IndexOf("->"));
                StateTable temp    = StateTable.FindStateTabelsInList(stateNr);
                int        i       = listBoxStateTabels.FindString(temp.textTable);
                listBoxStateTabels.SelectedIndex = i;

                StateTable.RemoveViewStatesTables(StateTable.SelectViewStates);
                StateTable.ViewStateTables.Add(temp);
                StateTable.RefreshViewStatesTables(comboBoxViewStates);
            }
        }
예제 #4
0
        private void listBoxScreenKeyboard_SelectedIndexChanged(object sender, EventArgs e)
        {
            SC.ClearScreenBox(0, 0);
            labelFF.Visible = true;

            SC.ScreenBox[0, 0] = new BoxScreenControl(new Point(0, 0), new Point(20, 30), 'N');
            string numarScreen = listBoxScreenKeyboard.Items[listBoxScreenKeyboard.SelectedIndex].ToString();

            textBoxScreen.Text = ScreenKey.GetScreenKey(numarScreen).text;
            SK         = SC.LoadCharScreen(textBoxScreen.Text, false, ScreenKey.GetScreenKey(numarScreen).numar);
            SC.Visible = true;
            SC.Refresh();
            textBoxScreenView.Text = SK.numar;

            if (textBoxScreen.Text.Contains(((char)0x0C).ToString()))
            {
                labelFF.Visible = false;
            }
            labelVoice.Text            = "Voices : " + SK.VoiceList.Count.ToString();
            labelGraphic.Text          = "Graphics : " + SK.GraphicPictures.Count.ToString();
            labelPicture.Text          = "Pictures : " + SK.Picture.Count.ToString();
            labelLogo.Text             = "Logos : " + SK.Logo.Count.ToString();
            labelDisplayImageFile.Text = "Display Image Files : " + SK.DisplayImageFileCommand.Count.ToString();
            // idle screen
            labelIdleScreen.Text = "Idle screens : " + SK.ScreenIdle.Count.ToString();
            comboBoxIdleScreen.Items.Clear();
            comboBoxIdleScreen.Text = "";
            for (int i = 0; i < SK.ScreenIdle.Count; i++)
            {
                comboBoxIdleScreen.Items.Add(SK.ScreenIdle[i].numar);
            }

            // subscreen
            labelSubscreen.Text = "Subscreens : " + SK.SubScreen.Count.ToString();
            comboBoxSubscreen.Items.Clear();
            comboBoxSubscreen.Text = "";
            for (int i = 0; i < SK.SubScreen.Count; i++)
            {
                comboBoxSubscreen.Items.Add(SK.SubScreen[i].numar);
            }
        }
        public ScreenKey LoadCharScreen(string strScreen, bool showIdleScreen, string numar)   // incarca aria screen-ului cu caractere
        {
            SK_Control       = new ScreenKey();
            SK_Control.numar = numar;
            SK_Control.text  = strScreen;

            int ii     = 0;
            int jj     = 0;
            int offset = 0; // caractere pe lungime dubla

            string font           = BoxScreenControl.NDCFONTS[0];
            float  size           = BoxScreenControl.SIZEFONTS[0];
            Color  tempColorBCK   = Color.Navy;
            Brush  tempBrText     = Brushes.Yellow;
            Brush  lastTempBrText = Brushes.Yellow;

            // initial value
            int leftMargin = 0;

            ii = 0;
            jj = 0;
            //ClearScreenBox(0, 0);

            for (int i = 0; i < strScreen.Length; i++)
            {
                char ch = strScreen[i];
                switch (ch)
                {
                case (char)0x0C:        // FF
                    ii = 0;
                    jj = 0;
                    ClearScreenBox(0, 0);
                    tempColorBCK = Color.Navy;
                    tempBrText   = Brushes.Yellow;
                    font         = BoxScreenControl.NDCFONTS[0];
                    size         = BoxScreenControl.SIZEFONTS[0];
                    offset       = 0;
                    break;

                case (char)0x0E:        // SO
                    if (strScreen.Length <= i + 3)
                    {
                        return(null);
                    }
                    ScreenKey temp = ScreenKey.GetScreenKey(strScreen.Substring(i + 1, ScreenKey.NrOfCharScreenNumber));

                    if (temp != null)
                    {
                        i += ScreenKey.NrOfCharScreenNumber;
                        // temp este un idle screen
                        if (strScreen.Length > i + 6 && strScreen[i + 1] == (char)0x1B && strScreen[i + 2] == '[' && strScreen[i + 6] == 'z')
                        {
                            temp.idle = Convert.ToInt16(strScreen.Substring(i + 3, 3));
                            SK_Control.ScreenIdle.Add(temp);
                            i += 6;
                        }
                        else
                        {
                            i        -= ScreenKey.NrOfCharScreenNumber;
                            strScreen = strScreen.Remove(i, ScreenKey.NrOfCharScreenNumber + 1);
                            strScreen = strScreen.Insert(i, temp.text);
                            SK_Control.SubScreen.Add(temp);
                            i--;
                        }
                    }
                    //‘G00’ – standard Insert Card picture
                    //‘G01’ – standard Press Key picture
                    //‘G03’ – standard Make A Deposit picture
                    //‘G04’ – standard Take Receipt picture
                    //‘G05’ – standard Take Money picture
                    //‘G06’ – standard Take Statement picture.
                    else if (strScreen[i + 1] == 'G')    // G – Graphic Pictures
                    {
                        string strPath = @"C:\NTGlobal\Final\XFS\Dll\" + strScreen.Substring(i + 1, 3) + ".pcx";
                        SK_Control.GraphicPictures.Add(new Photo(strPath, ii, jj));
                        i += 3;
                    }
                    break;

                case (char)0x0F:        // SI
                    if (i + 2 < strScreen.Length)
                    {
                        int tempii = GetPos(strScreen[i + 1]);
                        if (tempii < 0)
                        {
                            break;
                        }
                        int tempjj = GetPos(strScreen[i + 2]);
                        if (tempjj < 0)
                        {
                            break;
                        }
                        ii = tempii;
                        jj = tempjj;
                        i  = i + 2;
                    }
                    break;

                case (char)0x09:        // HT
                    // Causes the name encoded on Track 1 of the card to be displayed, starting at the current cursor position (32 characters maximum). Both ISO and VISA display formats are supported.
                    // tab?
                    break;

                case (char)0x11:        // DC1
                    break;

                case (char)0x12:        // DC2
                    break;

                case (char)0x1B:        // ESC
                    // Digital Audio Control Sequence
                    #region Digital Audio Control Sequence
                    if (strScreen.Length > i + 8 && strScreen[i + 1] == 'P' && strScreen[i + 2] == '0')
                    {
                        string terminatorVoice = "" + ((char)0x1B).ToString() + ('\\').ToString();
                        int    stopVoice       = strScreen.IndexOf(terminatorVoice, i + 1);
                        char   id            = strScreen[i + 2];
                        string messageNumber = strScreen.Substring(i + 3, stopVoice - i - 5);
                        char   nr            = strScreen[stopVoice - 1];
                        SK_Control.VoiceList.Add(new Voice(id, messageNumber, nr));
                        i = stopVoice + 1;
                    }
                    #endregion
                    #region Screen blinking and colour control
                    // Screen blinking and colour control
                    else if (strScreen.Length > i + 7 && strScreen[i + 4] == ';' && strScreen[i + 1] == '[')
                    {
                        string color = strScreen.Substring(i + 2, 2);
                        // background color
                        if (color == "30" || color == "C0")
                        {
                            tempColorBCK = Color.Black;
                        }
                        else if (color == "31" || color == "C1")
                        {
                            tempColorBCK = Color.Red;
                        }
                        else if (color == "C2" || color == "32")
                        {
                            tempColorBCK = Color.Green;
                        }
                        else if (color == "C3" || color == "33")
                        {
                            tempColorBCK = Color.Yellow;
                        }
                        else if (color == "34" || color == "C4")
                        {
                            tempColorBCK = Color.Blue;
                        }
                        else if (color == "35" || color == "C5")
                        {
                            tempColorBCK = Color.Magenta;
                        }
                        else if (color == "36" || color == "C6")
                        {
                            tempColorBCK = Color.Cyan;
                        }
                        else if (color == "C7" || color == "37")
                        {
                            tempColorBCK = Color.White;
                        }
                        else if (color == "80")
                        {
                            tempColorBCK = Color.Transparent;
                        }
                        // text color
                        else if (color == "20" || color == "BO")
                        {
                            tempBrText = Brushes.Black;
                        }
                        else if (color == "21" || color == "B1")
                        {
                            tempBrText = Brushes.Red;
                        }
                        else if (color == "B2" || color == "22")
                        {
                            tempBrText = Brushes.Green;
                        }
                        else if (color == "B3" || color == "23")
                        {
                            tempBrText = Brushes.Yellow;
                        }
                        else if (color == "24" || color == "B4")
                        {
                            tempBrText = Brushes.Blue;
                        }
                        else if (color == "25" || color == "B5")
                        {
                            tempBrText = Brushes.Magenta;
                        }
                        else if (color == "26" || color == "B6")
                        {
                            tempBrText = Brushes.Cyan;
                        }
                        else if (color == "B7" || color == "27")
                        {
                            tempBrText = Brushes.White;
                        }
                        // blink
                        else if (color == "10")
                        {
                            lastTempBrText = tempBrText;
                            tempBrText     = Brushes.Violet;
                        }
                        else if (color == "11")
                        {
                            tempBrText = lastTempBrText;
                        }
                        else if (color == "00")
                        {
                            tempBrText = lastTempBrText;
                        }

                        i += 7;
                    }
                    // Screen blinking and colour control
                    else if (strScreen.Length > i + 5 && strScreen[i + 4] == 'm' && strScreen[i + 1] == '[')
                    {
                        string color = strScreen.Substring(i + 2, 2);
                        // background color
                        if (color == "30" || color == "C0")
                        {
                            tempColorBCK = Color.Black;
                        }
                        else if (color == "31" || color == "C1")
                        {
                            tempColorBCK = Color.Red;
                        }
                        else if (color == "C2" || color == "32")
                        {
                            tempColorBCK = Color.Green;
                        }
                        else if (color == "C3" || color == "33")
                        {
                            tempColorBCK = Color.Yellow;
                        }
                        else if (color == "34" || color == "C4")
                        {
                            tempColorBCK = Color.Blue;
                        }
                        else if (color == "35" || color == "C5")
                        {
                            tempColorBCK = Color.Magenta;
                        }
                        else if (color == "36" || color == "C6")
                        {
                            tempColorBCK = Color.Cyan;
                        }
                        else if (color == "C7" || color == "37")
                        {
                            tempColorBCK = Color.White;
                        }
                        else if (color == "80")
                        {
                            tempColorBCK = Color.Transparent;
                        }
                        // text color
                        else if (color == "20" || color == "BO")
                        {
                            tempBrText = Brushes.Black;
                        }
                        else if (color == "21" || color == "B1")
                        {
                            tempBrText = Brushes.Red;
                        }
                        else if (color == "B2" || color == "22")
                        {
                            tempBrText = Brushes.Green;
                        }
                        else if (color == "B3" || color == "23")
                        {
                            tempBrText = Brushes.Yellow;
                        }
                        else if (color == "24" || color == "B4")
                        {
                            tempBrText = Brushes.Blue;
                        }
                        else if (color == "25" || color == "B5")
                        {
                            tempBrText = Brushes.Magenta;
                        }
                        else if (color == "26" || color == "B6")
                        {
                            tempBrText = Brushes.Cyan;
                        }
                        else if (color == "B7" || color == "27")
                        {
                            tempBrText = Brushes.White;
                        }
                        // blink
                        else if (color == "10")
                        {
                            lastTempBrText = tempBrText;
                            tempBrText     = Brushes.Violet;
                        }
                        else if (color == "11")
                        {
                            tempBrText = lastTempBrText;
                        }
                        else if (color == "00")
                        {
                            tempBrText = lastTempBrText;
                        }

                        i += 4;
                    }
                    #endregion
                    // Changing display in idle
                    else if (strScreen.Length > i + 6 && strScreen[i + 5] == 'z' && strScreen[i + 1] == '[')
                    {
                        int delayTime = Convert.ToInt16(strScreen.Substring(i + 2, 3));
                        i += 5;
                    }
                    #region Character set 1
                    // select character set - 1
                    else if (strScreen.Length > i + 2 && strScreen[i + 1] == '(')
                    {
                        switch (strScreen[i + 2])
                        {
                        case '1':
                            offset = 0;
                            font   = BoxScreenControl.NDCFONTS[0];
                            size   = BoxScreenControl.SIZEFONTS[0];
                            break;

                        case '2':
                            offset = 0;
                            font   = BoxScreenControl.NDCFONTS[1];
                            size   = BoxScreenControl.SIZEFONTS[0];
                            break;

                        case '3':
                            offset = 0;
                            font   = BoxScreenControl.NDCFONTS[2];
                            size   = BoxScreenControl.SIZEFONTS[0];
                            break;

                        case '4':
                            offset = 0;
                            font   = BoxScreenControl.NDCFONTS[3];
                            size   = BoxScreenControl.SIZEFONTS[0];
                            break;

                        case '5':
                            offset = 0;
                            font   = BoxScreenControl.NDCFONTS[4];
                            size   = BoxScreenControl.SIZEFONTS[0];
                            break;

                        case '>':
                            offset = 1;
                            size   = BoxScreenControl.SIZEFONTS[1];
                            font   = BoxScreenControl.NDCFONTS[5];
                            break;

                        case '?':
                            offset = 1;
                            size   = BoxScreenControl.SIZEFONTS[1];
                            font   = BoxScreenControl.NDCFONTS[6];
                            break;

                        case '7':
                            offset = 0;
                            size   = BoxScreenControl.SIZEFONTS[0];
                            font   = BoxScreenControl.NDCFONTS[7];
                            break;

                        case ':':
                            offset = 0;
                            size   = BoxScreenControl.SIZEFONTS[0];
                            font   = BoxScreenControl.NDCFONTS[8];
                            break;

                        case ';':
                            offset = 0;
                            size   = BoxScreenControl.SIZEFONTS[0];
                            font   = BoxScreenControl.NDCFONTS[9];
                            break;

                        case 'B':
                            offset = 1;
                            size   = BoxScreenControl.SIZEFONTS[1];
                            font   = BoxScreenControl.NDCFONTS[10];
                            break;
                        }
                        i = i + 2;
                    }
                    #endregion
                    #region Character set 2
                    // select character set - 2
                    else if (strScreen.Length > i + 2 && strScreen[i + 1] == ')')
                    {
                        switch (strScreen[i + 2])
                        {
                        case '1':
                            offset = 0;
                            font   = BoxScreenControl.NDCFONTS[0];
                            size   = BoxScreenControl.SIZEFONTS[0];
                            break;

                        case '2':
                            offset = 0;
                            font   = BoxScreenControl.NDCFONTS[1];
                            size   = BoxScreenControl.SIZEFONTS[0];
                            break;

                        case '3':
                            offset = 0;
                            font   = BoxScreenControl.NDCFONTS[2];
                            size   = BoxScreenControl.SIZEFONTS[0];
                            break;

                        case '4':
                            offset = 0;
                            font   = BoxScreenControl.NDCFONTS[3];
                            size   = BoxScreenControl.SIZEFONTS[0];
                            break;

                        case '5':
                            offset = 0;
                            font   = BoxScreenControl.NDCFONTS[4];
                            size   = BoxScreenControl.SIZEFONTS[0];
                            break;

                        case '>':
                            offset = 1;
                            size   = BoxScreenControl.SIZEFONTS[1];
                            font   = BoxScreenControl.NDCFONTS[5];
                            break;

                        case '?':
                            offset = 1;
                            size   = BoxScreenControl.SIZEFONTS[1];
                            font   = BoxScreenControl.NDCFONTS[6];
                            break;

                        case '7':
                            offset = 0;
                            size   = BoxScreenControl.SIZEFONTS[0];
                            font   = BoxScreenControl.NDCFONTS[7];
                            break;

                        case ':':
                            offset = 0;
                            size   = BoxScreenControl.SIZEFONTS[0];
                            font   = BoxScreenControl.NDCFONTS[8];
                            break;

                        case ';':
                            offset = 0;
                            size   = BoxScreenControl.SIZEFONTS[0];
                            font   = BoxScreenControl.NDCFONTS[9];
                            break;

                        case 'B':
                            offset = 1;
                            size   = BoxScreenControl.SIZEFONTS[1];
                            font   = BoxScreenControl.NDCFONTS[10];
                            break;
                        }
                        i = i + 2;
                    }
                    #endregion
                    // Set Left Margin Position
                    else if (strScreen.Length > i + 5 && strScreen[i + 1] == '[' && strScreen[i + 5] == 'P')
                    {
                        leftMargin = Convert.ToInt32(strScreen.Substring(i + 2, 2));
                        i          = i + 5;
                    }
                    // select logo
                    else if (strScreen.Length > i + 5 && strScreen[i + 1] == 'P' && strScreen[i + 2] == '1')
                    {
                        string strPath = @"C:\NTGlobal\Final\XFS\Dll\pic00" + strScreen.Substring(i + 3, 2) + ".pcx";
                        SK_Control.Logo.Add(new Photo(strPath, ii, jj));
                        i += 5;
                    }
                    // Picture Control Command
                    else if (strScreen.Length > i + 5 && strScreen[i + 1] == 'P' && strScreen[i + 2] == '2')
                    {
                        string terminatorPicture = "" + ((char)0x1B).ToString() + ('\\').ToString();
                        int    stopPicture       = strScreen.IndexOf(terminatorPicture, i + 1);
                        string strPath           = @"C:\NTGlobal\Final\XFS\Dll\pic00" + strScreen.Substring(i + 3, stopPicture - i - 3) + ".pcx";
                        SK_Control.Picture.Add(new Photo(strPath, ii, jj));
                        i = stopPicture + 1;
                    }
                    //
                    else if (strScreen.Length > i + 2 && strScreen[i + 1] == 'P' && strScreen[i + 2] == 'i')     // not suported
                    {
                        string terminator = "" + ((char)0x1B).ToString() + ('\\').ToString();
                        int    stop       = strScreen.IndexOf(terminator, i + 1);
                        i = stop + 1;    // +1;
                    }
                    // Display Image File Command
                    else if (strScreen.Length > i + 5 && strScreen[i + 1] == 'P' && strScreen[i + 2] == 'E')
                    {
                        string terminatorDisplay = "" + ((char)0x1B).ToString() + ('\\').ToString();
                        int    stopDisplay       = strScreen.IndexOf(terminatorDisplay, i + 1);
                        string strPath           = @"C:\NTGlobal\Final\XFS\Dll" + strScreen.Substring(i + 3, stopDisplay - i - 3);// .avi?
                        SK_Control.DisplayImageFileCommand.Add(new Photo(strPath, ii, jj));
                        i = stopDisplay + 1;
                    }
                    // Display Lifted Cheque Image Command
                    else if (strScreen.Length > i + 5 && strScreen[i + 1] == 'P' && strScreen[i + 2] == 'E')
                    {
                        // not implement
                        string terminatorDisplay = "" + ((char)0x1B).ToString() + ('\\').ToString();
                        int    stopDisplay       = strScreen.IndexOf(terminatorDisplay, i + 1);
                        string strPath           = @"C:\NTGlobal\Final\XFS\Dll\" + strScreen.Substring(i + 3, stopDisplay - i - 3);// .avi?
                        SK_Control.DisplayImageFileCommand.Add(new Photo(strPath, ii, jj));
                        i = stopDisplay + 1;
                    }
                    break;

                case (char)0x0D:        // CR
                    ii++;
                    jj = leftMargin;
                    break;

                case (char)0x0B:        // VT
                    break;

                default:
                {
                    if (ii >= 16)
                    {
                        break;
                    }

                    ScreenBox[jj, ii].character = ch;
                    ScreenBox[jj, ii].colorBCK  = tempColorBCK;
                    ScreenBox[jj, ii].brText    = tempBrText;
                    ScreenBox[jj, ii].font      = font;
                    ScreenBox[jj, ii].size      = size;

                    jj = jj + offset + 1;
                    if (jj >= 32)
                    {
                        jj = 0;
                        ii = ii + offset + 1;
                    }
                    break;
                }
                }
            }

            if (!showIdleScreen)
            {
                return(SK_Control);
            }

            ScreenKey tempSK = SK_Control;
            for (int i = 0; i < SK_Control.ScreenIdle.Count; i++)
            {
                LoadCharScreen(SK_Control.ScreenIdle[i].text, false, "");
                Refresh();
                System.Threading.Thread.Sleep(tempSK.ScreenIdle[i].idle /*30*/ * 10);
                SK_Control = tempSK;
            }

            return(SK_Control);
        }