Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Вниз

Передача текста. Срочно!!! Подалуйста.   Найти похожие ветки 

 
Apocalepse ©   (2004-06-14 12:27) [0]

Нужно организовать передачу текста между двумя компонентами
ServerSocket и ClientSocket
Как это сделать?

procedure TForm1.edt_messKeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
if (Key=VK_Return) and (edt_mess.Text<>"") then
begin
ListBox.Items.Add(edt_mess.Text);
if isOK then
ServerSocket.Socket.Connections[0].SendText(edt_mess.Text)
 else
 ClientSocket.Socket.SendText(edt_mess.Text);
 edt_mess.Text:="";
end;
end;

IsOK - переменная сигнализирующая об удачном соединении клиента с сервером
edt_mess - поле типа Edit для ввода посылаемого текста
ListBox - Поле на котом выводятся сообщения.
Помогите Все компилиться и программы соединяються
но тескт с одной на другу не проходит!
У меня на форме две кнопки Сервер и коннект Если нажмеш сервер то активируеться сервак.
Когда соединяю две программы то текст набранный не отправляеться а появляется
в ListBox`e той проги в которой набрал!
Делал все в 5 Дельфе!


 
Separator   (2004-06-14 12:47) [1]

Обработай событие OnRead так ListBox.Items.Add(Socket.ReceivedText) что-тто вроде этого


 
Rouse_ ©   (2004-06-14 12:50) [2]

C:\Program Files\Borland\Delphi6\Demos\Internet\Chat

это раз, а во вторых в зависимости от режима - сокет просто может быть не готов читать писать...
см. OnRead OnWrite
ну и в третьих -
ServerSocket.Socket.Connections[0].SendText(edt_mess.Text)
а почему именно так а не Connections[1] или Connections[2], ты же проверяй кто у тебя откуда и с кем соединился...


 
Apocalepse ©   (2004-06-14 15:51) [3]

Извините но я не могу найти литературы по этой теме, потому
в сетях некомпетентен абсолютно. Программа нужна позарез потому писал по статье.
Также нужно чтобы она была по верх всех окон.
Не могу ничего придумать как только привести ее полный код. Итак

var
 Form1: TForm1;
 isOK: Boolean = false;

implementation

{$R *.DFM}

procedure TForm1.ServerSocketClientConnect(Sender: TObject;
 Socket: TCustomWinSocket);
begin
Caption:="Коннектинг пипл!";
isOK:=True;
end;

procedure TForm1.btn_waitClick(Sender: TObject);
begin
ServerSocket.Active:=true;
Caption:="Жду";
edt_mess.Text:="";
edt_ip.ReadOnly:=true;
btn_connect.Enabled:=false;
end;

procedure TForm1.btn_connectClick(Sender: TObject);
begin
ClientSocket.Address:=edt_ip.Text;
ClientSocket.Active:=true;
edt_mess.SetFocus;
edt_ip.ReadOnly:=true;
btn_wait.Enabled:=false
end;

procedure TForm1.ServerSocketClientDisconnect(Sender: TObject;
 Socket: TCustomWinSocket);
begin
isOK:=false;
Caption:="Disconnect...";
end;

procedure TForm1.ClientSocketConnect(Sender: TObject;
 Socket: TCustomWinSocket);
begin
Caption:="Коннектинг пипл!";
end;

procedure TForm1.ClientSocketDisconnect(Sender: TObject;
 Socket: TCustomWinSocket);
begin
Caption:="Disconnect...";
end;

procedure TForm1.edt_messKeyDown(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
if (Key=VK_Return) and (edt_mess.Text<>"") then
begin
ListBox.Items.Add(edt_mess.Text);
if isOK then
ServerSocket.Socket.Connections[0].SendText(edt_mess.Text)
 else
 ClientSocket.Socket.SendText(edt_mess.Text);
 edt_mess.Text:="";
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Close;
end;

end.

----------------------------
btn_connect - Кнопка по которой активизируется клиент
btn_wait - Кнопка по нажатии которой активизируется сервер
edt_ip - Поле типа Edit для ввода IP-адреса
edt_mess - Поле типа Edit куда вводиться текст
ListBox - то место :-) где по идее должен отображаться текст.
---------------------------------
Огромня просьба помочь. Прграмма мне очень нужна... но не в одной статье, и
даже хелпе не  видал ничего Про этоти компоненты их ведь нету в 7-ой Дельфе...
Могу выслать исходники...


 
Darrin   (2004-06-14 16:00) [4]

Удалено модератором
Примечание: Личная переписка


 
Verg ©   (2004-06-14 16:06) [5]


> Apocalepse ©   (14.06.04 15:51)


Ну, а где обработчики событий OnRead/OnClientRead ?


 
Graber   (2004-06-15 01:48) [6]

В инетрнете есть элктронная книга по Делпхи Называется она помоему "Программирование на Делпхи 7 для профессионалов". Там как раз афтор рассматривает этот комонент. Есть так же несколько примеров, даже есть передача файлов по сети - как раз то что тебе надо.

Если не найдёшь то я тебе вышлю эту страничку с примером.

Удачи


 
Piter ©   (2004-06-15 01:54) [7]

http://www.delphimaster.ru/articles/sockets/index.html


 
Apocalepse ©   (2004-06-15 15:12) [8]

Книга у меня давно есть. Там еще ссылки сделаны в виде кнопок да? У меня есть две эти книги для чайников и провессионалов. Кстати лежат они тут http://delphim.amillo.net - моего друга сайт по мультимедиа программированию в дельфи. А вообще всем хочу сказать СПАСИБо так как я написал уже прогу но в 7 Дельфе. там сетевые компоненты TcpClient и TcpServer я их использовал.



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.032 c
1-1091359482
dracula
2004-08-01 15:24
2004.08.15
работа со строками


3-1090414143
Draught
2004-07-21 16:49
2004.08.15
проблемы при сортировке записей в таблице


14-1090963376
Pass
2004-07-28 01:22
2004.08.15
D8


1-1091174254
Fate
2004-07-30 11:57
2004.08.15
Не могу разобраться с полиморфизмом


14-1090681372
Harim
2004-07-24 19:02
2004.08.15
Как варить пельмени?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский