![]() |
Lan Chat Prog machen
wie schwer is das??
kann ein leihe wie ich der gerade mal einen Taschenrechner proggen kann das auch?? bruch ich iwelche besonderen sachen oder reicht mein Delphi 5 Standard aus?? |
Re: Lan Chat Prog machen
Vorraussetzung: Schau dir mal die Delphi-Hilfe zum Thema Sockets an.
Überlegung #1: TCP oder UDP UDP: funktioniert serverlos Vorteil: Kennt das programm den richtigen Port und passt das Protokoll braucht man nur noch ins LAN broadcasten und jeder, der auf dem selben Port lauscht bekommt die Nachricht. Nachteil: Man weiss nicht wirklich wer wer ist, eben weil es keine Client-Verwaltung gibt, es sei denn, du baust sie selbst. TCP: benötigt Server und Clients Vorteil: Ein Server kann die daten der Clients halten, und du weisst, wann jemand dazustösst und abbricht Nachteil: Du musst Server und Client-Seite programmieren Überlegung #2: Wie soll das Protokoll aussehn? - Benötige ich einen Header vor jeder Nachricht? - Wie soll dieser Header aussehn? - Wie unterscheide ich die Absender? - Welche Befehle soll das Protokoll kennen? ------------------------------------------------ Unter Delphi 5 müsst es TTCPClient, TTCPServer und TUDPSocket schon als Komponenten geben. Die stellen allerdings nur die pure Verbindung zur Verfügung. Alles andre hängt an dir. |
Re: Lan Chat Prog machen
Diskussion um Fomulare gehen hier weiter:
![]() |
Re: Lan Chat Prog machen
zum Thema Netzwerkchat hat Narses in der Delphi-Library ein paar gute Tutorials geschrieben. Ich verlinke mal das erste, in der Navigation da kommst du auf den Rest.
Gruß alias5000 Der Link: ![]() |
Re: Lan Chat Prog machen
da steht ab delphi 7 heisst das das dass bei mir nich geht oder das ich das nich machen muss...hab nämlcih 5
|
Re: Lan Chat Prog machen
ok...problem...ich weiss doch gar nich wie die Oberfläche aussieht...:( gibt es iwo noch bilder mit beschriftung....
oder kann man das iwo ablesen?? |
Re: Lan Chat Prog machen
1. Eigne Dir Delphi-Grundlagen an.
2. Eigne Dir Netzwerk-Grundlagen an (speziell zum TCP-Protokoll). 3. Installiere Dir die Indy-Komponenten und schau Dir die Demos an. 4. Warte damit lieber, bis Du ein bisschen Erfahrung hast ;). |
Re: Lan Chat Prog machen
wo bekomm ich das INDY ding her???
ich wollt einfach ma das tutorial nachbauen...aber das scheint ja nich für einsteiger sonder für pros zu sein... |
Re: Lan Chat Prog machen
Fang doch bitte erst mal mit den Delphi-Basics an, bevor du mit OOP anfängst ... genau da landest du nämlich voll drinne, wenn du mit Indy anfängst ... solange du Hilfe dafür brauchst, eine Variable anzulegen, kannst du das knicken!
mfG Markus |
Re: Lan Chat Prog machen
Die Reihenfolge in meinem letzten Post war nicht zufällig gewählt. :mrgreen:
|
Re: Lan Chat Prog machen
hmm...habt ihr ne tolle idee was ich so proggen kann als noob...
hab bis jetz ein Taschenrechner +-*/ und ein beschäftigungs prog wo man ganz viele fenster schliessen muss^^ |
Re: Lan Chat Prog machen
Nein. Dein Programm mit den Fenstern ist schlimmste Copy&Waste-Art. Man schreibt nicht 50 mal den gleichen Code untereinander.
Lern erstmal wie man Variablen deklariert. Dann wie man Kontrollstrukte (Verzweigungen / Schleifen) richtig anwendet. Dann lerne, wie man Objekte verwendet. Und dann schreibe den Taschenrechner und Dein Spassprogramm nochmal, und Du wirst sehen dass Du im Falle des Taschenrechners sicherlich nur noch die Hälfte, und im Falle des Spassprogrammes nur noch 1/50 von dem bisherigen Code benötigst. Und dann - dann frag nochmal nach Ideen für Programme zum weiterlernen. |
Re: Lan Chat Prog machen
![]() |
Re: Lan Chat Prog machen
Das is nich immer der gleiche code^^ die Koords sind anders...obwohl die grundform die selbe is :gruebel: :gruebel: :gruebel:
ich werd das ma mit der FOR-Schleife versuchen^^ |
Re: Lan Chat Prog machen
Kauf die ein vernünftiges Buch ... das bringt dir wirklich was!
mfG Markus PS: Meine Empfehlung hab' ich schon geschrieben ... falls du meinen Post gelesen hast ... |
Re: Lan Chat Prog machen
ich werd jetz ma im laufe der tage in die Stadt ein buch kaufen...hab ja Frei;)
könnt ihr noch andere empfehlenswerte Bücher nennen??? dann kann ich ma luschern was die so im Inet kosten und was im laden... |
Re: Lan Chat Prog machen
Evtl. findest du auch in der lokalen Bücherei einige Bücher. Dort hast du dann i.d.R. eine gewisse Auswahl, ohne groß bezahlen zu müssen. Wenn du ein Buch gut findest und dir die Ausleihzeit nicht reicht, kannst du es ja kaufen ;)
|
Re: Lan Chat Prog machen
unsere bibo hat sowas leider nich...:(
|
Re: Lan Chat Prog machen
hier ist mal ein cod von einem selbst geschriebenen chatprogramm ist noch nicht ganz fertig hatte irgenwann keine lust mehr und die 2 version war besser aber habe ich irgenwie verschlammt
Delphi-Quellcode:
nicht sehr schön aber leicht zu verstehen
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Buttons, StdCtrls, ExtCtrls, ScktComp, XPMan; type TEigenschaften = Record // Speichert die Eigenschaften einer Zelle Farbe : TColor; // Hintergrundfarbe Schrift : TFont; // Schrift end; type TForm1 = class(TForm) Panel1: TPanel; Button1: TButton; Edit2: TEdit; Button2: TButton; Memo2: TMemo; BitBtn1: TBitBtn; Button3: TButton; Button4: TButton; XPManifest1: TXPManifest; Panel2: TPanel; Panel3: TPanel; Panel4: TPanel; ComboBox1: TComboBox; Label2: TLabel; Button5: TButton; FontDialog1: TFontDialog; ClientSocket1: TClientSocket; ServerSocket1: TServerSocket; ComboBox2: TComboBox; Edit1: TEdit; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); procedure Button3Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Edit2KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure Button5Click(Sender: TObject); procedure FormShow(Sender: TObject); private Server:TServerSocket; Client:TClientSocket; MSG: String; { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var i: integer; begin for i:=0 to ComponentCount-1 do if Components[i] is TPanel then (Components[i] as TPanel).ParentBackground:=false; end; procedure TForm1.Button2Click(Sender: TObject); begin Server.Open; try Client.Socket.SendText((Edit1.Text)+': '+Edit2.Text); Panel4.Caption:= ('Gesendet an: ')+ ComboBox1.Text; Panel4.Visible:= True; Memo2.Lines.Add((Edit1.Text)+': '+Edit2.Text); Edit2.Clear; Edit2.Repaint; except Showmessage('Erst mit IP Verbinden'); end; end; procedure TForm1.Button1Click(Sender: TObject); begin Client:= TClientSocket.Create(Form1); try Panel3.Caption:= ('Verbunden mit: ')+ ComboBox1.Text; Client.Port:= (Combobox2.ItemIndex); Client.Host:= (ComboBox1.Text); Client.Open; Panel3.Visible:= True; Panel2.Visible:= False; except Client.Free; Showmessage('Client Fehler'); end; end; procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); begin MSG:= Socket.ReceiveText; Memo2.Lines.Add({(Socket.LocalHostEdit1.Text)+': '+}MSG); Panel4.Visible:= True; Panel4.Caption:= ('Gesendet an: ')+ ComboBox1.Text; Edit2.Font:= FontDialog1.Font; end; procedure TForm1.Button3Click(Sender: TObject); begin Memo2.Clear; end; procedure TForm1.Edit2KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin If key = VK_return then Button2.Click; end; procedure TForm1.Button5Click(Sender: TObject); begin FontDialog1.Execute; Edit2.Font:= FontDialog1.Font; Edit2.repaint; Memo2.Font:= FontDialog1.Font; Memo2.repaint; end; procedure TForm1.Button4Click(Sender: TObject); begin Server.Free; Client.Free; Panel2.Visible:= True; Panel3.Visible:= False; end; procedure TForm1.FormShow(Sender: TObject); begin Server:= TServerSocket.Create(Form1); try Server.Port:= (Combobox2.ItemIndex); Server.Open; Server.OnClientRead:= ServerSocket1ClientRead; except Server.Free; Showmessage('Server Fehler'); end; end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:31 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