Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Hat jemand einen Chat oder Messenger der OS is ? (https://www.delphipraxis.net/37597-hat-jemand-einen-chat-oder-messenger-der-os.html)

Äfan 7. Jan 2005 18:38


Hat jemand einen Chat oder Messenger der OS is ?
 
Hi,

Ich wollte mal fragen ob jemand einen Chat oder Messenger hat, der Open Source ist. Ich will einen Messenger programmieren, nur das Beispiel von Indy is bisschen komisch und es geht net.

MFG

flomei 7. Jan 2005 18:40

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
www.miranda-im.org
Miranda is nen OS ICQ/AIM/MSN/IRC Client. Ist allerdings in C++ geschrieben glaub ich.
Ansonsten such bei sourceforge.net nach sowas...

MFG Florian :hi:

Äfan 7. Jan 2005 18:49

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Naja, C++ bringt mir nix. Ich brauche was für Delphi. Wie kann man da bei SourceForge komponenten oder os progs suchen ? :gruebel:

S2B 7. Jan 2005 18:56

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Zitat:

Zitat von Äfan
Naja, C++ bringt mir nix. Ich brauche was für Delphi. Wie kann man da bei SourceForge komponenten oder os progs suchen ? :gruebel:

Du wirst bei Sourceforge nur OS-Projekte finden, das sagt ja schon der Name! :wink:

Aenogym 7. Jan 2005 19:02

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
hi äfan,

ich programmiere zurzeit einen instant messenger. allerdings bleibt der vorerst "nur" freeware.
ich nutze dafür acuh die socket-komponenten und nicht die indies.

wenn du willst, kann ich dir ja ein paar tipps geben, schreib mich einfach an.

Aenogym

mr47 7. Jan 2005 19:07

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Hi hier hab ich einen SEHR EINFACHEN Chat. Nicht besonders komfortabel, aber funktioniert einwand frei:

Source

Delphi-Quellcode:
unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, XPMan, Buttons, CoolTrayIcon, StdCtrls, Menus,stc, IdTCPServer,
  IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient;

type
  TForm1 = class(TForm)
    SpeedButton1: TSpeedButton;
    XPManifest1: TXPManifest;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    Tray: TCoolTrayIcon;
    Memo1: TMemo;
    Edit1: TEdit;
    SpeedButton4: TSpeedButton;
    PopupMenu1: TPopupMenu;
    Optionen1: TMenuItem;
    Anzeigelschen1: TMenuItem;
    Client: TIdTCPClient;
    Server: TIdTCPServer;
    Copyright1: TMenuItem;
    AndereUsersuchen1: TMenuItem;
    procedure SpeedButton3Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure TrayDblClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDblClick(Sender: TObject);
    procedure Optionen1Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure SpeedButton2Click(Sender: TObject);
    procedure ServerExecute(AThread: TIdPeerThread);
    procedure SpeedButton4Click(Sender: TObject);
    procedure Anzeigelschen1Click(Sender: TObject);
    procedure Copyright1Click(Sender: TObject);
    procedure AndereUsersuchen1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses netSetting, searchUser;
var open: boolean;
    ip,cn,nn: string;

{$R *.dfm}

procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
  Tray.HideMainForm;
  open:=false;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
  open:=true;
end;

procedure TForm1.TrayDblClick(Sender: TObject);
begin
  Tray.ShowMainForm;
  Open:=true;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Server.Active:=true;
  memo1.text:='DirectChat 2.0 © CW 05';
  ip:=Stc.GetText(ExtractFilePath(Application.Exename)+'\netSet',line,1,1);
  nn:=Stc.GetText(ExtractFilePath(Application.Exename)+'\UserSet',line,1,1);
  if stc.TcError=true then
    ShowMessage('Bitte konfigurieren Sie ihr Netzwerk richtig! (Name und Netzwerk)');

end;

procedure TForm1.FormDblClick(Sender: TObject);
begin
  popupMenu1.Popup(round(form1.Left+form1.Width/2),round(form1.Top+form1.Height/2));
end;

procedure TForm1.Optionen1Click(Sender: TObject);
begin
  netSet.ShowModal;
  ip:=Stc.GetText(ExtractFilePath(Application.Exename)+'\netSet',line,1,1);
  nn:=Stc.GetText(ExtractFilePath(Application.Exename)+'\UserSet',line,1,1);
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  cn:=ip+InputBox('Verbinden','Bitte geben Sie eine IP oder eine Computernummer ein!(Neztwerkbedingt)','');
  memo1.Lines.add('Verbinde zu '+cn+'....');
  if Client.Connected then Client.Disconnect;
  Client.Host:=cn;
  try
    Client.Connect(500);
    Client.WriteLn('Verbunden mit '+nn);
    memo1.Lines.add('Verbindung steht!');
  except
    memo1.Lines.add('Verbindung nicht möglich! (CE01)');
  end;
 
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Server.Active:=false;
end;

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
  try
    Client.WriteLn(nn+' hat die Verbindung beendet!');
    memo1.lines.Add('Information senden');
    memo1.Lines.Add('Verbindung beendet!');
    Client.Disconnect;
  except
    memo1.Lines.Add('Verbindungsfehler: CE02');
  end;
end;

procedure TForm1.ServerExecute(AThread: TIdPeerThread);
var ms: string;
begin
  ms:=(Athread.Connection.ReadLn('',500));
  memo1.Lines.add(ms);
  if Open=false then tray.ShowBalloonHint('Neue Meldung: ',ms,bitInfo,10);
end;

procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
  try
    Client.WriteLn(nn+': '+edit1.Text);
    memo1.Lines.Add('>>'+edit1.Text);
    edit1.Clear;
  except
    memo1.Lines.add('Verbindungsfehler: 03');
  end;
end;

procedure TForm1.Anzeigelschen1Click(Sender: TObject);
begin
  memo1.Clear;
end;

procedure TForm1.Copyright1Click(Sender: TObject);
begin
  memo1.Lines.add('  Dieses Produkt ist Freeware, und darf weitergegeben werden');
  memo1.Lines.add('  © Constantin Weißer 2005 - DirectChat Version 2.0');
end;

procedure TForm1.AndereUsersuchen1Click(Sender: TObject);
begin
  search.ShowModal;
end;

end.
(PS: Dafür setze ich CoolTrayIcon von Torry.net ein.)

Äfan 7. Jan 2005 19:14

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Haste des auch zum downloaden ? Also als projekt ?

mr47 7. Jan 2005 20:36

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ja hier... Das OPtionenmenü öffnet man über doppelclick auf das blaue Fenster. (etwas ungewöhnlich).
Hoffe es funzt alles. Ich hab das so gelöst, das alle Adressen mit
Zitat:

192.168.0.
anfangen, und man nur noch die Endnummer angeben muss.

:???:

PS: Ich arbeite gerade an ner neuen Version, mit anständigem Layout :mrgreen:

Äfan 7. Jan 2005 21:01

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Mhhh, also über delphi kann ich es net öffnen, da ich so ne komponente net habe und irgend ein stu.dcu fehlt oder so. Also ich habe einfach mal die exe probiert:

Ich bin etwas schwer von begriff: Bei den optionen, was muss ich da eingeben ? Muss ich einfach die IP vom rechner2 angeben und rechner 2 meine IP oder muss die IP von einem Server eingegeben werden ? Irgendwie bekomme ich keine verbindung hin. Geht des überhaupt übers internet ?

PS: Haste MSN ? Wenn ja melde dich mal oder so, da kannst du mir das besser erklären.

MFG

mr47 8. Jan 2005 00:24

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Bevor ich mir die Mühe mach dir alles zu erklären: Nein du kannst nur über Lokales LAN eine Verbindung aufbauen.

Aber ich kann dir ein Tutorial für Indy Server und Client schreiben wenn du willst. Meld dich dann einfach!

phXql 8. Jan 2005 00:33

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Zitat:

Zitat von Äfan
Hi,

Ich wollte mal fragen ob jemand einen Chat oder Messenger hat, der Open Source ist. Ich will einen Messenger programmieren, nur das Beispiel von Indy is bisschen komisch und es geht net.

MFG

TICQLib - Open Source Komponente für ICQ-Protokoll
moeICQ - Open Source ICQ-Messenger, der benutzt auch diese TICQLib.

beides erhältlich auf www.sourceforge.net

Äfan 8. Jan 2005 01:02

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
@mr47: Ich habe so nen Demo Chat von Indy, aber der Funktioniert bei mir nicht. Ich bekomme immer einen Socket 10006 Fehler oder so. Es würde mir reichen wenn du mir ein kleines prog machen könntest, womit man mit einem oder mehreren User reden kann, also so eine art Messenger oder Chat. Es muss keine riesen funktionen habe, ich will nur sehen, wie man nachrichten versenden und der andere sie lesen kann, also so wie dein programm, nur die grundfunktionen. Es sollte aber nicht über netzwerk sondern übers internet gehen. Das wär echt nett von dir :thumb:

PS: Haste ICQ ?

Ich habe mir die ICQ komponenten runtergeladen und die sind echt cool. Bei dem einen is ja das komplette ICQ als OS dabei... net schlecht. Diese komponenten kann man aber nur für ICQ nutzen oder ? Also ich kann keinen eigenen Chat machen ohne das sich da jemand bei ICQ anmelden muss ?

MFG

mr47 8. Jan 2005 01:39

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Gut ich mach mich mal an die Arbeit. Das geht ja schnell.
Leider muss ich morgen bis um 11 ausschlafen :mrgreen: . Also um 13:30 Uhr ists fertig :-D

phXql 8. Jan 2005 11:25

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Zitat:

Zitat von Äfan
@mr47: Ich habe so nen Demo Chat von Indy, aber der Funktioniert bei mir nicht. Ich bekomme immer einen Socket 10006 Fehler oder so. Es würde mir reichen wenn du mir ein kleines prog machen könntest, womit man mit einem oder mehreren User reden kann, also so eine art Messenger oder Chat. Es muss keine riesen funktionen habe, ich will nur sehen, wie man nachrichten versenden und der andere sie lesen kann, also so wie dein programm, nur die grundfunktionen. Es sollte aber nicht über netzwerk sondern übers internet gehen. Das wär echt nett von dir :thumb:

PS: Haste ICQ ?

Ich habe mir die ICQ komponenten runtergeladen und die sind echt cool. Bei dem einen is ja das komplette ICQ als OS dabei... net schlecht. Diese komponenten kann man aber nur für ICQ nutzen oder ? Also ich kann keinen eigenen Chat machen ohne das sich da jemand bei ICQ anmelden muss ?

MFG

mit dem TICQLib kann man nur zu ICQ verbinden, und über deren Server chatten. Ansonsten müsstest dir halt selber was schreiben :)

