Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Après avoir créé une session LU2, vous pouvez récupérer des informations et des messages à partir de la console 3270 via les objets Microsoft.HostIntegration.SNA.Session.ScreenData et Microsoft.HostIntegration.SNA.Session.SessionDisplay.
Recevoir des informations sur une connexion LU2
Si nécessaire, récupérez l’écran entier en tant que capture d’écran à l’aide de
Microsoft.HostIntegration.SNA.Session.ScreenData.Dans la plupart des cas, la récupération de toutes les informations à l’écran n’est pas nécessaire. Au lieu de cela, vous pouvez utiliser l’objet
Microsoft.HostIntegration.SNA.Session.SessionDisplaypour la plupart des applications.Obtenez l’emplacement du curseur avec un appel à
Microsoft.HostIntegration.SNA.Session.ScreenCursor.Si vous le souhaitez, vous pouvez obtenir l’emplacement et les informations contenues dans différents champs à l’écran avec un appel à l'une des méthodes
Microsoft.HostIntegration.SNA.Session.SessionDisplay.GetField%2AouMicrosoft.HostIntegration.SNA.Session.SessionDisplay.GetFields%2A, ou à la propriétéMicrosoft.HostIntegration.SNA.Session.SessionDisplay.CurrentField%2A.Microsoft.HostIntegration.SNA.Session.SessionDisplay.GetField%2AetMicrosoft.HostIntegration.SNA.Session.SessionDisplay.GetFields%2Ales deux contiennent plusieurs surcharges, ce qui vous permet de récupérer des informations de champ à partir de l’écran, en fonction des informations que vous fournissez. En revanche,Microsoft.HostIntegration.SNA.Session.SessionDisplay.CurrentField%2Areprésente uniquement le champ dans lequel se trouve le curseur.Enfin, vous pouvez obtenir des informations de mise à jour de champ en appelant les différentes méthodes
SessionDisplay.Wait.
Exemple :
Le code suivant provient de l’application 3270 dans le Kit de développement logiciel (SDK) Host Integration Server. L’exemple utilise SessionDisplay.CurrentField.Data pour accéder aux données de l’écran.
private void PerformTX_Click(object sender, EventArgs e)
{
try
{
// Disable every button and text box.
DisableEverything();
m_Handler.SendKey("@E");
TraceScreen();
// Wait for screen to calm down.
m_Handler.WaitForSession(SessionDisplayWaitType.NotBusy, 5000);
TraceScreen();
// See if the Balance Field is filled out.
m_Handler.Cursor.Row = m_row;
m_Handler.Cursor.Column = m_column;
TraceScreen();
// Tab to the Account Number field.
m_Handler.SendKey("@T");
TraceScreen();
// Move to the Next Field (Empty Stuff after 123456).
m_Handler.MoveNextField();
TraceScreen();
// Move to the Next Field (Title, Account Balance).
m_Handler.MoveNextField();
TraceScreen();
// Move to the Next Field (Account Balance).
m_Handler.MoveNextField();
TraceScreen();
// Extract Data from this field.
string accountBalance = m_Handler.CurrentField.Data;
// Trim the string.
accountBalance = accountBalance.Trim();
// Only things to do now are clear screen or disconnect.
EnableClearScreen();
// If we failed (not Abended) then this field will be blank.
if (accountBalance.Length == 0)
throw new Exception("Failed to get Account Balance");
else
MessageBox.Show(accountBalance, "Account Balance");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Voir aussi
Intégrateur de session pour LU2
Intégrateur de session pour LU0