Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Ответ
 
Опции темы
Старый 20.04.2012, 19:26   #1
 Разведчик
Аватар для FarmHitman1
 
FarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известен
Регистрация: 27.08.2011
Сообщений: 43
Популярность: 470
Сказал(а) спасибо: 86
Поблагодарили 159 раз(а) в 70 сообщениях
 
Exclamation Чат с помощью ucoz

Доброго времени суток... Я не знаю нужен кому чат с помощью ucoz или нет, но для освоение сойдет

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);
var
HTTP:TIdHTTP;
s:string;
begin
HTTP:=TIdHTTP.Create(nil);
s:=HTTP.Get('http://site.ucoz.ru/Chat.txt');
Memo1.Clear;
Memo1.Lines[0] := s;
   end;


Код:
procedure TForm1.Button9Click(Sender: TObject);
var
S: TStringList;
begin
S:=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 then
IdFTP1.Disconnect
else
try
IdFTP1.Connect(True);
except
on E : Exception do
ShowMessage('Îê: '+E.Message);
end;
if IdFTP1.Connected then
try
IdFTP1.Put('Chat.txt', 'Chat.txt', True);
except
on E : Exception do
ShowMessage('Íåà: '+E.Message);
end;
DeleteFile('Chat.txt');
IdFTP1.Disconnect;
end;
Вот в принципе и все, небольшие задержки только при отправке сообщений 1-2сек.

Последний раз редактировалось FarmHitman1; 26.04.2012 в 21:00.
  Ответить с цитированием
Старый 21.04.2012, 13:27   #2
 Разведчик
Аватар для FarmHitman1
 
FarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известен
Регистрация: 27.08.2011
Сообщений: 43
Популярность: 470
Сказал(а) спасибо: 86
Поблагодарили 159 раз(а) в 70 сообщениях
 
По умолчанию Re: Чат с помощью ucoz

Ну интервал 1000 норм в принципе =)
  Ответить с цитированием
Старый 21.04.2012, 15:40   #3
 Разведчик
Аватар для FarmHitman1
 
FarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известен
Регистрация: 27.08.2011
Сообщений: 43
Популярность: 470
Сказал(а) спасибо: 86
Поблагодарили 159 раз(а) в 70 сообщениях
 
По умолчанию Re: Чат с помощью ucoz

Проверял? Норм работает?
  Ответить с цитированием
Старый 21.04.2012, 17:21   #4
 Разведчик
Аватар для FarmHitman1
 
FarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известен
Регистрация: 27.08.2011
Сообщений: 43
Популярность: 470
Сказал(а) спасибо: 86
Поблагодарили 159 раз(а) в 70 сообщениях
 
По умолчанию Re: Чат с помощью ucoz

Проверил, в Form.Create
Код:
WebBrowser1.Navigate('http://site.ucoz.ru/Chat.txt');
Refresh в таймере работает... НО... после того как он делает обновление таргет с Edit слетает
Есть ли код для выбора в таргет Edit ?

Добавлено через 2 минуты
А не, все норм, главное на браузер не нажимать, но тут проблема в другом... Он русский язык не читает там шифровка не понятная на ucoze с русским языком

Добавлено через 4 минуты
Если руками вводить в чат по русски (файл на сервере) то он читает, а если отправлять сообщение то нет...

Последний раз редактировалось FarmHitman1; 21.04.2012 в 17:26. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 21.04.2012, 17:38   #5
Заблокирован
 Пехотинец
Аватар для Skrillex3
 
Skrillex3 душа компанииSkrillex3 душа компанииSkrillex3 душа компанииSkrillex3 душа компанииSkrillex3 душа компанииSkrillex3 душа компанииSkrillex3 душа компанииSkrillex3 душа компании
Регистрация: 23.03.2012
Сообщений: 83
Популярность: 908
Сказал(а) спасибо: 102
Поблагодарили 144 раз(а) в 61 сообщениях
Отправить сообщение для Skrillex3 с помощью Skype™
 
По умолчанию Re: Чат с помощью ucoz