mr47 8. Jan 2005 12:27

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hier en kleiner Chat mit Beschreibung als Kommentare im Programm

ehem. Benutzer 8. Jan 2005 12:41

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Sieht schon gut uas, nur solltest du vielleicht
noch deaktivieren, das man in das memo feld schreiben kann =)


Irgendwie fehlt mir da ein Haufen Zeug wenn ich es öffnen, will...

MfG

mr47 8. Jan 2005 13:05

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Zitat:

Irgendwie fehlt mir da ein Haufen Zeug wenn ich es öffnen, will...
Versteh ich nicht

Äfan 8. Jan 2005 13:14

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
@: Du brauchst Indy 9 :wink: Sonst is da ja nix ausser TButton, TEditBox und TMemo drin :gruebel: Achja... du kannst sie in delphi 7 personal net öffnen.

ehem. Benutzer 8. Jan 2005 13:18

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Wenn ich das Projekt in Delphi öffnen will, wird mir folgendes mitgeteilt:

Zitat:

Fehler beim Lesen von Command.Handlers: Eigenschaft von
Command Handlers existiert nicht. Fehler ignorieren und fortfahren?
WARNUNG: Ignorieren kann bedeuten, dass Komponenten gelöscht werden
oder Eigenschaftswerte verloren gehen.
----------------------------------------------------------
| Ignorieren | | Abbrechen | | Alle Ignorieren |
------------------------------------------------
Das gleiche steht auch nochmal für "Server.Greeting.NumericCode",
"Server.MaxConnectionReply", "Server.ReplayExceptionCode", "Server.ReplyTexts",
"Server.ReplyUnkwonCommand.NumericCode" und "Client.MaxLineAction".



