![]() |
Local Chat
Liste der Anhänge anzeigen (Anzahl: 1)
So, nu ist es eigentlich fertig.
Es handelt sich um ein "just an other Chat Program". Es wurde erfolgreich unter Win Me, Win 2000, Win NT und Win XP getestet. Im Moment suche ich nur noch eine Möglichkeit das man Nachrichten an das gesamte Netzwerk schicken kann. So wie es jetzt ist, kann man immer nur an einen einzelnen PC eine Nachricht senden. |
Hab noch vergessen zu erwähnen das das abenteurliche an dem Programm die vier verfügbaren Skins sind.
|
Hi,
ach Mist, ich glaub zwar dass ich meinem eigenen Chat der gerade inner Werft steht zwar ein Beinchen stell, aber ich denke, dass keiner von uns beiden in irgendeiner Weise messbaren Profit aus der Sache schlagen wird. Hab mir dein Programm übrigens noch nicht angesehen (sorry), mach ich im Laufe des Abends wenns kühler wird und ich meinen Rechner länger laufen lass (sons wird die Bude zu heiß). Zu dem Nachrichten an alle Rechner gleichzeitig schicken: UDP- Broadcasting. Das preise ich jetz glaube ich zum dritten Mal an. Du holst dir die Indys und guckst dir da die Tutorials zu UDP an. Ein Broadcast ist quasi wie du schon sagtest eine Nachricht an das gesamte Netzwerk (an einem bestimmten Port). Das Verschicken eines Broadcasts ist recht einfach:
Delphi-Quellcode:
Wie gesagt, ich (für meinen Teil) bevorzuge dafür die Indys. Is schön einfach und komfortabel.
UDPClient1.Broadcast('Nachrichtentext', port);
Wenn ein Broadcast ankommt, dann kriegst du das über das Ergeinis "OnUDPRead" vom UDPServer mit:
Delphi-Quellcode:
Is eigentlich nichts weiter als eine Art Auszug aus den Tutorials. Da übers Netzwerk in diesem Fall nur gestreamt wird, müssen wir erstmal den String der uns geschickt wurde aus seinem Stream rausholen um damit leichter weiterarbeiten zu können.
procedure TForm1.UDPServer1UDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle);
var sstream: TStringStream; s: string; begin sstream:= TStringStream.Create(''); //den String-Stream ohne Inhalt erstellen try sstream.CopyFrom(AData, AData.Size); //den Stream aus AData in unseren Stream schreiben s:= sstream.DataString; //Inhalt des Streams in einen normalen String schreiben finally sstream.free; //den Stream aus dem Speicher löschen end; end; ABinding ist beim Broadcasting (jedenfalls beim schlichten Empfangen) nicht so wichtig. Da stehen so Sachen wie Absender- IP und so drin. Das is ganz nützlich wenn du etwas, was dir per UDP geschickt wurde beantworten willst. Per UDP kannst du natürlich auch ganz normal Nachrichten verschicken (also keinen Broadcast), dafür bietet sich allerdings TCP/IP besser an. Wenn du jetzt aber wissen willst, wer dir den Broadcast geschickt hast und du diesen evtl. gezielt an den Absender beantworten willst, musst du ABinding auch noch auslesen. Da verweise ich mal auf die Tutorials der Indys. So, dann werd ich mir mal dein Prog ziehen nachdem ich so viel Bullsh.. gelabert hab. Bis dann, S - tefano |
Also ich sag mal so.
BOOOOOOOOOOOOOOOOOOOOAAAAAAAAAAAAAAAAHHHHHHHHH, WAS FÜR EIN HAMMER- DESIGN!!! Wie hast du das gemacht? Mit Skinning- Komponenten oder hast du dir mal nen kleinen Spaß draus gemacht mit deinen API- Kenntnissen anzugeben ;-) ? Also wie gesagt, das Design ist schonmal schwer zu toppen. Allerdings wärs ganz cool, wenn man das Programm noch im normalen Windows- Styl anzeigen lassen könnte. Auch was schönes wäre Linux oder Max OSX- Look. Das Programm funktioniert bei mir tadellos, hab noch keinen Fehler entdecken können (jedenfalls stürzt es beim Chatten nicht ab...). Gut finde ich auch die Funktion mit der man das Netzwerk durchsuchen kann. N bissken komisch finde ich die Funktionsweise deines Programms im Lan, beim Chatten. Verstehe ich das richtig, dass sich also quasi jeder da einloggen kann, aber dass man wenn man einem Rechner was schicken will immer zuerst den Rechner auswählen und dann die Nachricht abschicken muss? Also quasi, ich selbst empfange alles, was man mir schickt, kann aber nur an einen Client senden. Richtig? Dann find ichs in diesem Fall ziemlich umständlich, wenn man mit mehreren Leuten chatten will. Dann muss man für jede Nachricht wieder in ne andere Registerkarte und da nen anderen Client auswählen, und wieder zurück und die Nachricht verschicken. Da wärs ganz nützlich irgendwie cone Art Combobox in das Chatfenster einzubauen, das dieselben Items hat wie die Liste auf der letzten Registerkarte. Aber wie in meinem anderen Post und in deinem Post schon gesagt, diese Art (vor allen Dingen "ergonomisch" gesehen) nen Chat anzulegen eigent sich wirklich mehr dafür, wenn man an alle gleichzeitig was schicken kann. Und das geht am besten (wie ich bereits sagte) per UDP- Broadcasting. Aber ansonsten recht gut durchdacht. Z.B. das mit der Statusleiste unten wo dann manchmal Infos eingeblendet werden. An sowas würd ich in meiner ersten Version ja nie denken... ;-) Bis dann, S - tefano |
Zitat:
:shock: Dem kann ich mich nur voller Erstaunen und Überwältigung anschließen! Hammermäßig! |
Zitat:
WOAAAHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH, DAS IST VOLL DER HAMMER DAS DESIGN!!! Wie haste das gemacht? Leider hab ich zur Zeit kein Netzwerk, also konnte ich es nicht ganz testen... senden an mich selbst ging nit... |
Hi,
Danke für euer Feedback :wink: Das Design ist -wie von S-tefano richtig erraten- mittels skinning komponenten umgesetzt worden. Jetzt weiss ich nicht ob ich die Komponentensammlung verraten soll, den das Design ist bis jetzt sehr selten... :wink: sie sind auf jedenfall Shareware (~ 50 US$) aber beinhalten dafür 108 visible und non visible Komponenten und DB Komponenten sowie einen Skinbuilder um eigene Skins zu machen. Demnächst baue ich auch noch eine Pingfunktion ein (ähnlich wie cmd.exe)... @ S-tefano: Kannst du mir diese Indy-Demo nennen? Habe mit Delphi 6 Prof natürlich die Indys, aber ich finde nicht was du meinst... |
Dsighn ist hammergeil die Buttons will ich auch haben!!!!!! :bouncing4:
|
Bitte
|
Ich geb dir was du willlst .....lol :)
|
Hm, schade dass die Teile Shareware sind. Allerdings isses wirklich n bissken doof, wenn jeder die Teile hätte.
Weil dann sieht irgendwie jedes Programm gleich aus und der Sharewarekerl freut sich dass sein Skin die Welt erobert... Und eigene Skins kreiren... da kann man dann ja gleich Images nehmen und deren Bild dann im Mouseover und so verändern. Aber naja, hier ein Auszug aus der hinterlegten Readme- Datei in meinem Delphi7\Demos\Indy - Ordner: Zitat:
Bis dann, S - tefano |
Hmm also ich habe bei Delphi 6 auch die UDP Demos von Indy, ich werde draus aber nicht ganz schlau.
Muss einer der clients als Server fungieren? Wenn ich eine Message schreibe müssen alle oder mindestens 2 maschinen laufen und auf beiden muss die Server-Demo gestartet sein, ansonsten gibt es einen Timeour (no response...). aber woe sehe ich die gesendete message??? |
Das liegt daran wie die Demo umgesetzt wurde. Die stellt will dann so wie ich das noch weiß an eine bestimmte IP was verschicken, verwendet nicht direkt Broadcasting, glaub ich.
Wie man die Komponenten bedient, hab ich übrigens ja auch schon in meinem ersten Post geschrieben ;-) S - tefano |
Hi,
erstmal ist das Programm ziemlich gut gelungen. Wenn ich allerdings auf einen Namen klicke, dann wird er in das Edit-Feld mit dem Empfänger hintendran gefügt, dass ist etwas unglücklich. Zum Design: ich kann mich den anderen nur anschließen. Auch wenn es Shareware ist, solltest du sagen, was das für Komponenten sind. Wenn es dir eigentlich nur darum geht, dass du deine "Ehre" durch diese Komponenten sichern willst, dann ist das ziemlich bekloppt (ich will dir nichts anhängen! Ich sage nur wie ich das fände). Chris |
Zitat:
Zitat:
![]() Man kann sich dort auch eine umfangreiche Demoversion runterladen. Dann gibt es noch eine VCL Sammlung um Win XP, MacOS und (bis jetzt) noch drei weitere No Name Skins zu emulieren: ![]() Einige Komponenten sind aber etwas bugy die laut Author mit dem nächsten Update (Version 4) gefixt sein sollen, sieht auch recht nett aus. *wieder an die Arbeit geht* :coder: |
Zitat:
Chris |
Ich hab die Business, die Dynamic ist mehr oder weniger das gleiche, wo da aber jetzt genau der Unterschied ist müsste ich selbst nochmal nachlesen...
|
Hi
ich habs mir grad mal gezogen, aber ich bekomms einfach nicht installiert, er findet irgendwelche *.pas Dateien nicht. *.pas sind aber überhaupt nicht dabei :evil: Kann mir da jemand helfen ? Hab das trial package für D6 & samples with compiled demos, skins, skin editor, help gezogen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:15 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