WebTelnetScreenGetField Function

Action

Queries a rendered screen’s field value in an active Telnet connection.

Include file

WebAPI.bdh

Syntax

WebTelnetScreenGetField(    in hWeb        : number,
                            in nFieldIndex : number,
                            in nOptions    : number optional,
                            in nMaxLen     : number optional ) : string;

Return value

String representing the field’s value

Parameter Description
hWeb Valid handle to a Web connection created by WebTcpipConnect and set to Telnet mode using WebTcpipSetTelnetMode.
nFieldIndex 1-based field’s index of the value that is to be queried.
nOptions

Optionally specifies output string value pre-processing; may be any of following values (optional):

  • TELNET_FLAG_TRIM_LEFT: Leading blank spaces are trimmed from field’s value.

  • TELNET_FLAG_TRIM_RIGHT: Trailing blank spaces are trimmed from field’s value.

  • TELNET_FLAG_TRIM_BOTH: Rendered field’s value is trimmed from both sides.

  • TELNET_FLAG_UPPERCASE: Output value will be converted to upper case.

  • TELNET_FLAG_LOWERCASE: Output value will be converted to lower case.

nMaxLen Maximum length of output value, which by default is the whole string (optional).

Example

dcltrans
  transaction TInit
  begin
    StrSetHostCP(1148);
    // 1148  (IBM EBCDIC - International (500 + Euro))
  end TInit;
   
  transaction TMain
  var
    hWeb0     : number;
    iFieldPos : number;
    sRecv     : string;
  begin
    WebTcpipConnect(hWeb0, "My.TelnetHost.IP", WEB_PORT_TELNET); // Port: 23
    WebTcpipSetTelnetMode(hWeb0, TERMINAL_TYPE_3270, 80, 24, true, TELNET_MODEOPT_RFC_1576 | TELNET_MODEOPT_AUTO_RECV);
    WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_TerminalType);
    WebTelnetSendCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_TerminalType);
    WebTelnetRecvSubNegotiation(hWeb0, TELNET_OPT_TerminalType);
    WebTelnetSendTerminalType(hWeb0, "IBM-3278-2-E");
    WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_EndOfRecord);
    WebTelnetRecvCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_EndOfRecord);
    WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_TransmitBinary);
    WebTelnetRecvCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_TransmitBinary);
    WebTelnetSendCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_EndOfRecord);
    WebTelnetSendCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_EndOfRecord);
    WebTelnetSendCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_TransmitBinary);
    WebTelnetSendCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_TransmitBinary);
    WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_TransmitBinary);
    WebTelnetRecvCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_TransmitBinary);
    WebTelnetRecvRecord(hWeb0);
    WebTelnetRecvRecord(hWeb0);
    WebTelnetSendRecord(hWeb0,
      
      "\h88001181A600000B0100005000180050" // ····¦······P···P 00000000
 
      "\h001800168186000800F4F1F1F2F2F3F3" // ·········ôññòòóó 00000010
 
      "\hF4F4F5F5F6F6F7F7000D81870400F0F1" // ôôõõöö÷÷······ðñ 00000020
 
      "\hF1F2F2F4F40007818800010200178181" // ñòòôô··········· 00000030
 
      "\h01000050001801000100030004000909" // ···P············ 00000040
 
      "\h0C0780001B81858200090C0000000007" // ················ 00000050
      
      "\h00000002B900250100F103C301360006" // ····¹·%··ñ·Ã·6·· 00000060
 
      "\h81990000001281970000080008000101" // ················ 00000070
 
      "\h000B0401C0C1000981A80200F0FFFFFF" // ····ÀÁ···¨··ð··· 00000080

      "\hFF000C81950000081108110101000F81" // ················ 00000090
 
      "\h80A687888185869997A89580") // ·¦·······¨·· 000000A0  
 
    WebTelnetScreenRecvRecordsUntilCursor(hWeb0, 16, 23, sRecv);
    sRecv := WebTelnetScreenGetField(hWeb0, 1);
    WebTelnetSendRecord(hWeb0, "\h7D5B6F115B6F" + StrToHostCP("1"));
    if (not WebTelnetScreenVerifyField(hWeb0, 1, StrToHostCP("1"))) or (sRecv = "") then
    WebTcpipShutdown(hWeb0);
    else
      WebTelnetSendRecord(hWeb0, "\h7D5B6F115B6F" + StrToHostCP("1"));
      WebTelnetScreenRecvRecordsUntilStatus(hWeb0, "Keyboard Locked", "false");
      WebTelnetSendRecord(hWeb0, "\h7D5BF0115BF0" + StrToHostCP("12"));
      WebTelnetScreenRecvRecordsUntilText(hWeb0, 6, 22, "Choice:");    
      WebTelnetSendRecord(hWeb0, "\h7D5A5E115A5E" + StrToHostCP("12"));
      WebTelnetScreenRecvRecordsUntilField(hWeb0, 1, "");
      WebTcpipShutdown(hWeb0);
    end;
  end TMain;