включи поток и не будет виснуть форма ,правда не факт что фтп будет работать ,сокет в поток не пашит(((
  Ответить с цитированием
Старый 22.04.2012, 12:50   #6
 Разведчик
Аватар для FarmHitman1
 
FarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известен
Регистрация: 27.08.2011
Сообщений: 43
Популярность: 470
Сказал(а) спасибо: 86
Поблагодарили 159 раз(а) в 70 сообщениях
 
По умолчанию Re: Чат с помощью ucoz

Цитата:
Сообщение от MallobarПосмотреть сообщение
Спасибо вам что исправили меня, просто нужно было бежать..
А теперь по теми.
На юкоз шифруетца только когда загружаеш файл на хост, если уже потом его редоктировать то будет все ок.
Я проверял вводил и все норм было, вводил текст он там появлялся..

Это даже чатом не назвать, просто так пишеш посты, и даже не видно кто пишет(т.е. ник неймы)



Правда чтоли?

[Ссылки могут видеть только зарегистрированные пользователи. ]

Код:
begin
S:=TStringList.Create;
Edit1.text := Edit2.text + ': ' + Edit1.text;
S.Text:=Edit1.Text;
S.SaveToFile('Chat.txt');
Edit1.Clear;
Добавляем строчку и проблема решена
  Ответить с цитированием
Старый 23.04.2012, 03:25   #7
 Разведчик
Аватар для sasha-
 
sasha- на правильном пути
Регистрация: 29.08.2010
Сообщений: 22
Популярность: 22
Сказал(а) спасибо: 3
Поблагодарили 6 раз(а) в 4 сообщениях
 
По умолчанию Re: Чат с помощью ucoz

в мемо сразу вроде так memo1.Lines.LoadFromFile(IdHTTP1.Get('http://site.ucoz.ru/Chat.txt'))
ну а если не можешь зачем создавать лейбл если можно создать переменную типа string и сунуть туда
var
blabla:string
...
Memo1.Lines[0] := blabla;
...
  Ответить с цитированием
Пользователь сказал cпасибо:
FarmHitman1 (25.04.2012)
Старый 25.04.2012, 18:13   #8
 Разведчик
Аватар для FarmHitman1
 
FarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известен
Регистрация: 27.08.2011
Сообщений: 43
Популярность: 470
Сказал(а) спасибо: 86
Поблагодарили 159 раз(а) в 70 сообщениях
 
По умолчанию Re: Чат с помощью ucoz

Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var
HTTP:TIdHTTP;
s:string;
begin
HTTP:=TIdHTTP.Create(nil);
s:=HTTP.Get('http://site.ucoz.ru/Chat.txt');
Memo1.Clear;
Memo1.Lines[0] := s;
   end;
Вот так пашет

Поправил 1 пост

Добавлено через 2 часа 31 минуту
Возникла проблемка...
Вот окно чата
[Ссылки могут видеть только зарегистрированные пользователи. ]

После того, как чат заполнится более 13 строк, то он полностью все стирает.. файл на сервере тоже чистит

Добавлено через 2 часа 33 минуты
А, не не после заполнения... По неизвестным причинам стер)

Последний раз редактировалось FarmHitman1; 25.04.2012 в 20:47. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 25.04.2012, 21:17   #9
 Разведчик
Аватар для sasha-
 
sasha- на правильном пути
Регистрация: 29.08.2010
Сообщений: 22
Популярность: 22
Сказал(а) спасибо: 3
Поблагодарили 6 раз(а) в 4 сообщениях
 
По умолчанию Re: Чат с помощью ucoz

попробуй так
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var
HTTP:TIdHTTP;
s:string;
begin
HTTP:=TIdHTTP.Create(nil);
s:=HTTP.Get('http://site.ucoz.ru/Chat.txt');
Memo1.Clear;
memo1.Lines.Add(s);
   end;
еще может стирать из за "частых запросах get система защиты расценивает это как ддос" по идее стирается по таймеру:
memo1.clear; а запрос не идет...

Последний раз редактировалось sasha-; 25.04.2012 в 21:28.
  Ответить с цитированием
Пользователь сказал cпасибо:
FarmHitman1 (25.04.2012)
Старый 26.04.2012, 20:54   #10
 Разведчик
Аватар для FarmHitman1
 
FarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известен
Регистрация: 27.08.2011
Сообщений: 43
Популярность: 470
Сказал(а) спасибо: 86
Поблагодарили 159 раз(а) в 70 сообщениях
 
По умолчанию Re: Чат с помощью ucoz

Нашел небольшую ошибку, из-за которой сообщения отправляются 1 из 2...
Код:
procedure TForm1.Button9Click(Sender: TObject);
var
S: TStringList;
begin
S:=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 then
IdFTP1.Disconnect
else
try
IdFTP1.Connect(True);
except
on E : Exception do
ShowMessage('Îê: '+E.Message);
end;
if IdFTP1.Connected then
try
IdFTP1.Put('Chat.txt', 'Chat.txt', True);
except
on E : Exception do
ShowMessage('Íåà: '+E.Message);
end;
DeleteFile('Chat.txt');
IdFTP1.Disconnect
end;
Необходимо добавить данную строку, чтобы не было такой проблемы...
  Ответить с цитированием
Старый 28.04.2012, 17:34   #11
 Разведчик
Аватар для sasha-
 
sasha- на правильном пути
Регистрация: 29.08.2010
Сообщений: 22
Популярность: 22
Сказал(а) спасибо: 3
Поблагодарили 6 раз(а) в 4 сообщениях
 
По умолчанию Re: Чат с помощью ucoz

я вот только не пойму зачем разрывать соеденение а потом опять устанавливать? можно просто тупо сделать проверку на осуществление подключения
Код:
procedure TForm1.Button9Click(Sender: TObject);
var
S: TStringList;
begin
S:=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 then
begin
try
IdFTP1.Put('Chat.txt', 'Chat.txt', True);
except E : Exception do ShowMessage('Îê: '+E.Message);
IdFTP1.Disconnect;
end;
end
else
begin
IdFTP1.Connect(True);
try
IdFTP1.Put('Chat.txt', 'Chat.txt', True);
except
on E : Exception do
ShowMessage('Íåà: '+E.Message);
IdFTP1.Disconnect;
end;
end;
DeleteFile('Chat.txt');
end;

Последний раз редактировалось sasha-; 28.04.2012 в 17:46.
  Ответить с цитированием
Пользователь сказал cпасибо:
FarmHitman1 (29.04.2012)
Старый 29.04.2012, 17:34   #12
 Разведчик
Аватар для FarmHitman1
 
FarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известен
Регистрация: 27.08.2011
Сообщений: 43
Популярность: 470
Сказал(а) спасибо: 86
Поблагодарили 159 раз(а) в 70 сообщениях
 
По умолчанию Re: Чат с помощью ucoz

Цитата:
Сообщение от sasha-Посмотреть сообщение
я вот только не пойму зачем разрывать соеденение а потом опять устанавливать? можно просто тупо сделать проверку на осуществление подключения
Код:
procedure TForm1.Button9Click(Sender: TObject);
var
S: TStringList;
begin
S:=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 then
begin
try
IdFTP1.Put('Chat.txt', 'Chat.txt', True);
except E : Exception do ShowMessage('Îê: '+E.Message);
IdFTP1.Disconnect;
end;
end
else
begin
IdFTP1.Connect(True);
try
IdFTP1.Put('Chat.txt', 'Chat.txt', True);
except
on E : Exception do
ShowMessage('Íåà: '+E.Message);
IdFTP1.Disconnect;
end;
end;
DeleteFile('Chat.txt');
end;


Так отправляет быстрее, но на IdFTP1.Disconnect; ругается везде) Я просто стер, пока что не знаю че получится)
  Ответить с цитированием
