AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Funktion Copy verwenden - wie?

Ein Thema von Lyan · begonnen am 18. Aug 2011 · letzter Beitrag vom 18. Aug 2011
 
Lyan

Registriert seit: 5. Aug 2011
188 Beiträge
 
#1

Funktion Copy verwenden - wie?

  Alt 18. Aug 2011, 07:59
Delphi-Version: XE
Hallo,

ich bin zur Übung an einem Chatprogramm dran! Nun kann man sich das ganze so vorstellen:

1)Der User wird aufgefordert einen Usernamen, eine Chatfarbe(mit colordialog), den Host und den Port auszuwählen. (Über TServerSocket und TClientSocket) // Bitte nicht sagen ich soll die Indy's benutzen! ;D

2)Sofern die Verbindung geklappt hat wird man auf die 2te Seite des Tabsheeds weitergelassen.
Dort findet man oben eine Richbox(Protokoll(wo die User drin chatten)), ein Memo zum senden von Nachrichten und wichtig noch der Sende Button!

3) Im Memo (da wo man die Nachricht eintippt) ist nun die Schriftfarbe zusehen die man auf Seite 1 im colordialog ausgewählt hat!

4) Per Attribute habe ich nun die Farbe auch in der Richbox (da wo die Messages gesendet werden) in der Farbe wo man ausgewählt hat!


Problem?
Ich konnte nur clientseitig die Farben ändern:

Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
with richedit1.selattributes do
begin
  if strtoint(memo2.Text) <> 0 then
  richedit1.SelAttributes.Style := [fsBold];
  client.socket.SendText(inttostr(colordialoguser.color) + editusername.text + ' -> ' + memo2.text);
  memo2.Clear;
end;
end;
Wie man sieht wird über diese Zeile: (client.socket.SendText(inttostr(colordialoguser.c olor) + editusername.text + ' -> ' + memo2.text) ja was an denn Server gesendet. Nämlich 3 Strings!

1 String: Farbe(Coolodialoguser.color)

2 String: Username(editusername.text)

3 String: Nachricht(memo2.text)


--------------------------------------------

So das sollte ja so klappen (also das die Strings so an den Server gesendet werden!)

Nun zum Problem (das nämlich beim Server liegt der den String aufteilen soll und die Farbe ect. erkennen soll)


Code:
procedure TForm1.ServerClientRead(Sender: TObject; Socket: TCustomWinSocket);
var i:integer;
    Nachricht: AnsiString;
    sTeilen: String;
    aColor: TColor;
begin
  with richeditmaster.selattributes do
  begin
    Nachricht:= Socket.ReceiveText;
    sTeilen := copy(Nachricht, 1,3);
    aColor := TColor(StrToInt(sTeilen));
    RicheditMaster.Lines.Add(Nachricht);
    for i := 0 to server.Socket.ActiveConnections - 1 do
    server.socket.Connections[i].SendText(Nachricht);

  end;
end;
end.
Bin Anfänger! Kann mir da jemand helfen ? Ich weiß nicht ganz wie ich das jetzt genau machen muss, dass die Farbe dem User zugeordnet wird und mitgesendet wird + den Username und eben der Nachricht!

Wäre echt super wenn jemand das direkt lösen könnte mit copy o.ä


Vielen Dank im vorraus!
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz