![]() |
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 |
Re: Hat jemand einen Chat oder Messenger der OS is ?
![]() 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: |
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:
|
Re: Hat jemand einen Chat oder Messenger der OS is ?
Zitat:
|
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 |
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:
(PS: Dafür setze ich CoolTrayIcon von Torry.net ein.)
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. |
Re: Hat jemand einen Chat oder Messenger der OS is ?
Haste des auch zum downloaden ? Also als projekt ?
|
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:
:???: PS: Ich arbeite gerade an ner neuen Version, mit anständigem Layout :mrgreen: |
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 |
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! |
Re: Hat jemand einen Chat oder Messenger der OS is ?
Zitat:
moeICQ - Open Source ICQ-Messenger, der benutzt auch diese TICQLib. beides erhältlich auf ![]() |
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 |
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 |
Re: Hat jemand einen Chat oder Messenger der OS is ?
Zitat:
|
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
|
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 |
Re: Hat jemand einen Chat oder Messenger der OS is ?
Zitat:
|
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.
|
Re: Hat jemand einen Chat oder Messenger der OS is ?
Wenn ich das Projekt in Delphi öffnen will, wird mir folgendes mitgeteilt:
Zitat:
"Server.MaxConnectionReply", "Server.ReplayExceptionCode", "Server.ReplyTexts", "Server.ReplyUnkwonCommand.NumericCode" und "Client.MaxLineAction". (habe Indy 10) MfG //edit: quote richtig gesetzt |
Re: Hat jemand einen Chat oder Messenger der OS is ?
Du brauchst die Indy 9 komponenten, bei den 10nern is es anders.
|
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 |
Re: Hat jemand einen Chat oder Messenger der OS is ?
jo, gut erkannt :thumb: is ja auch von indy
|
Re: Hat jemand einen Chat oder Messenger der OS is ?
Ja der Quellcode ist auch das wichtigste.
|
Re: Hat jemand einen Chat oder Messenger der OS is ?
Eben, den kannste sogar in Personal öffnen :-D
|
Re: Hat jemand einen Chat oder Messenger der OS is ?
Zitat:
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 ??? |
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:
Texte empfangen. Aber bei Indy 10 :gruebel:
var s: string;
// In onexecute: s:=athread.Connection.ReadLn; |
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:
|
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: ![]() |
Re: Hat jemand einen Chat oder Messenger der OS is ?
Zitat:
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.. |
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! |
Re: Hat jemand einen Chat oder Messenger der OS is ?
Zitat:
|
Re: Hat jemand einen Chat oder Messenger der OS is ?
Zitat:
was mir da so einfällt... kann ich net die vom indy bereitgestellte onexecute weglassen und ein eigenes onexecute machen irgendwie ?? |
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