![]() |
Ganz einfacher Chat
high,
ich hab mal eine Frage: Habt ihr eine Idee wie ich einen ganz einfachen Chat programmieren kann??? Es soll ein EditFeld geben, ein MemoFeld und ein send Knopf geben! Das Memo Feld soll nicht alle, sondern nur die letzte Nachricht anzeigen!!! Ich wäre euch sehr dankbar wenn ihr mir das erklären würdet -homer- :oops: |
Re: Ganz einfacher Chat
Du kannst entweder die Indy-Komponenten nutzen (da gibt es viele Demos) oder die TClientSockets und TServerSockets da lassen sich hier bestimmt auch viele Beispiele finden ;-)
Du kannst natürlich auch jede andere Kompo nehmen, allerdings sind die Indies wohl die besten... |
Re: Ganz einfacher Chat
Hi!
Wofür wurde denn google erfunden? 8) Also man suche und finde: ![]() siehe 4. von oben! ciao fkerber |
Re: Ganz einfacher Chat
Hi.
Also, das hast du selbst mit Server in 5Minuten programmiert. Wir brauchen einen Server, der die Nachrichten annimmt und sie dann einfach auf alle Clients verteilt. Wir bauen zunächst den Server. Du brauchst ein Memo-Feld, und einen ServerSocket. Den findest du, wenn du auf den Registerreiter "Internet" klickst. Jetzt gehts ans Programmieren: In den Properties des Sockets gibst du unter Port den Wert 6712 ein. Dann klick auf den Event OnClientRead rechts im Objektinspektor. Im Code deklarierst du die Variablen und schreibst den kurzen Quelltext;
Delphi-Quellcode:
Dann setzt du den Socket auf Active=True (geht auch im Objektinspektor)
var
i :integer; msg :string; begin Memo1.lines.add (Socket.ReceiveText); For I := 0 to ServerSocket1.Socket.ActiveConnections - 1 do begin // Anzahl der Teilnehmer with ServerSocket1.Socket.Connections [I] do // Auswahl des Teilnehmers if (Connected) then SendText(Socket.RemoteHost': '+msg); // Text senden end; end; Dein Server ist fertig. Jetzt der Client. Du brauchst 1x Memofeld, 2x Editfeld, 2x Button & 1x ClientSockt (auch zu finden wenn du auf den Reiter "Internet klickst" Das Eine Edit-Feld ist für die Ip des Servers, das andere zum schreiben der Texte. Der eine Button um die IP zu setzen und der andere um den Text zu versenden. Im Memofeld wird die Nachricht angezeigt. Felder anordnen, dann gehts mit dem programmieren los. Klick auf den Button zum Speichern der IP. Hier brauchst du folgenden Quelltext:
Delphi-Quellcode:
Um den Text verschicken zu können, klickst du auf den Button, der später deinen Text versenden soll und tippst:
begin
clientsocket1.Host := edit2.text; //IP wird gespeichert clientsocket1.Active := True //Der Socker wir aktiviert end;
Delphi-Quellcode:
In den Properties des ClietnSockets gibst du wieder den Port 6712 an. Dann Doppelklick auf den Event OnRead.
begin
if ClientSocket1.active=true then //Im Falle das ClientSocket verbunden ist wird die Message aus edit1 verschickt ClientSocket1.Socket.SendText(edit1.text); edit1.text:='' end; Jetzt musst du deinem Chatprogramm noch sagen, was er mit einer Mesage machen soll, die er erhält. Folgender Code muss in der OnRead Prozedur eingetragen werden:
Delphi-Quellcode:
Das war's dein Server und dein Client sind fertig.
Memo1.Lines.clear; //memo1 wird gelöscht
Memo1.Lines.Add(Socket.ReceiveText); //text wird eingetragen. Tipp: Wenn du im Client "localhost" eintippst werden die Nachrichten an deinen eigenen PC geschickt. So kannst du das Programm testen. Ausserdem kannst du beliebig viele Clients von verschiedensten Computern mit dem Server verbinden Viel Spaß CU Christian |
Re: Ganz einfacher Chat
Zitat:
Cu Christian |
Vielen Dank
high,
vielen dank an alle! ich glaube mit eurer Hilfe kann ich nun einen Caht programmieren! thx -homer- besonderen dank an christian |
Re: Ganz einfacher Chat
Zitat:
:oops: :oops: :oops: Sorry, hab den Link nicht gecheckt! Sorry! ciao |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 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