Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Local Chat (https://www.delphipraxis.net/5028-local-chat.html)

Tim.exe 21. Mai 2003 10:01


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.

Tim.exe 21. Mai 2003 12:02

Hab noch vergessen zu erwähnen das das abenteurliche an dem Programm die vier verfügbaren Skins sind.

S - tefano 30. Mai 2003 17:13

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:
UDPClient1.Broadcast('Nachrichtentext', port);
Wie gesagt, ich (für meinen Teil) bevorzuge dafür die Indys. Is schön einfach und komfortabel.
Wenn ein Broadcast ankommt, dann kriegst du das über das Ergeinis "OnUDPRead" vom UDPServer mit:

Delphi-Quellcode:
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;
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.
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

S - tefano 30. Mai 2003 17:29

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

Stanlay Hanks 30. Mai 2003 17:32

Zitat:

Zitat von S - tefano
Also ich sag mal so.
BOOOOOOOOOOOOOOOOOOOOAAAAAAAAAAAAAAAAHHHHHHHHH, WAS FÜR EIN HAMMER- DESIGN!!!


:shock: Dem kann ich mich nur voller Erstaunen und Überwältigung anschließen! Hammermäßig!

mirage228 30. Mai 2003 19:02

Zitat:

Zitat von Stanlay Hanks
Zitat:

Zitat von S - tefano
Also ich sag mal so.
BOOOOOOOOOOOOOOOOOOOOAAAAAAAAAAAAAAAAHHHHHHHHH, WAS FÜR EIN HAMMER- DESIGN!!!


:shock: Dem kann ich mich nur voller Erstaunen und Überwältigung anschließen! Hammermäßig!


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...

Tim.exe 2. Jun 2003 15:14

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...

bundy 2. Jun 2003 15:29

Dsighn ist hammergeil die Buttons will ich auch haben!!!!!! :bouncing4:

bundy 2. Jun 2003 15:32

Bitte

bundy 2. Jun 2003 15:32

Ich geb dir was du willlst .....lol :)

S - tefano 2. Jun 2003 15:34

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:

Indy V9 Demos

Demo applications for Indy V9 are available from the
downloads section on the Indy site at:

http://www.nevrona.com/indy
Da gibts auch immer wieder aktualisiertere Versionen der Demos. Kann man sich glaub ich als Package runterladen. Einzeln weiß ich nich...

Bis dann,

S - tefano

Tim.exe 2. Jun 2003 17:35

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???

S - tefano 2. Jun 2003 17:45

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

CalganX 2. Jun 2003 18:25

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

Tim.exe 3. Jun 2003 06:54

Zitat:

Zitat von Chakotay1308
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.

Hmm das ist komisch, genau das war die letzte Funktion die ich programmiert hatte, wenn man auf einen namen klickt wird eigentlich erstmal das edit gelöscht und dann erst der angeklickte name reinkopiert, und bei mir klappt das wunderbar...

Zitat:

Zitat von Chakotay1308
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

Hätte ich schon gemacht, wollte euch nur etwas zappeln lassen :wink: Hier der Link:
http://www.almdev.com
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:
http://www.sunisoft.com
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:

CalganX 3. Jun 2003 10:39

Zitat:

Zitat von Tim.exe
Hätte ich schon gemacht, wollte euch nur etwas zappeln lassen :wink: Hier der Link:
http://www.almdev.com
Man kann sich dort auch eine umfangreiche Demoversion runterladen.

Welches davon? Business oder Dynamic???

Chris

Tim.exe 3. Jun 2003 11:09

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...

MrKnogge 9. Jun 2003 18:13

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 13:10 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