Code: Alles auswählen
; PureBasic Visual Designer v3.95 build 1485 (PB4Code)
Buffer = AllocateMemory(1000)
InitNetwork()
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#Editor
#String_IP
#Text_IP
#Text_Port
#String_Port
#Button_Connect
#String_Send
#Button_Send
EndEnumeration
Procedure Open_Window_0()
If OpenWindow(#Window_0, 216, 0, 480, 360, "Telnet", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Window_0))
EditorGadget(#Editor, 10, 40, 460, 280,#PB_Editor_ReadOnly)
StringGadget(#String_IP, 60, 10, 110, 20, "")
TextGadget(#Text_IP, 10, 10, 30, 20, "IP :")
TextGadget(#Text_Port, 220, 10, 30, 20, "Port :")
StringGadget(#String_Port, 270, 10, 60, 20, "")
ButtonGadget(#Button_Connect, 380, 10, 90, 20, "Connect")
StringGadget(#String_Send, 10, 330, 390, 20, "")
ButtonGadget(#Button_Send, 410, 330, 60, 20, "Send")
EndIf
EndIf
EndProcedure
Open_Window_0()
DisableGadget(#String_Send,1):DisableGadget(#Button_Send,1)
SetGadgetColor(#Editor,#PB_Gadget_BackColor,$A30000)
Repeat
Event = WindowEvent()
If Event = #PB_Event_CloseWindow
Quit = 1
ElseIf Event = #PB_Event_Gadget
Select EventGadget()
Case #Button_Connect
If conA = 0
IP$ = GetGadgetText(#String_IP)
Port$ = GetGadgetText(#String_Port)
If IP$ = "" Or Port$ = ""
MessageRequester("Error","Bitte IP und Port eingeben")
Else
verbindung = OpenNetworkConnection(IP$,Val(port$))
If Verbindung = 0
MessageRequester("Error","Die Verbindung kann nicht hergestellt werden")
Else
DisableGadget(#String_IP,1):DisableGadget(#String_Port,1):DisableGadget(#String_Send,0):DisableGadget(#Button_Send,0)
conA = 1
EndIf
EndIf
ElseIf conA = 1
CloseNetworkConnection(Verbindung)
DisableGadget(#String_IP,0):DisableGadget(#String_Port,0):DisableGadget(#String_Send,1):DisableGadget(#Button_Send,1)
conA = 0
EndIf
Case #Button_Send
Message$ = GetGadgetText(#String_Send)
SendNetworkString(verbindung,Message$+Chr(13)+Chr(10))
SetGadgetColor(#Editor,#PB_Gadget_FrontColor,$B3FFB3)
AddGadgetItem(#Editor,-1,Message$)
SetGadgetText(#String_Send,"")
EndSelect
If verbindung > 0
If NetworkClientEvent(verbindung) > 0
ReceiveNetworkData(Verbindung, Buffer, 1000)
FirstChar.b = PeekB(buffer)
If FirstChar >= 32 And FirstChar <= 125
SetGadgetColor(#Editor,#PB_Gadget_FrontColor,$9393FF)
AddGadgetItem(#Editor,-1,PeekS(Buffer))
EndIf
FreeMemory(Buffer)
EndIf
EndIf
If GetGadgetItemText(#Editor,21,0) <> ""
RemoveGadgetItem(#Editor, 0)
EndIf
EndIf
Until quit=1
Aber dass fällt bei der Benuzung sowieso auf!
Mein 2. Problem dass er unerwünschte Leerzeilen macht!
Und mein 3. Problem ist das er nicht nur zeilenweise die Textfarbe übernimmt sondern immer global!
Ich hoffe ihr könnt mir helfen!