Verfasst: 05.01.2007 14:55
das was ich irgendwie nicht verstehe ist, so wie ich das versucht habe, da schickt der die werte an alle clienten, aber die werden dann da nicht in farbe sondern in ein test umgesetzt.
Code: Alles auswählen
OpenWindow(0,0,0,500,390, "XIXIX Chat V 1.1 "+"©"+" 2007 by Maikel Rehl",#PB_Window_ScreenCentered | #PB_Window_SystemMenu | #PB_Window_MinimizeGadget)
AddKeyboardShortcut(0, #PB_Shortcut_Return, 3)
InitNetwork()
CreateGadgetList(WindowID(0))
EditorGadget(1,5,5,390,300,#PB_Editor_ReadOnly)
StringGadget(2,5,310,390,60,"")
ButtonGadget(3,400,310,95,25,"Senden")
ButtonGadget(6,400,340,95,25,"Farbe")
TextGadget(5,5,370,490,15,"Hallo ")
port=6054
Name.s = InputRequester("XIXIX Chat","Bitte geben sie Ihren Namen an:","")
farbe = ColorRequester()
SetGadgetColor(2,#PB_Gadget_FrontColor,farbe)
If CreateNetworkServer(#PB_Any, port, #PB_Network_UDP)
SetGadgetText(5,"Server erfolgreich erstellt")
SendUDPBroadcast(port,Name + ": ist der Sitzung beigetreten !!!")
EndIf
e = 0
f = 0
Repeat
farbe = GetGadgetColor(2,#PB_Gadget_FrontColor)
R$ = Str(Red(farbe))
G$ = Str(Green(farbe))
B$ = Str(Blue(farbe))
Text.s = GetGadgetText(2)
EventID = WaitWindowEvent()
sevent = NetworkServerEvent()
clientid = EventClient()
If sevent = 2
Text = Space(5000)
ReceiveNetworkData(clientid, @Text, 5000)
Editor_Select(e,1,1,e-1,-1)
Editor_Color(1, RGB(Val(R$),Val(G$),Val(B$)))
AddGadgetItem(1,e-1,Text)
EndIf
If EventID = #PB_Event_Menu
Select EventMenu()
Case 3
If SendUDPBroadcast(port,Name + ": " + Text) = 0
SetGadgetText(2,"")
SetGadgetText(5,"Nachricht wurde erfolgreich gesendet")
Else
SetGadgetText(5,"Nachricht wurde nicht erfolgreich gesendet")
EndIf
SendUDPBroadcast(port,R$+","+G$+","+G$)
EndSelect
EndIf
If EventID = #PB_Event_Gadget
Select EventGadget()
Case 3
If SendUDPBroadcast(port,Name + ": " +Text) = 0
SetGadgetText(2,"")
SetGadgetText(5,"Nachricht wurde erfolgreich gesendet")
Else
SetGadgetText(5,"Nachricht wurde nicht erfolgreich gesendet")
EndIf
SendUDPBroadcast(port,R$+","+G$+","+G$)
Case 6
farbe = ColorRequester()
SetGadgetColor(2,#PB_Gadget_FrontColor,farbe)
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
SendUDPBroadcast(port,Name + ": hat die Sitzung verlassen !!!")
????Maikel hat geschrieben:das was ich irgendwie nicht verstehe ist, so wie ich das versucht habe, da schickt der die werte an alle clienten, aber die werden dann da nicht in farbe sondern in ein test umgesetzt.
wird nicht gehen, weil ein String kein Long ist ^^wert.l = R$+","+G$+","+G$ so?
Code: Alles auswählen
Farbe.l = ColorRequester()
If Farbe > -1
a$ = "Sie haben folgende Farbwerte ausgewählt:" + Chr(10) ; Chr(10) wird nur
a$ + "24 Bit Wert: " + Str(Farbe) + Chr(10) ; für den Zeilen-
a$ + "Rot-Wert: " + Str(Red(Farbe)) + Chr(10) ; umbruch benötigt
a$ + "Grün-Wert: " + Str(Green(Farbe)) + Chr(10)
a$ + "Blau-Wert: " + Str(Blue(Farbe))
Else
a$ = "Der Requester wurde abgebrochen."
EndIf
MessageRequester("Information", a$, 0)
End