Seite 3 von 3

Verfasst: 05.01.2007 14:55
von Gast
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.

Verfasst: 05.01.2007 15:58
von Gast
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 !!!")

Verfasst: 05.01.2007 16:15
von a14xerus
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

Verfasst: 05.01.2007 16:37
von Gast
ja genau text ^^ sorry.

wert.l = R$+","+G$+","+G$ so?

Verfasst: 05.01.2007 17:32
von Deluxe0321
wert.l = R$+","+G$+","+G$ so?
wird nicht gehen, weil ein String kein Long ist ^^

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
Wie du sehen kannst ist der Farbwert erstmal vom Type Long, er wird in durch Str() in den Type String umgewandelt.

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]

Verfasst: 05.01.2007 18:28
von Gast
ja danke aba das wusste ich schon.

hab das problem aber gelöst bekommen, danke an alle die hier geschrieben haben. :allright: :allright: :allright: