AGB  ·  Datenschutz  ·  Impressum  







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

brauche hile beim chat

Ein Thema von misterx · begonnen am 16. Mär 2006 · letzter Beitrag vom 16. Mär 2006
Antwort Antwort
misterx
(Gast)

n/a Beiträge
 
#1

brauche hile beim chat

  Alt 16. Mär 2006, 19:20
Client:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ScktComp;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Button2: TButton;
    Memo1: TMemo;
    ClientSocket1: TClientSocket;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
ClientSocket1.Host := Edit1.text;
ClientSocket1.Active := true;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ClientSocket1.Socket.SendText(Edit1.Text);
end;

procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(Socket.ReceiveText);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin

end;

end.
Server:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ScktComp, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    Edit1: TEdit;
    ServerSocket1: TServerSocket;
    procedure Button1Click(Sender: TObject);
    procedure ServerSocket1ClientWrite(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ServerSocket1ClientError(Sender: TObject;
      Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
      var ErrorCode: Integer);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
ServerSocket1.Socket.SendText(Edit1.Text);
end;

procedure TForm1.ServerSocket1ClientWrite(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(Socket.ReceiveText);
end;

procedure TForm1.ServerSocket1ClientError(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
  var ErrorCode: Integer);
begin
Showmessage('Server Error!');
end;

end.
mein kolege meinte das soll noch mit rein habe aber kp wohin ich das tun soll:
Delphi-Quellcode:
for i := 0 to ServerSocket1.Socket.ActiveConnections - 1 do
  ServerSocket1.Socket.Connections[0].SendText(ReceivedText);
kann mir da einer weiter helfen
danke im voraus
  Mit Zitat antworten Zitat
BenjaminH

Registriert seit: 14. Okt 2004
Ort: Freiburg im Breisgau
713 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: brauche hile beim chat

  Alt 16. Mär 2006, 19:24
Das muss in
ServerSocket1ClientWrite
vermute ich, ich hab die Ereignisse grad nichtmehr ganz im Kopf, aber ich glaub des stimmt..
Benjamin
  Mit Zitat antworten Zitat
misterx
(Gast)

n/a Beiträge
 
#3

Re: brauche hile beim chat

  Alt 16. Mär 2006, 19:26
aber de q text schtimt dan soweit oder?
  Mit Zitat antworten Zitat
PierreB
(Gast)

n/a Beiträge
 
#4

Re: brauche hile beim chat

  Alt 16. Mär 2006, 19:32
Du gibst dir wieder alle Mühe gegen alle Rechtschreibregeln zu verstoßen, oder ?
  Mit Zitat antworten Zitat
Alt 16. Mär 2006, 19:38     Erstellt von misterx
Dieser Beitrag wurde von Sharky gelöscht. - Grund: Unnötig. Aber es gilt noch immer. Versuche so zu schreiben das es jeder lesen kann ohne sich die Augen zu verdrehen.
Alt 16. Mär 2006, 19:40     Erstellt von PierreB
Dieser Beitrag wurde von Sharky gelöscht. - Grund: Auch das ist nicht notwendig.
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#5

Re: brauche hile beim chat

  Alt 16. Mär 2006, 19:43
Hai misterx,

es wäre schon von Vorteil wenn Du sagen würdest wo denn dein Problem ist.
Einfach einen Code zu zeigen und zu sagen "... mein Kollege meint..." hilft nicht weiter.

P.S.: Ich persönlich finde es angenehmer wenn ich zuerst etwas über das Problem lese und dann den Code darunter sehe.
Ich habe nämlich keine Lust mir irgendwelchen Code anzusehen wenn ich nicht weiss warum ich das machen sollte
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
misterx
(Gast)

n/a Beiträge
 
#6

Re: brauche hile beim chat

  Alt 16. Mär 2006, 20:34
also ich versuche es dan anders ich schreibe ein chat mein kolege hat mir dabei geholfen leider ist er nicht mehr online und deswegen kann ich ihn nicht um hilfe bitten
meine frage an euch ist ob ich das alles soweit richtig gemacht habe und was mir noch fehlt
  Mit Zitat antworten Zitat
BenjaminH

Registriert seit: 14. Okt 2004
Ort: Freiburg im Breisgau
713 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: brauche hile beim chat

  Alt 16. Mär 2006, 20:37
Versuchs doch einfach, wenn der Chat funktioniert, hast du alles richtig gemacht.
Benjamin
  Mit Zitat antworten Zitat
misterx
(Gast)

n/a Beiträge
 
#8

Re: brauche hile beim chat

  Alt 16. Mär 2006, 20:40
habe ich da kamm immer ein soket fehler (kp mehr welcher bin nicht zuhause)
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#9

Re: brauche hile beim chat

  Alt 16. Mär 2006, 21:04
Delphi-Quellcode:
for i := 0 to ServerSocket1.Socket.ActiveConnections - 1 do
  ServerSocket1.Socket.Connections[0].SendText(ReceivedText);
Ist Schwachsinn!

Delphi-Quellcode:
for i := 0 to ServerSocket1.Socket.ActiveConnections - 1 do
  ServerSocket1.Socket.Connections[i].SendText(Socket.ReceivedText);
So muss es wenn schon heißen. Vorher werden in einer Schleife alle Connections durchgegengen, der Text aber immer an den Index 0 gesendet.
Wenn man diese 0 durch i ersetzt bekommen auch alle Clients die Nachricht.
//Edit: ReceivedText gibt es nicht. Es muss Socekt.ReceivedText heißen.

Das ganze kommt natürlich ins OnRead Ereigniss des Servers.

Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientWrite(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(Socket.ReceiveText);
end;
Ist genauso Schwachsinn! Wieso willst du den Text, den du grade an die Clients weitersendest im OnWrite Ereigniss zum Memo hinzufügen? Das muss natürlich auch gemacht werden, aber ich denke eher, dass du mit Socket.ReceiveText den empfangenen Text direkt hinzufügen willst.
Daher solltest du die Zeile Memo1.Lines.Add(Socket.ReceiveText); auch ins OnRead und nicht ins OnWrite Ereigniss schreiben.

Ach ja ... und vermeide bitte wenigstens so unnötige Fehler, wie "brache hile beim chat". Und schöner sieht dein geposteter Text auf jeden Fall auch aus, wenn du deine Shift Taste ab und zu mal benutzt ...
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz