Converts a targeted host-character-set string that uses a specified code page into an ANSI string.
Kernel.bdh
StrFromHostCP( in sSource : string, in uCodePage : number optional ) : string;
Converted string
Parameter | Description |
---|---|
sSource | Source string to be converted. |
nCodePage | Code page number to be used for conversion (optional). If omitted, the default host-character-set code page is used (See StrSetHostCP for details). |
dcltrans transaction TInit begin StrSetHostCP(28591);// 28591 (ISO 8859-1 Latin I) if StrGetHostCP()<>28591 then RaiseError(ERROR_CUSTOM, "(ISO 8859-1 Latin I) not supported", SEVERITY_PROCESS_EXIT); end; end TInit; transaction TMain var hWeb0 : number; sBuffer : string; sBoundary : string; nOption : number; begin WebTcpipConnect(hWeb0, "My.TelnetHost.IP", WEB_PORT_TELNET); WebTcpipSetTelnetMode(hWeb0, TERMINAL_TYPE_ANSI, 80, 24, true, TELNET_MODEOPT_RFC_1576 | TELNET_MODEOPT_AUTO_RECV); WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_TerminalType); WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_TerminalSpeed); WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_XDisplayLocation); WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_NewEnvironment); WebTelnetSendCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_TerminalType); WebTelnetSendCommand(hWeb0, TELNET_CMD_WONT, TELNET_OPT_TerminalSpeed); WebTelnetSendCommand(hWeb0, TELNET_CMD_WONT, TELNET_OPT_XDisplayLocation); WebTelnetSendCommand(hWeb0, TELNET_CMD_WONT, TELNET_OPT_NewEnvironment); WebTelnetRecvSubNegotiation(hWeb0, TELNET_OPT_TerminalType); WebTelnetSendTerminalType(hWeb0, "vt100"); WebTelnetRecvCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_SuppressGoAhead); WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_Echo); WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_NegotiateWindowSize); WebTelnetRecvCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_Status); WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_RemoteFlowControl); WebTelnetSendCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_SuppressGoAhead); WebTelnetSendCommand(hWeb0, TELNET_CMD_WONT, TELNET_OPT_Echo); WebTelnetSendCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_NegotiateWindowSize); WebTelnetSendSubNegotiation(hWeb0, TELNET_OPT_NegotiateWindowSize, "\h00500018"); WebTelnetSendCommand(hWeb0, TELNET_CMD_DONT, TELNET_OPT_Status); WebTelnetSendCommand(hWeb0, TELNET_CMD_WONT, TELNET_OPT_RemoteFlowControl); WebTelnetRecvCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_Echo); WebTcpipGetPacketBoundary(hWeb0, sBoundary); WebTcpipRecvPacketsUntilData(hWeb0, "login: "); WebTelnetTypeKeys(hWeb0, StrToHostCP("leo"), 359.3, TELNET_FLAG_CASE_SENSITIVE); if StriCmp(StrFromHostCP(sBuffer), "leo") <> 0 then RaiseError(ERROR_CUSTOM); end; WebTcpipSendBin(hWeb0, "\h0D00"); WebTcpipRecvExact(hWeb0, NULL, 390); WebTcpipSetPacketBoundary(hWeb0, sBoundary); WebTcpipRecvUntilIdle(hWeb0, NULL, 5000); WebTcpipSendBin(hWeb0, "\h0D000D0A"); WebTcpipRecvPackets(hWeb0, NULL, 3); WebTcpipSendBin(hWeb0, "\h0D00"); WebTcpipSendPacket(hWeb0, StrToHostCP("8") + "\h0D00"); WebTcpipRecvClose(hWeb0, NULL); WebTcpipShutdown(hWeb0); end TMain;