- 13, Jun 2013
- #1
Доброго времени суток... Я не знаю нужен кому чат с помощью ucoz или нет, но для освоение сойдет
1. Берем компоненты: Memo, Edit, Button, IdHTTP, idFTP, Timer и Label.
2. Для чего все надо: Memo, Edit и Button - думаю с этим все понятно. IdHTTP и Timer нужны для чтения чата с сервера ucoz, idFTP для отправки сообщений, в Label будем выводить сам чат (Visible должно быть False, чтобы пользователь не видел лишнего текста)
Если кто знает как выводить сразу в Memo, а не в Label то можете переделать))
3. Собственно сам код:
Вот в принципе и все, небольшие задержки только при отправке сообщений 1-2сек.
1. Берем компоненты: Memo, Edit, Button, IdHTTP, idFTP, Timer и Label.
2. Для чего все надо: Memo, Edit и Button - думаю с этим все понятно. IdHTTP и Timer нужны для чтения чата с сервера ucoz, idFTP для отправки сообщений, в Label будем выводить сам чат (Visible должно быть False, чтобы пользователь не видел лишнего текста)
Если кто знает как выводить сразу в Memo, а не в Label то можете переделать))
3. Собственно сам код:
procedure TForm1.Timer1Timer(Sender: TObject);varHTTP:TIdHTTP;s:string;beginHTTP:=TIdHTTP.Create(nil);s:=HTTP.Get('http://site.ucoz.ru/Chat.txt');Memo1.Clear;Memo1.Lines[0] := s; end;
procedure TForm1.Button9Click(Sender: TObject);varS: TStringList;beginS:=TStringList.Create;S.Text:=Edit1.Text;S.SaveToFile('Chat.txt');Edit1.Clear;IdFTP1.Username:= 'Login FTP';IdFTP1.Password:= 'Pass FTP';IdFTP1.Host:= 'Host FTP';IdFTP1.Passive:= True;if IdFTP1.Connected thenIdFTP1.DisconnectelsetryIdFTP1.Connect(True);excepton E : Exception doShowMessage('Îê: '+E.Message);end;if IdFTP1.Connected thentryIdFTP1.Put('Chat.txt', 'Chat.txt', True);excepton E : Exception doShowMessage('Íåà: '+E.Message);end;DeleteFile('Chat.txt');IdFTP1.Disconnect;end;
Вот в принципе и все, небольшие задержки только при отправке сообщений 1-2сек.