(habe Indy 10)


MfG


//edit: quote richtig gesetzt

Äfan 8. Jan 2005 13:21

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Du brauchst die Indy 9 komponenten, bei den 10nern is es anders.

ehem. Benutzer 8. Jan 2005 13:24

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Ich hab jetzt aber keine Lust die 10er zu deinstallieren un die 9er draufzuhauen =)
Aber aus dem Quelltext geht schon einiges hervor, danke mr47.

Und @ Äfan, ich sehe da noch einen TCP server und client neben den buttons und der memo :lol:


MfG

Äfan 8. Jan 2005 13:29

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
jo, gut erkannt :thumb: is ja auch von indy

mr47 8. Jan 2005 13:30

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Ja der Quellcode ist auch das wichtigste.

Äfan 8. Jan 2005 13:34

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Eben, den kannste sogar in Personal öffnen :-D

donnerwurscht 25. Jan 2005 11:51

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Zitat:

Zitat von mr47
Bevor ich mir die Mühe mach dir alles zu erklären: Nein du kannst nur über Lokales LAN eine Verbindung aufbauen.

Aber ich kann dir ein Tutorial für Indy Server und Client schreiben wenn du willst. Meld dich dann einfach!


au jaaaaaaaaaaaaaaaaaaaaaaaaa bitte.............. ich flipp nämlich glei aus...


