Autor Beitrag
darkdester
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 100



BeitragVerfasst: Di 11.01.05 21:33 
hallo leute

client server is garnet so leicht
vorallen erstmal wissen das man da sin delphi7 xtra freischalten muss... *puh*

so hab dieses tut mal nachgemacht
www.dsdt.info/tipps/?id=598

leider funktionierts nicht

kommt kein text

port sind gleich
ip is 127.0.0.1

theoretisch müsste alles stimmen...

hat einer ne idee worans noch liegen könnte?

mfg darkdester :)

Moderiert von user profile iconAXMD: Titel geändert (Grammatikfehler ;))
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 11.01.05 22:07 
Moin!

Zeig mal den Code, dann kann man auch Fehler suchen... :wink:

cu
Narses
darkdester Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 100



BeitragVerfasst: Di 11.01.05 22:19 
Narses hat folgendes geschrieben:
Moin!

Zeig mal den Code, dann kann man auch Fehler suchen... :wink:

cu
Narses


ok hier

client

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
procedure TForm1.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
ClientSocket1.Port :=23//Festlegung des Ports
  ClientSocket1.Host :='127.0.0.1'//IP des Zielrechners
  ClientSocket1.active := true; //Aufbau der Verbindung

end;

procedure TForm1.Button1Click(Sender: TObject);

begin
  if ClientSocket1.Active then
    ClientSocket1.Socket.SendText('Hallo Server');
    Radiobutton1.checked:=true;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ClientSocket1.Active:=false;

end;



Server

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
procedure TForm1.ServerSocket1Accept(Sender: TObject;
  Socket: TCustomWinSocket);
begin
ServerSocket1.Port :=23//Festlegung des Ports
ServerSocket1.active :=true; //Aktivierung der ServerSocket
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.lines.Add(Socket.ReceiveText);
end;

procedure TForm1.loech(Sender: TObject);
begin
Memo1.Text:='';
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ServerSocket1.active:=false;
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 11.01.05 22:33 
Moin!

So wird das nix, du hast da die "Reihenfolge" durcheinander gebracht:

Du kannst nicht im Connect-Ereignis des Sockets erst den Port setzen und den Socket aktivieren, dann wird das Eregnis nie eintreten. Beim Server ähnlich.

Guckst du hier, da hab ich mal eine Mini-Anwendung in der Art gemacht.

cu
Narses
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Di 11.01.05 22:34 
darkdester hat folgendes geschrieben:

ok hier


Server

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm1.ServerSocket1Accept(Sender: TObject;
  Socket: TCustomWinSocket);
begin
ServerSocket1.Port :=23//Festlegung des Ports
ServerSocket1.active :=true; //Aktivierung der ServerSocket
end;

...


Ich denke, genau da ist der fehler.

Du solltest den Serversocket nicht in OnAccept aktivieren, sondern in Form1.OnCreate oder ähnlichem

Gruß
Ken

_________________
Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
darkdester Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 100



BeitragVerfasst: Mi 12.01.05 15:07 
CenBells hat folgendes geschrieben:
darkdester hat folgendes geschrieben:

ok hier


Server

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm1.ServerSocket1Accept(Sender: TObject;
  Socket: TCustomWinSocket);
begin
ServerSocket1.Port :=23//Festlegung des Ports
ServerSocket1.active :=true; //Aktivierung der ServerSocket
end;

...


Ich denke, genau da ist der fehler.

Du solltest den Serversocket nicht in OnAccept aktivieren, sondern in Form1.OnCreate oder ähnlichem

Gruß
Ken


oncreate oder so bringt er fehler
mit wert kann nciht verändert werden

hmm onavtivate geht a net war klar
übern button lässt er sich a net aktiviern
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 12.01.05 15:10 
Moin!

Haste dir mal meinen Code aus dem Beispiel-Link oben angesehen?

Abgesehen davon ist dein Deutsch nur sehr schwer verständlich... :gruebel:

cu
Narses
darkdester Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 100



