Изначально стояла задача создать чат в Delphi. В интернете наткнулся на статью, где приведен листинг аналогичной программы. Проблема в том, что листинг немного неверный (или может это я ничего не понимаю), но не могу найти некоторых свойств.
Код: Выделить всё
Для работы этого кода, на форме должно лежать:
tlistbox-1шт.с именем mes
tbutton-4шт. с именами button1,button2,button3 и button4
tedit-4шт. c именами edit1,edit2,edit3 и edit4
tserversocket-1шт.с именем server
tclientsocket-1шт.с именем client
unit unit1;
interface
uses
windows, messages, sysutils, variants, classes, graphics, controls, forms,
dialogs,wininet, stdctrls, scktcomp, psock, nmstrm;
type
t form1 = class(tform)
button1: tbutton;
button2: tbutton;
edit1: tedit;
client: tclientsocket;
server: tserversocket;
button3: tbutton;
edit2: tedit;
label1: tlabel;
edit3: tedit;
label2: tlabel;
edit4: tedit;
label3: tlabel;
mes: tlistbox;
button4: tbutton;
procedure button1click(sender: tobject);
procedure button2click(sender: tobject);
procedure serverclientread(sender: tobject; socket: tcustomwinsocket);
procedure button3click(sender: tobject);
procedure button4click(sender: tobject);
private
{ private declarations }
public
{ public declarations }
end;
var
form1: tform1;
a:integer;
implementation
{$r *.dfm}
procedure tform1.button3click(sender: tobject);{Код для кнопки активации сервера}
begin
server.port:=strtoint(edit2.text);{Порт для прослушивания}
server.active:=true;{Активация прослушивания порта}
end;
procedure tform1.button1click(sender: tobject);{Код для кнопки коннекта}
begin
client.port:=strtoint(edit2.text);{Порт для подключения}
client.address:=edit3.text;{ip-адрес}
client.host:=edit4.text;{Имя Компа}
client.active:=true;{Подключение}
a:=0;
showmessage('Ура! Подключились!');
end;
procedure tform1.button2click(sender: tobject);{Код для кнопки отправки сообщения}
begin
[B]client.socket.sendtext[/B](edit1.text);{Отправка}
mes.items.strings[a]:=edit1.text;{Пишем этот текст у себя}
a:=a+1;
edit1.text:='';
end;
procedure tform1.[B]serverclientread[/B](sender: tobject;
socket: tcustomwinsocket);{Эта функция вызывается при получении сообщения}
begin
mes.items.strings[a]:='> '+socket.receivetext;{Записываем}
a:=a+1;
end;
procedure tform1.button4click(sender: tobject);{Код кнопки очистки ЛистБокса}
begin
mes.items.clear;
a:=0;
end;
end.
я не смог найти TClientSocket и TServerSocket и заменил их на TcpClient и TcpServer аналогично. Подскажите, пожалуйста, как можно обойти эти моменты. Заранее всем спасибо.