![]() |
Chatprogramm ICQ-ähnlich
Hallo,
heute startet meine Projektfase für das erstellen eines Chatprogramms. Ich dachte dabei an einen Login, eine Registrierungsseite und nach login eine Kontaktliste mit IDs bzw. Nicknames der User. Nach doppelklick auf einen Kontakt sollte man sich mit diesm unterhalten können. Da meine Delphi kenntnisse bisher nicht die Besten sind hoffe ich hier auf Hilfe und Tipps :wink:.. Momentan habe ich Delphi 7 Architekt. Vielen Dank im Vorraus Addi :) |
AW: Chatprogramm ICQ-ähnlich
Erstmal Herzlich Willkommen in der DP
Als kleine Anregung findest du ein riesen Sortiment an kleinen Tutorials und Tipps & Tricks rund um Delphi auf ![]() Dort kannst du deine Fähigkeiten im Umgang mit Delphi erweitern =) Für einen Chat bietet sich natürlich die TCP Variante von den Indys an. Vielleicht solltest du dir dazu auch Tutorials durchlesen wie man einen Server und Clienten programmiert und Nachrichten verschickt =) |
AW: Chatprogramm ICQ-ähnlich
Gut, danke :)
Ich werde es mir anschauen und werde bestimmt noch weitere Fragen während des Projekts haben. Da ich Delphi 7 von einem Freund habe, kann ich diese Version nicht registrieren und damit nicht Updaten und somit auch das neue Indy nicht verwenden :( Zunächst setze ich mich mit den Äußerlichkeiten außeinander :wink: Gruß Addi |
AW: Chatprogramm ICQ-ähnlich
Zitat:
Indy sind externe Komponenten. Diese können bei dem Hersteller heruntergeladen werden: ![]() |
AW: Chatprogramm ICQ-ähnlich
Vielleicht hilft dir auch dieses Thema:
![]() (Oder unten in der Klammer hinter dem --> klicken. Führt dann direkt zu dem Thema) |
AW: Chatprogramm ICQ-ähnlich
Liste der Anhänge anzeigen (Anzahl: 1)
Danke, sehr hilfreich, werde ich noch gebrauchen können :)
Das mit dem indy werde ich morgen testen, da ich momentan mit Delphi6 an einem anderen PC arbeite. Die Oberfläche wäre soweit fertig -> siehe Anhang. Verbesserungsvorschläge nehme ich gerne an :wink: Gruß Addi |
AW: Chatprogramm ICQ-ähnlich
Zitat:
mfg |
AW: Chatprogramm ICQ-ähnlich
hehe, diesen Fehler habe ich auch immer gemacht, immer erst mit der Oberfläche angefangen.
Aber kümmer dich besser erstmal um die Programmierung, die Oberfläche ist dann eigentlich "Pille Palle" KÜMMER DICH ZUERST um das SCHWIERIGSTE :) |
AW: Chatprogramm ICQ-ähnlich
Das heißt zuerst Verbindung aufbauen können, dann Kontaktliste etc und Login :).
Werde mich morgen damit auseinandersetzen. Dachte dabei daran, dass jeder Benutzer eine ID bekommt, welche dann in der Kontaktliste erscheint. Eben wie ICQ.. Wie ist das zu machen? :wink: Gruß Addi |
AW: Chatprogramm ICQ-ähnlich
Zitat:
Auf jeden Fall musst du dir eine Art Chat-Protokoll überlegen, also wie deine Nachrichten von Client zu Server aufgebaut sein sollen, damit du nicht nur Text-Nachrichten verschicken kannst, sondern dem Server beispielsweise auch mitteilen kannst, wenn sich ein Benutzer an- oder abmeldet o.ä. Im einfachsten Fall kannst du dir "Schlüsselwörter" überlegen, die dem Server eine bestimmte Aktion seitens des Benutzers mitteilen. So könnte beispielsweise "#login Nickname" dafür stehen, dass sich der Bentuezr mit dem Namen "Nickname" soeben am Server angemeldet hat. Der Server kann auf solche Nachrichten dann entsprechend reagieren und den Clients beispielsweise die aktualisierte Benutzer-Liste schicken. Hier im Forum sollte sich einiges zu Chat-Programmen und Ideen für solche einfachen Protokolle finden lassen, da so ein Chat-Programm wohl ein recht beliebtes Projekt ist. Leider scheinen viele die eigentliche Arbeit dahinter zu unterschätzen und so wird aus den meisten solcher Projekte oft nur ein Stück Software, das wenn überhaupt nur mehr schlecht als recht funktioniert... |
AW: Chatprogramm ICQ-ähnlich
Willst du "nur" die Oberfläche programmieren oder die komplette Infrastruktur (Protokoll, Server, ...)?
|
AW: Chatprogramm ICQ-ähnlich
Zitat:
Zitat:
das mit dem eigenen chat-protokoll müsste ich mich dann noch informieren, wie das zu machen ist. soviel zu meiner grundidee :) momentan liege ich aber mit 40° fieber im bett und werde mich im laufe der nächsten tage informieren. Gruß Addi |
AW: Chatprogramm ICQ-ähnlich
Also wenns wirklich nur die Oberfläche sein soll, dann würde ich Jabber empfehlen. Das ist intern mit XML aufgebaut und gar nicht mal so schwer, die Grundfunktionen zu implementieren. Wenn du das dann auch noch verenden willst, gibt es serverseitige Jabber-Transporter, die dir helfen, deinen z.B. ICQ-Account in deine Jabber-Kontaktliste aufzunehmen.
Bernhard |
AW: Chatprogramm ICQ-ähnlich
Zitat:
|
AW: Chatprogramm ICQ-ähnlich
Liste der Anhänge anzeigen (Anzahl: 1)
SOOO mein Chatprogramm sieht schon ganz gut aus. Registrierung, Login und eine Kontaktliste sind realisiert. Auch Nachrichten kann ich schon schreiben.. Wie kann ich nun, wenn eine Nachricht eingeht, die nicht von dem Kontakt ist mit dem ich schreiben, ein neuer Tab geöffnet wird? (mit dem chattext des neuen kontaktes) Also so wie in ICQ.. für ansätze wie ich da ran gehen soll wäre ich sehr dankbar. :)
Mein Projekt ist im Anhang ;) da kann man auch sehen wie Nachrichten verschickt werden. lg Addi |
AW: Chatprogramm ICQ-ähnlich
Ganz einfacher Ansatz: Du merkst, dass eine Nachricht kommt. Dies veranlasst, dass ein Tab geöffnet wird (so, als würdest du gerne mit diesem Chatten) und dann wird da die Nachricht reingeschrieben oder der Tab holt sich per Event/o.Ä. die Nachricht ab.
Bernhard |
AW: Chatprogramm ICQ-ähnlich
benutzt du eine Firebird-Datenbank? Wenn ja, dann schau dir mal die Funktionalität POST_EVENT an. Das hilft dir bestimmt weiter.
|
AW: Chatprogramm ICQ-ähnlich
nein ich benutze keine datenbank ^^
ich werde das morgen mit den tabs mal testen.. |
AW: Chatprogramm ICQ-ähnlich
Zitat:
Das heisst jetzt XMPP und nicht mehr Jabber [/klugscheiss] |
AW: Chatprogramm ICQ-ähnlich
Hallo,
ich habe vor paar Jahren auch mal einen Chat geschrieben. Ich habe damals ein Zeichen-terminiertes Protokoll genutzt, was für den Anfang auch garnicht schlecht ist. Dazu gibt es auch viele Tuts. Aber bevor du deinen Chat wie ICQ ausbaust, gebe ich dir einen Tipp: beschäftige dich zuerst mit den Verbindungsgeschichten und Netzwerkgrundlagen. Das Schwierigste ist nicht eine Verbindung aufzubauen oder Text zu senden, sondern das ganze Handling drum herum. Z.B. Was passiert, wenn der Server oder Client die Verbindung trennt. Oder was passiert wenn der Client-Benutzer den Prozess killt und kein Disconnect-Befehl zum Server kommt (siehe Ping-Timeout). Da hab ich am meisten bei gelernt :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:17 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