'===========================================================================
' Subject: GUI TELNET CLIENT                  Date: 12-11-00 (19:17)       
'  Author: Paranco                            Code: RAPIDQ                 
'  Origin: paranco@hotmail.com              Packet: RAPIDQ.ABC
'===========================================================================
$INCLUDE "RAPIDQ.INC"

DECLARE SUB Edit3KeyPress (Key AS WORD, Sender AS QEDIT)
DECLARE SUB Button1Click (Sender AS QBUTTON)
DECLARE SUB Button2Click (Sender AS QBUTTON)
DECLARE SUB Button3Click (Sender AS QBUTTON)
DECLARE SUB TimerExpired

CONST DELAY = 500
DIM dalserver as string
DIM TCP1 AS QSocket
DIM SockNum AS INTEGER
    SockNum = 0

CREATE Form AS QFORM
    Caption = "TELNET CLIENT"
    Width = 583
    Height = 384
    Center
    BorderStyle = bsDialog
    CREATE Label2 AS QLABEL
        Caption = "Porta"
        Left = 224
        Top = 16
        Transparent = 1
    END CREATE
    CREATE Label1 AS QLABEL
        Caption = "Host remoto"
        Left = 16
        Top = 16
        Width = 64
        Transparent = 1
    END CREATE
    CREATE RichEdit1 AS QRICHEDIT
        Left = 12
        Top = 51
        Width = 550
        Height = 250
        ScrollBars = ssBoth
        TabOrder = 4
        AddStrings ""
    END CREATE
    CREATE Edit1 AS QEDIT
        Text = ""
        Left = 80
        Top = 16
        Width = 137
    END CREATE
    CREATE Edit2 AS QEDIT
        Text = ""
        Left = 260
        Top = 16
        Width = 65
        TabOrder = 1
    END CREATE
    CREATE Button1 AS QBUTTON
        Caption = "Connetti"
        Left = 360
        Top = 16
        TabOrder = 2
        OnClick = Button1Click
    END CREATE
    CREATE Button2 AS QBUTTON
        Caption = "Disconnetti"
        Left = 456
        Top = 16
        TabOrder = 3
        OnClick = Button2Click
    END CREATE
    CREATE Edit3 AS QEDIT
        Text = ""
        Left = 16
        Top = 320
        Width = 305
        TabOrder = 5
        OnKeyPress = Edit3KeyPress
    END CREATE
    CREATE Button3 AS QBUTTON
        Caption = "Invia"
        Left = 344
        Top = 320
        TabOrder = 6
        OnClick = Button3Click
    END CREATE
    CREATE ScrollBox1 AS QSCROLLBOX
        Left = 109
        Top = -75
        TabOrder = 7
    END CREATE
END CREATE


DIM Timer1 AS QTimer
    Timer1.Interval = DELAY
    Timer1.OnTimer = TimerExpired
RichEdit1.PlainText = True
RichEdit1.WordWrap = False


SUB TimerExpired
  Timer1.Enabled = False
  Timer1.Interval = DELAY
  IF SockNum <= 0 THEN
    Timer1.Enabled = True
    EXIT SUB
  END IF
  IF TCP1.IsServerReady(SockNum) THEN
    dalserver = TCP1.ReadLine(SockNum)
    RichEdit1.Addstring dalserver
    IF TCP1.Transferred  < 0 THEN
      SockNum = 0
      ShowMessage "Server disconnesso!"
    END IF
  END IF
  Timer1.Enabled = True
END SUB

SUB Edit3KeyPress (Key AS WORD, Sender AS QEDIT)
if key=13 then
dim pippo as Qbutton
Button3Click (pippo)
end if
END SUB

SUB Button3Click (Sender AS QBUTTON)
RichEdit1.Addstring Edit3.text
a%=TCP1.Writeline(socknum,(Edit3.text+chr$(13)))
Edit3.text=""
END SUB

SUB Button1Click (Sender AS QBUTTON)
socknum=TCP1.Connect(Edit1.text, val(edit2.text))
END SUB

Sub Button2Click (Sender AS QBUTTON)
TCP1.close(socknum)
end sub

Form.ShowModal