Старый 01.05.2012, 22:05   #13
 Разведчик
Аватар для sasha-
 
sasha- на правильном пути
Регистрация: 29.08.2010
Сообщений: 22
Популярность: 22
Сказал(а) спасибо: 3
Поблагодарили 6 раз(а) в 4 сообщениях
 
По умолчанию Re: Чат с помощью ucoz

Цитата:
Сообщение от FarmHitman1Посмотреть сообщение
Так отправляет быстрее, но на IdFTP1.Disconnect; ругается везде) Я просто стер, пока что не знаю че получится)

да по идее без idftp1.disconnect работать если только нет лимита (сколько юзеров могут одновременно подключены к фтп)
  Ответить с цитированием
Старый 02.05.2012, 12:55   #14
 Разведчик
Аватар для FarmHitman1
 
FarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известенFarmHitman1 скоро будет известен
Регистрация: 27.08.2011
Сообщений: 43
Популярность: 470
Сказал(а) спасибо: 86
Поблагодарили 159 раз(а) в 70 сообщениях
 
По умолчанию Re: Чат с помощью ucoz

Цитата:
Сообщение от sasha-Посмотреть сообщение
да по идее без idftp1.disconnect работать если только нет лимита (сколько юзеров могут одновременно подключены к фтп)

Ну не знаю.. У меня вроде все норм пашет без DC
  Ответить с цитированием
Старый 03.05.2012, 08:11   #15
Заблокирован
 Разведчик
Аватар для Naik1998
 
Naik1998 лучик света в грозовом небеNaik1998 лучик света в грозовом небеNaik1998 лучик света в грозовом небеNaik1998 лучик света в грозовом небеNaik1998 лучик света в грозовом небеNaik1998 лучик света в грозовом небеNaik1998 лучик света в грозовом небе
Регистрация: 22.03.2012
Сообщений: 1
Популярность: 784
Сказал(а) спасибо: 0
Поблагодарили 16 раз(а) в 13 сообщениях
 
По умолчанию Re: Чат с помощью ucoz

Интервал 1000? можно увеличить на какие допустимые параметры?
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ucoz DominatorX Вопросы и ответы, обсуждения 0 27.11.2010 21:57
[Помогите!] UcoZ Dominian Общение и обсуждение, архив Lineage 2 8 14.10.2010 16:32

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 20:35.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net