Show Contents / Index / Search

Create New Session (IBM)

//This sample code is intended to illustrate a concept, and it shows only the code that is relevant to that concept.

//It may not meet the security requirements for a specific environment, and it should not be used exactly as shown.

//We recommend that you add security and error-handling code to make your projects more secure and robust.

//Attachmate provides this sample code "AS IS" with no warranties.

 

using System;

using System.Collections.Generic;

using System.Text;

using Attachmate.Reflection.Framework;

using Attachmate.Reflection.Emulation.IbmHosts;

 

namespace GetStartedConsole

{

  class Program

    {

      static void Main(string[] args)

      {

        Attachmate.Reflection.Framework.Application reflectionApplication = MyReflection.CreateApplication("myWorkspace", true);

        if (reflectionApplication != null)

        {

          //For a 3270 session

          IIbmTerminal terminal = (IIbmTerminal)reflectionApplication.CreateControl(new Guid("{09E5A1B4-0BA6-4546-A27D-FE4762B7ACE1}"));

          //For a 5250 session

          //IIbmTerminal terminal = (IIbmTerminal)reflectionApplication.CreateControl(new Guid("{AF03A446-F278-4624-B9EF-C896DF2CA1CA}"));

          if (terminal != null)

          {

            //Specify the host name or IP address.

            terminal.HostAddress = "[MyHost]";

            terminal.Connect();

            //Alternatively, use the AfterConnect event to wait for the connection.

            while (!terminal.IsConnected)

            {

              System.Threading.Thread.Sleep(500);

            }

            IIbmScreen screen = terminal.Screen;

            screen.WaitForHostSettle(6000, 3000);

            string text = screen.GetText(18, 2, 48);

            Console.WriteLine(text);

          }

          else

            Console.WriteLine("Failed to create the control.");

        }

        else

          Console.WriteLine("Failed to get Application object.");

      }

    }

}