BeitragVerfasst: Mi 12.01.05 16:25 
ich schaffs einfach nicht den text zu sende :(

bsp hab cih angeschaut und was übernommen und geändert geht trotzdem nicht
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 12.01.05 16:26 
Moin!

darkdester hat folgendes geschrieben:
ich schaffs einfach nicht den text zu sende :(
bsp hab cih angeschaut und was übernommen und geändert geht trotzdem nicht

Ja, dann her mit dem Code, oder?

cu
Narses
darkdester Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 100



BeitragVerfasst: Mi 12.01.05 18:30 
Narses hat folgendes geschrieben:
Moin!

darkdester hat folgendes geschrieben:
ich schaffs einfach nicht den text zu sende :(
bsp hab cih angeschaut und was übernommen und geändert geht trotzdem nicht

Ja, dann her mit dem Code, oder?

cu
Narses


entschuldigung vergess ich immer

client

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
procedure TForm1.FormCreate(Sender: TObject);
begin
  ClientSocket1.active := true; //Aufbau der Verbindung
ClientSocket1.Port :=5555//Festlegung des Ports
ClientSocket1.Host :='127.0.0.1'//IP des Zielrechners
end;
procedure TForm1.Button1Click(Sender: TObject);

begin
  if ClientSocket1.Active then
    ClientSocket1.Socket.SendText('Hallo Server');
    Radiobutton1.checked:=true;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ClientSocket1.Active:=false;

end;



server

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(Socket.RemoteAddress+': '+Socket.ReceiveText);
end;

procedure TForm1.loech(Sender: TObject);
begin
Memo1.Text:='';
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ServerSocket1.active:=false;

end;
 procedure TForm1.FormCreate(Sender: TObject);
begin
  ServerSocket1.Active := TRUE;
  ServerSocket1.Port :=5555//Festlegung des Ports
end;
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 12.01.05 18:59 
Moin!

Jau, dann mal an´s Werk:

client

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
procedure TForm1.FormCreate(Sender: TObject);
begin
  ClientSocket1.Port := 5555//Festlegung des Ports
  ClientSocket1.Host := '127.0.0.1'//IP des Zielrechners
  ClientSocket1.active := TRUE; //Aufbau der Verbindung
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if ClientSocket1.Active then
    ClientSocket1.Socket.SendText('Hallo Server');
    Radiobutton1.checked:=true;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ClientSocket1.Active := FALSE;
end;

1. Du machst das oben in der falschen Reihenfolge, erst die Parameter setzen, dann den Socket öffnen.
2. Beim zweiten Highlight bin ich nicht sicher, ob du falsch eingerückt hast oder begin/end vergessen?


server

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
procedure TForm1.FormCreate(Sender: TObject);
begin
  ServerSocket1.Port := 5555//Festlegung des Ports
  ServerSocket1.Active := TRUE;
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Memo1.Lines.Add(Socket.RemoteAddress+': '+Socket.ReceiveText);
end;

procedure TForm1.loech(Sender: TObject);
begin
  Memo1.Clear;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ServerSocket1.Active := FALSE;
end;

1. Das gleiche Spiel, erst Parameter, dann aktivieren!
2. Wenn du ein Memo löschen willst, geht das auch einfacher.


Damit sollte es laufen. Wenn immer noch nicht, dann machst du irgendwas grundlegendes falsch oder hast einen Fehler im Windows-System.

cu
Narses
darkdester Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 100



BeitragVerfasst: Mi 12.01.05 19:40 
geht nicht...


leigts vlt am 127.0.0.1?
weil bin an nem router
aber theo. müsstes trotzdem gehen
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 12.01.05 19:45 
Moin!

Pack dein Projekt mal in ein ZIP und mach des downloadbar, ich schau mal rein.

cu
Narses
darkdester Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 100



BeitragVerfasst: Mi 12.01.05 20:15 
Narses hat folgendes geschrieben:
Moin!

Pack dein Projekt mal in ein ZIP und mach des downloadbar, ich schau mal rein.

cu
Narses


alos entweder is ein ganz dummer fehler drin oder mein win is puti

s21.yousendit.com/d....QKTI5J52MDLSX5HVZVNY

einfach link kopieren und downloaden

ps: zip is das letzte, rar is das beste, na ok eigentlcih uha aber das kennen nur die wenigsten ;)
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 12.01.05 20:44 
Moin!

Ich hab kein WinRar. Kein ZIP, keine Hilfe.

cu
Narses
demo88
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 160

Ubuntu 6.04, Win XP
Delphi 7
BeitragVerfasst: Mi 12.01.05 20:56 
also ich hab mir das gerdade runtergeladen...und hab keinen fehler gefunden
(ich hab ein jahr lang nur mit tserver und tclientsocket gearbeitet um einen chat zu proggen leider bin ich dann auf delphie 2005 umgestiegen und hab keinen bock die alten kompos zu importieren),
aber das programm klappt bei mir auch nicht.
darkdester Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 100



BeitragVerfasst: Do 13.01.05 14:34 
Narses hat folgendes geschrieben:
Moin!

Ich hab kein WinRar. Kein ZIP, keine Hilfe.

cu
Narses


..., pratkisch jeder download is jetzt rar
zip nutzt kaum noch jemand << weils nur mist ist

lad dir winrar und fertig...


naja anschneinend is trotzdem kein fehler drin geht aber trotzdem nicht
sehe einfach keinen text :(


ps: winrar kann fast alles öffnen auch deine achso geliebten zip files ;)


edit: welche möglichkeiten habe ich den noch server und client zu schreiben?
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 13.01.05 19:19 
Moin!

Zunächst mal: womit und wohinein ich Dateien packe und auspacke, ist meine Sache - du willst Hilfe, du hast das Problem, nicht ich.

Was noch Probleme machen könnte, ist eine Firewall; sofern vorhanden, schonmal abgeklemmt? Mal mit einem Portscanner geschaut, ob denn der Port geöffnet wird, wenn der Server läuft?

cu
Narses
WeBsPaCe
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2322
Erhaltene Danke: 1

FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
BeitragVerfasst: Do 13.01.05 20:17 
Ich hab' mal schnell ein Prog geschrieben, das du einfach nur noch so abändern musst, damit es so aussieht wie du's haben willst:

glaessi.piranho.com/delphi/Project1.zip

Und für Narses hab ich dein RAR-Archiv nochmal neu gepackt, als ZIP:

glaessi.piranho.com/delphi/Original.zip

:wink:

//EDIT: Ich merke gerade, dass piranho wieder Probleme mit seinen Servern hat... Im Moment irgenwie also nur Upload, kein Download möglich... :cry: Vielleicht geht's ja irgenwann wieder...

//EDIT: Es funktioniert, wenn ihr den Link rechts anklickt und "Speichern unter" macht... :)

_________________
Steht der Bauer im Gemüse, hat er später grüne Füße.


Zuletzt bearbeitet von WeBsPaCe am Fr 14.01.05 15:57, insgesamt 1-mal bearbeitet
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Do 13.01.05 20:27 
lol hab grad n chattool gebastelt, bei freunden kommts schon gut an hier ma source:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Menus, ScktComp;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Memo2: TMemo;
    Edit1: TEdit;
    Button1: TButton;
    MainMenu1: TMainMenu;
    Verbindung1: TMenuItem;
    Verbinden1: TMenuItem;
    Unterbrechen1: TMenuItem;
    N1: TMenuItem;
    Beenden1: TMenuItem;
    ClientSocket1: TClientSocket;
    ServerSocket1: TServerSocket;
    ChatLog1: TMenuItem;
    DieseSessionaufzeichnen1: TMenuItem;
    N2: TMenuItem;
    DiesenPCalsServerbenutzen1: TMenuItem;
    procedure Memo2KeyPress(Sender: TObject; var Key: Char);
    procedure ServerSocket1Accept(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ServerSocket1ClientRead(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ClientSocket1Connect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ClientSocket1Disconnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
      ErrorEvent: TErrorEvent; var ErrorCode: Integer);
    procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
    procedure Verbinden1Click(Sender: TObject);
    procedure Beenden1Click(Sender: TObject);
    procedure Memo1KeyPress(Sender: TObject; var Key: Char);
    procedure Button1Click(Sender: TObject);
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Unterbrechen1Click(Sender: TObject);
    procedure DieseSessionaufzeichnen1Click(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure DiesenPCalsServerbenutzen1Click(Sender: TObject);
    procedure ServerSocket1ClientConnect(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure FormShow(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  protected
  isserver:boolean;
  end;

var
  Form1: TForm1;
  Server, Nick: String;
  recordS: boolean;

implementation

{$R *.dfm}

procedure TForm1.Memo2KeyPress(Sender: TObject; var Key: Char);
begin
key:= #0;
end;

procedure TForm1.ServerSocket1Accept(Sender: TObject;
  Socket: TCustomWinSocket);
begin
IsServer := True;
memo2.text := 'Verbunden mit: ' + Socket.RemoteAddress;
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
memo1.lines.add('');
Memo1.Lines.Add(Socket.ReceiveText);
end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
memo2.text := 'Verbunden mit: ' + Socket.RemoteHost;
end;

procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
memo2.text := 'Verbindung getrennt!';
end;

procedure TForm1.ClientSocket1Error(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
  var ErrorCode: Integer);
begin
Memo2.text := 'Fehler beim Verbinden mit: ' + Server;
ErrorCode := 0;
end;

procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
begin
memo1.lines.add('');
Memo1.Lines.Add(Socket.ReceiveText);
end;

procedure TForm1.Verbinden1Click(Sender: TObject);
begin
if ClientSocket1.Active then ClientSocket1.Active := False;
if InputQuery('Verbinden''Server-Addresse:', Server) then
if InputQuery('Benutzer''Benutzer-Name:', Nick) then
if Length(Server) > 0 then
if length(nick) <= 0 then nick := 'Gast';
with ClientSocket1 do
begin
Host := Server;
Active := True;
end;
end;

procedure TForm1.Beenden1Click(Sender: TObject);
begin
if recordS = true then memo1.lines.SaveToFile('Chat.txt');
ServerSocket1.Close;
ClientSocket1.Close;
Close;
end;

procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
key:= #0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if length(nick) <= 0 then nick := 'Gast';
if IsServer then
ServerSocket1.Socket.Connections[0].SendText(nick + ': ' + edit1.text)
else
ClientSocket1.Socket.SendText(nick + ': ' + edit1.text);
memo1.lines.add('');
memo1.lines.add(nick + ': ' + edit1.Text);
edit1.text:= '';
end;

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if length(nick) <= 0 then nick := 'Gast';
if Key = VK_Return then begin
if IsServer then
ServerSocket1.Socket.Connections[0].SendText(nick + ': ' + edit1.text)
else
ClientSocket1.Socket.SendText(nick + ': ' + edit1.text);
memo1.lines.add('');
memo1.lines.add(nick + ': ' + edit1.Text);
edit1.text:= '';
end;
end;

procedure TForm1.Unterbrechen1Click(Sender: TObject);
begin
ClientSocket1.Active := False;
ServerSocket1.Active := false;
memo2.text := 'Verbindung getrennt!';
end;

procedure TForm1.DieseSessionaufzeichnen1Click(Sender: TObject);
begin
DieseSessionaufzeichnen1.checked:= not DieseSessionaufzeichnen1.checked;
if DieseSessionaufzeichnen1.checked = true then
recordS:= true
else
recordS:= false;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
recordS:= MessageDlg('Möchten Sie die letzte Session speichern?', mtConfirmation, [mbYes,mbNo], 0) = mrYes;
if recordS = true then if recordS = true then memo1.lines.SaveToFile('LastChat.txt');
end;

procedure TForm1.DiesenPCalsServerbenutzen1Click(Sender: TObject);
begin
DiesenPCalsServerbenutzen1.checked:= not DiesenPCalsServerbenutzen1.checked;
if DiesenPCalsServerbenutzen1.checked = true then begin
if length(nick) <= 0 then if InputQuery('Benutzer''Benutzer-Name:', Nick) then
if length(nick) <= 0 then nick := 'Gast';
isserver:= true;
serversocket1.active:= true;
memo2.text := 'Server erfolgreich erstellt!';
end else begin
isserver:= false;
serversocket1.active:= false;
memo2.text := 'Server heruntergefahren!';
end;
end;

procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
ServerSocket1.Socket.Connections[0].SendText('Willkommen auf dem Chat42 Server von ' + nick + ' !');
end;

procedure TForm1.FormShow(Sender: TObject);
begin
edit1.SetFocus;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
SetBounds((Screen.Width - Width) div 2, (Screen.Height - Height) div 2, Width, Height);
end;

end.


mir war grad langweilig und dann naja was dann halt so kommt ^^