also wenn ich bei mir

ServerExecute(AThread: TIdPeerThread);


machen will, rückt er das net raus, hat das indy 10 nimme oder woran hängts ???

mr47 25. Jan 2005 13:54

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
ka. ICh arbeite nur mit Indy 9, weil das einfacher ist. Bei Indy 9 kann man mit

Delphi-Quellcode:
 var s: string;
// In onexecute:
  s:=athread.Connection.ReadLn;
Texte empfangen. Aber bei Indy 10 :gruebel:

F.W. 25. Jan 2005 14:52

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Nehmen wir mal an, es soll nur ein Chatprogramm für LAN (2 Rechner) sein, mit welchen Komponenten könnte man die Anwendung(en) dann bestücken?

Was mir jetzt einfällt ist:
  • Eine Anwendung mit IdTCPClient UND IdTCPServer (verschicken mit Client empfangen mit Server)
  • Zwei Anwendungen eine den IdTCPServer die andre den IdTCP Client (Verbindung wird hergestellt und bleibt erhalten, die Client-Anwendung prüft per Timer neue Nachrichten >> Wie im IndyBsp)
Evtl. gibt es noch andere, aber wichtig, was ist die bessere Methode?

mr47 25. Jan 2005 14:59

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Es gibt eine Möglichkeit den Server zu zentralisieren. Dh. es gibt nur EINEN Server. Dann musst du die Nachrichten mit dem TidTcpClient empfangen.

//EDIT: Such mal noch im Forum nach "Chat Internetkompatibel machen" oder so. Da kam ein nettes Beispiel (mit SC) eines zentralisierten Servers.

