chat
naja vielleicht hilft es ja wenn ich noch mal den code zeige ???
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.
meinst du in einen text ?
du musst einfach den farbwert rumschicken.
nur diese eine long variable
und mit nem keyword damit der client auch weiß, das es ein farbwert udn keine message ist
der client muss dann einfach nur den farbwert auslesen udn das richtige gadget damit einfärben
- Deluxe0321
- Beiträge: 336
- Registriert: 19.05.2006 00:31
- Kontaktdaten:
wird nicht gehen, weil ein String kein Long ist ^^wert.l = R$+","+G$+","+G$ so?
Hier mal ein kleines Bsp aus der PB-Hilfe:
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
Du musst also nur den Wert Farbe selbst versenden, und nichts weiter. Natürlich kannst du es auch als String versenden, das geht wie oben schon geschrieben mit Str(Farbe).[/b]