AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Dezentraler Chat fürs LAN

Dezentraler Chat fürs LAN

Ein Thema von emteg · begonnen am 16. Jun 2005 · letzter Beitrag vom 14. Feb 2006
Antwort Antwort
Seite 2 von 6     12 34     Letzte » 
emteg
Registriert seit: 16. Jun 2005
Achtung: wichtige frage/diskusion für die zukunft am ende des threads!


Hallo leute,
um mein Programm vorzustellen habe ich mich jetzt auch mal hier angemeldet

Wie der Titel schon sagt handelt es sich um einen serverlosen chat fürs lokale netzwerk. Deshalb hört mein Programm auch auf den tollen namen "LanChat 2".
Das programm sendet über den UDP-Port 33333 und ist absolut dezentral. Eingebaut sind auch ein paar programmbefehle wie z.b. /exit, die man direkt im chat eingeben kann. Nach kurzem bugfixing hat mein Programm jetzt mal die Versionsnummer 1.1.0. Trotzdem würde ich noch nicht von einer final version sprechen, da ich den chat noch um einige features ergänzen möchte, z.b. filetransfer und auswählbare sprachen. Aber der Kern der sache funktioniert schon mal!

Für die leute, die es interessiert: für die kommunikation habe ich ein kleines message protokoll geschrieben. Jede gesendete nachricht hat einen header und die clients entscheiden dann, was mit den empfangenen daten passieren soll. Genauere details vom MP und den kommandozeilen befehlen gibt es in der documentation.html.

Wer will kann mal /help im chat eingeben und auch eine kurze liste mit allen kommandos sehen.

Download 1.6.5 Stable (31.07.05):
Download

Download 1.7 dev6 (13.01.06):
Download

Ich bin natürlich für jede form von kritik, anregungen und feature wünschen offen. Ich wünsche mir das sogar
 
Benutzerbild von mr47
mr47

 
Delphi 2005 Personal
 
#11
  Alt 18. Jun 2005, 11:39
Ich hätte noch einen Vorschlag! Mach ein script dass fest vom Programm immer beim start ausgeführt wird! Dann muss man ein Script dass man selbst schreibt einfach in das Automatische reinschreiben und nicht immer selber ausführen. Ich hoffe du verstehst was ich meine.

Praktisch sowas wie Autoexec.bat von Windows


mfg mr47
  Mit Zitat antworten Zitat
emteg

 
Delphi 2009 Architect
 
#12
  Alt 18. Jun 2005, 21:09
Das mit dem autoexec ist schon implementiert! Jetzt hab ich aber ein ziemlich merkwürdiges problem:

Wenn eine PM kommt, soll ein neues form erstellt werden. Und obwohl mein code absolut unverfänglich und eigentlich fehlerfrei ist, hängt sich mein programm einfach auf
Ich nehme an, dass es was mit dem netzwerk zu tun hat. wenn ich die selbe procedure, die das form erstellt nicht durch eine chatzeile aufgerufen wird, gibt es keine probleme. sobald ich eben diese procedure aber ausführen lasse, sobald über das netzwerk eine aufforderung dazu kommt, hängt das programm. aber erst nachdem das form sichtbar ist. ich habe keine ahnung, woran das lieg
Vorschläge?

Hier ist der aufruf durchs netzwerk:
Delphi-Quellcode:
if pos('PMREQUEST', text)=1 then
  begin
    delete(text,1,10); //header entfernen
    usr:=text;
    delete(usr,1,pos('|',text)); //empfänger abschneiden
    if usr=nickname then //festellen, ob dieser cl gemeint ist
    begin
      delete(text,pos('|',text),9999); //absender abschneiden
      if IP<>IPWatch.LocalIP then
      begin
        UDPClient.Send(IP,Port,'PMACCEPT|'+Nickname);

        for i:=1 to 5 do
        begin
          if PMGrid.Cells[0,i]=text then
          begin
            PMExists:=true;
          end;
          if PMExists=false then
          begin
            if PMGrid.Cells[0,i]='then
            begin
              PMGrid.Cells[0,i]:=text;
              PMGrid.Cells[1,i]:=IP;
              CreatePMSession(1);
            end;
          end;
        end;
        
      end;
    end;
    processed:=true;
  end;
Und die erstell procedure
Delphi-Quellcode:
procedure TForm1.CreatePMSession(line: integer);
var usr: string;
    PMForm: TForm;
begin

  if line=1 then
  begin
    PMForm:=TForm.Create(Self);
    PMForm.Name:='PMForm1';
    PMForm.Caption:='TestForm';
    PMForm.Show;
  end;

end;
Ich kann die procedure auch testweise an anderer stelle aufrufen, da erscheint das fenster ohne probleme.
  Mit Zitat antworten Zitat
Jarmen_Kell
 
#13
  Alt 18. Jun 2005, 21:44
Also ich weiß nicht, woran das liegt, will dir aber einen anderen Rat mit auf den Weg geben