//EDIT2: habs gefunden: Thread

donnerwurscht 25. Jan 2005 15:04

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Zitat:

Zitat von F.W.
Nehmen wir mal an, es soll nur ein Chatprogramm für LAN (2 Rechner) sein, mit welchen Komponenten könnte man die Anwendung(en) dann bestücken?

Was mir jetzt einfällt ist:
  • Eine Anwendung mit IdTCPClient UND IdTCPServer (verschicken mit Client empfangen mit Server)
  • Zwei Anwendungen eine den IdTCPServer die andre den IdTCP Client (Verbindung wird hergestellt und bleibt erhalten, die Client-Anwendung prüft per Timer neue Nachrichten >> Wie im IndyBsp)
Evtl. gibt es noch andere, aber wichtig, was ist die bessere Methode?



also soll n reiner internetchat sein, von daher...ausserdem sollen beide gleichzeitig server und client sein... mein prob ist vielmehr das mit indy 10 irgendwie alles n bissie anders is...die verbindung scheint zwar zu klappen laut tcp view... dafür klappt die textübergabe jetzt net...

...
procedure TForm1.ServerExecute(AThread: TIdPeerThread);
var ms: string;
begin
ms:=athread.Connection.ReadLn('',300);
.....
kann ich leider net verwirklichen weil indy 10 oder ich idiot nur
....
procedure TForm1.IdTCPServer1Execute(AContext: TIdContext); // nicht deklarierter bezeichner tidcontext
var ms: string;

begin
ms:=(AContext.Connection.ReadLn('',500)); // nicht definierter bezeichner readln..
//')'erwartet aber connection gefunden ..operator oder semikolon fehlt / der linken seite
//kann nichts zugewiesen werden..
memo1.Lines.Add(ms);
..............
das scheint mein prob grad zu sein.. und noch n paar andere holprigkeiten...

aber bin halt n schlimmer anfänger..

mr47 25. Jan 2005 15:12

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Bei Delphi2005 Architect (hab ich auch) kann man doch auswählen ob man Indy 9 oder 10 will.
Also halt bei der Installation!

F.W. 25. Jan 2005 15:13

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Zitat:

Zitat von donnerwurscht
also soll n reiner internetchat sein, von daher...ausserdem sollen beide gleichzeitig server und client sein... mein prob ist vielmehr das mit indy 10 irgendwie alles n bissie anders is...die verbindung scheint zwar zu klappen laut tcp view... dafür klappt die textübergabe jetzt net...

War jetzt eigentlich als Frage nebenbei gedacht :oops:

donnerwurscht 25. Jan 2005 15:21

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
Zitat:

Zitat von mr47
Bei Delphi2005 Architect (hab ich auch) kann man doch auswählen ob man Indy 9 oder 10 will.
Also halt bei der Installation!

hab nur die trial.. hab au nimme im kopf ob s da zum auswählen ging...aber ich dacht halt ma neuer is besser, mensch ich wusst da net mal was indy ist....

was mir da so einfällt... kann ich net die vom indy bereitgestellte onexecute weglassen und ein eigenes onexecute machen irgendwie ??

endeffects 31. Jan 2005 19:04

Re: Hat jemand einen Chat oder Messenger der OS is ?
 
ich würde dir empfehlen auf vorhandene netzwerke aufzusetzen,
damit wäre dein zulauf um einiges größer als nun damit anzufangen
ein völlig neues netzwerk aufzubauen, zusätzlich könntest du natürlich
auch noch ein einfaches system für lokale netzwerke einbauen die
nach außen abgeschottet sind, einen blumenstrauß würdest du dabei
sicher bei vielen gewinnen die gequält durch ihren sysadmin
nur einen reinen inet (web)zugriff haben, dazu müßtest du
die chat traffic allerdings geschickt verstecken (dns abfragen z.b.)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:21 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