Reflection
MinimumMatch Property (ISpellCheck)
Example 


Gets or sets the minimum field length (between 2 - 1920) in which spelling is reviewed.
Syntax
'Declaration
 
Property MinimumMatch As Integer
'Usage
 
Dim instance As ISpellCheck
Dim value As Integer
 
instance.MinimumMatch = value
 
value = instance.MinimumMatch
int MinimumMatch {get; set;}
Exceptions
ExceptionDescription
System.ArgumentOutOfRangeException Thrown if the specified value is outside the valid range.
Attachmate.Reflection.SecuredSettingException This exception is thrown if you modify a Reflection property that's been secured via the Permissions Manager, or if such a modification requires Administrator privileges.
Example
using System;
using System.Drawing;
using System.Collections.Generic;
using System.Text;
using Attachmate.Reflection.Framework;
using Attachmate.Reflection.Emulation.IbmHosts;
using Attachmate.Reflection.UserInterface;
using Attachmate.Reflection.Productivity;

namespace ChangingThemes
{
    class Program
    {


        static void Main(string[] args)
        {
            //Start a visible instance of Reflection or get the instance running at the given channel name
            Application app = MyReflection.CreateApplication("myWorkspace", true);

            //Create a terminal from the session document file
            string sessionPath = Environment.GetEnvironmentVariable("USERPROFILE") + @"\Documents\Micro Focus\Reflection\demoSession.rd3x";
            IIbmTerminal terminal = (IIbmTerminal)app.CreateControl(sessionPath);

            //Make the session visible in the workspace
            IFrame frame = (IFrame)app.GetObject("Frame");
            frame.CreateView(terminal);

            IIbmScreen screen = terminal.Screen;

            IProductivity productivityTools = terminal.Productivity;

            ISpellCheck spelling = terminal.Productivity.SpellCheck;

            //enable SpellCheck
            spelling.Enabled = true;

            spelling.MainLanguage = SpellingLanguage.EnglishUS;


            //Set the maximum number of spelling suggestions for a misspelled word. 
            spelling.MaxSuggestions = 9;

            //Set the minimum length of fields reviewed for spelling errors.
            spelling.MinimumMatch = 5;

            //Specify a custom dictionary
            spelling.CustomDictionaryPath = Environment.GetEnvironmentVariable("USERPROFILE") + @"\Documents\Micro Focus\Reflection\customDictionary.tlx";

            //Add a word to the active custom dictionary. 
            //The setting has no effect if a custom dictionary isn't specified. 
            //After a word is added to the custom dictionary, it is no longer considered as being misspelled.
            spelling.AddToCustomDictionary("nrmlywrng");

            
            
            //Correct a word that begins with a lowercase letter and is followed by all uppercase letters
            spelling.CorrectAccidentalCapsLock = true;

            //Correct a word that begins with two or more uppercase letters 
            //to a word that begins with a single uppercase letter. 
            spelling.CorrectTwoInitialCaps = true;

            //exclude words that contain numerals from a spelling review
            spelling.IgnoreWordsWithNumbers = true;

            //exclude words that use only uppercase letters from a spelling review. 
            spelling.IgnoreAllUppercase = true;

            //Automatically reviews words for spelling errors as they are typed, 
            //adding wavy red lines under possibly misspelled words
            spelling.CheckSpellingAsType = true;

            //automatically correct spelling mistakes as they are typed,
            //provided that Auto Correct suggestions for the misspelled word are available.
            spelling.AutoCorrect = true;

            screen.BeforeSendControlKey += screen_BeforeSendControlKey;


            Console.ReadLine();
        }

        static void screen_BeforeSendControlKey(object sender, BeforeSendControlKeyEventArgs args)
        {
            IIbmScreen screen = (IIbmScreen)sender;
            ISpellCheck spelling = screen.Parent.Productivity.SpellCheck;

            //Spell check the current screen
            spelling.CheckScreen();

            Console.WriteLine("in event");



            MisspelledWord[] words = spelling.MisspelledWordCollection;

            foreach (MisspelledWord word in words)
            {
                Console.WriteLine(word.Word);
                if (word.Word == "PartNo") 
                {
                    Console.WriteLine("removing");
                    //Removing is not working
                    //Removes the specified misspelled word from the misspelled word list and
                    //clears the associated misspelling attribute from the screen.
                    //spelling.RemoveMisspelling(word);



                    //Replaces a misspelled word with a correctly spelled word at the specified location.
                    spelling.CorrectMisspelling(word, "Part Number");

                }
                
            }

            //Clear all misspellings from the current screen.
            spelling.RemoveAllMisspellings();
        }



    }
}









See Also