Diese Fenster sollen ja flüsterfenster sein, wenn ich das richtig gesehen habe.
Da du davon aber vermutlich mehrere haben wirst und die auch einzeln ansprechen musst, sei dir ein Tutorial über Pointer ans Herz gelegt^^
Ich weiß nicht mehr, wo ich das her habe, aber ich hab dir mal ein geeignetes angehenkt.
Ich habe auch mal angefangen, einen Chat zu bauen und hatte einige Probs in der Richtung, aber damit klappte es wunderbar. Vielleicht löst es ja auch dein Problem.
Angehängte Dateien
Dateityp: zip pointer-multipleforms_996.zip (15,3 KB, 37x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von ltiefland
ltiefland

 
Delphi 2005 Professional
 
#14
  Alt 18. Jun 2005, 21:47
Du erzeugst immer ein Formular "PMForm". Sobald es das einmal gibt, kracht es unweigerlich! Eine Formvariable kann man nicht mit mehreren Fenstern belegen!
Lars Tiefland
  Mit Zitat antworten Zitat
emteg

 
Delphi 2009 Architect
 
#15
  Alt 18. Jun 2005, 22:14
Zitat von ltiefland:
Du erzeugst immer ein Formular "PMForm". Sobald es das einmal gibt, kracht es unweigerlich! Eine Formvariable kann man nicht mit mehreren Fenstern belegen!
Das ist mir klar, es ist aber trotzdem nicht die problem ursache.
Mein program hänger erst genau in dem moment wo ich das form anzeigen lasse. alles andere wird brav gemacht.
Und außerdem habe ich festgestellt, dass die procedure 2mal durchlaufen wird, aber nur wenn sie übers netz kommt. Woran liegt das jetzt schon wieder?
  Mit Zitat antworten Zitat
Benutzerbild von ltiefland
ltiefland

 
Delphi 2005 Professional
 
#16
  Alt 18. Jun 2005, 22:20
Wenn sie zweimal durchlaufen wird, dann versucht er auch zweimal die Variable zu belegen. Das klappt aber nicht.

Du mußt sie irgendwo noch einmal aufrufen. Suche mal nach dem Namen der Prozedur und schau mal, ob Du das nicht irgendwie optimieren kannst.
Lars Tiefland
  Mit Zitat antworten Zitat
emteg

 
Delphi 2009 Architect
 
#17
  Alt 19. Jun 2005, 00:16
Mal wieder ein nettes update. Das mit den PMs ist immer noch nicht absolut zufriedenstellend, aber schon deutlich besser als vorher. PMs haben jetzt ein hübsches interface und man braucht keine konsolenbefehle mehr. In der Userlist einfach einen benutzer doppelt oder mit der rechten maustaste anklicken und schon kan man eine pm schicken. Ignorieren geht jetzt auch über das besagte rechtsklick menü.
Neu sind auch scripte, die beim connnecten automatisch ausgeführt werden, wenn man will. Einfach den dateinamen im settingstab eintragen und los gehts.

Version 1.3.2:
Download

Changelog:
Bugfix: Socketerror beim Verbindungsversuch wenn keine Netzwerkverbindung besteht.
Bugfix: Programm kann nicht beendet werden, wenn keine Netzwerkverbindung besteht.
Änderung: LCMP Update auf Version 1.2
Änderung: Neuorganinsierter Settingstab.
Änderung: Kommandozeile entfernt: /pmsend.
Neu: PM Interface, Nachrichten können jetzt ohne Konsolenbefehle verschickt werden.
Neu: Rechtsklick Menü in der Userlist.
Neu: Möglichkeit Scripte beim Start auszuführen.
  Mit Zitat antworten Zitat
emteg

 
Delphi 2009 Architect
 
#18
  Alt 20. Jun 2005, 16:20
Und mal wieder ein update mit neuen Features. Diesmal neu dabei: filetransfer und farben im chatlog!

Version 1.4.3 (20.06.50):
Download

Changelog:
Bugfix: Fehler, bei dem Benutzer nach Unignore weiterhin ignoriert wurden.
Änderung: LCMP Update auf Version 1.3
Neu: Unterstützung beliebig vieler Sprachen. Mitgeliefert: Englisch, Deutsch.
Neu: Verschiedene Farben im Chat.
Neu: Programm kann zum Trayicon minimiert werden.
Neu: Filetransfer! Aufgerufen wird ein filetransfer mit /sendfile Username
Neu: Neue Kommandozeilen: /me; /sendfile.
  Mit Zitat antworten Zitat
Delphi Star

 
Delphi 2005 Personal
 
#19
  Alt 20. Jun 2005, 19:14
Es wäre auch schön, wenn man das Programm in den Traybereich minimiert hat, dass man mit einem längeren (nicht dieses kurze Aufleuchte, das übersieht man leicht) blinken des Symbols oder einen Hinweiston darauf hingewiesen, das man eine Nachricht erhalten hat.
Ansonsten ein schönes Programm
  Mit Zitat antworten Zitat
emteg

 
Delphi 2009 Architect
 
#20
  Alt 21. Jun 2005, 00:10
du meinst, dass das blinken häufiger wiederholt werden soll?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:32 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