Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Обсуждение статей
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2010, 17:57   #341
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Цитата:
Сообщение от mishqa35
Beermonza, не знаю откуда появилась переменная Autores, но во всех скачанных версиях из этой темы, её там нет.
Пост #246, посмотри, там это решение появилось.

Код:
procedure TForm1.StatusBoxChange(Sender: TObject);
var
  st: string;
begin
// если я сервер
If ServerSocket.Active <> false then
  begin
    For j := 0 to ServerSocket.Socket.ActiveConnections -1 do
      Begin
        If (j+1) <> i then ServerSocket.Socket.Connections[j].SendText('3'+IntToStr(StatusBox.ItemIndex)+Setting.NickEdit.Text);
        If UserListView.Items.Item[j].Caption = Setting.NickEdit.Text then
          UserListView.Items.Item[j].ImageIndex := StrToInt(IntToStr(StatusBox.ItemIndex));
      end;
  end
else // если клиент
  begin
    // отправляем всем статус+ник
    ClientSocket.Socket.SendText('3'+IntToStr(StatusBox.ItemIndex)+UserMas[i].Name);
    // меняем картинку у себя
    Uitems.ImageIndex := StrToInt(IntToStr(StatusBox.ItemIndex));
  end;

  IniFile := TIniFile.Create(extractfilepath(paramstr(0))+'setting.ini'); // читаем ini
  st := IntToStr(StatusBox.ItemIndex); // то что мы меняем
  IniFile.WriteString('Settings', 'status', st); // пишем в ini изменение
  IniFile.Free;
end;
...пост #325, читай внимательно и смотри замечания по коду.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 02.04.2010, 22:10   #342
Razyiller
Пользователь
 
Регистрация: 31.03.2010
Сообщений: 50
По умолчанию

ребят вот такой вопрос, почему чат не работает с динамическим IP?
Razyiller вне форума Ответить с цитированием
Старый 03.04.2010, 19:10   #343
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Цитата:
Сообщение от Razyiller Посмотреть сообщение
ребят вот такой вопрос, почему чат не работает с динамическим IP?
Потому, что это TCP/IP, в основе которого должен быть сервер с чистым (белым, прямым) IP-адресом, ...какой у клиента совершенно не важно. Это не UDP с его бродкастами и всеобщем пофигизмом и "наложизмом" на прочих пользователей все той же глобальной сети.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 15.04.2010, 02:16   #344
Razyiller
Пользователь
 
Регистрация: 31.03.2010
Сообщений: 50
По умолчанию

а как реализована вставка смайликов?
Razyiller вне форума Ответить с цитированием
Старый 15.04.2010, 16:59   #345
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

В исходном варианте смайлов нет.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 18.04.2010, 19:03   #346
Razyiller
Пользователь
 
Регистрация: 31.03.2010
Сообщений: 50
По умолчанию

а последующих вариантах?
Razyiller вне форума Ответить с цитированием
Старый 18.04.2010, 23:50   #347
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

В самом последнем мной выложенном варианте версии 2.0 смайлов нет, ...если почитать тему полностью, то несколько раз упоминалось как их реализовывать, ...одним словом, нужен компонент.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 21.04.2010, 15:41   #348
Pypkin30159
Пользователь
 
Регистрация: 03.04.2010
Сообщений: 19
По умолчанию БАн

Люди помогите реализовать кик из чата. Перечитал всю тему нашел несколько способов решения это проблемы но они работают не так как хотелось бы. В идеале мне надо Выделить юзера из списка и нажать кнопку Кик и все.
Этот код не подходить потому что он не банит выделенного пользователя а просто последнего пользователя в списке-
Код:
ServerSocket.Socket.Connections[ServerSocket.Socket.ActiveConnections-1].RemoteAddress;
ServerSocket.Socket.Connections[ServerSocket.Socket.ActiveConnections-1].Close;
в этом случае компилятор выдает ошибку
Код:
Ban:=IntToStr(UserListView.Selected.Index);
 ServerSocket.Socket.Connections[Ban].Close;//вот тут [Error] MainUnit.pas(679): Incompatible types: 'Integer' and 'String'
 UpdDo:= True;
Pypkin30159 вне форума Ответить с цитированием
Старый 21.04.2010, 19:24   #349
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Pypkin30159, вы не корректно берете тип данных.
Код:
Ban := IntToStr(UserListView.Selected.Index); // Ban - String? 
ServerSocket.Socket.Connections[Ban].Close; // Connections[{Int}] - нужен числовой тип.
Перепишите вот так:
Код:
ServerSocket.Socket.Connections[UserListView.Selected.Index].Close;
...или если нужна переменная, то так:
Код:
Ban := UserListView.Selected.Index;       // Ban - Byte, Word, Integer
ServerSocket.Socket.Connections[Ban].Close;
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 21.04.2010, 21:11   #350
Pypkin30159
Пользователь
 
Регистрация: 03.04.2010
Сообщений: 19
По умолчанию

Спасибо но все равно не работает нормально.
Взял этот код
Код:
Var
Ban:Byte;
...
procedure TForm1.N4Click(Sender: TObject);
begin
Ban := UserListView.Selected.Index;       // Ban - Byte, Word, Integer
ServerSocket.Socket.Connections[Ban].Close;
UpdDo:= True;
end;
Код:
ServerSocket.Socket.Connections[UserListView.Selected.Index].Close;
С этими кодами вообще беда! он теперь кикает не того пользователя кого я выделил а вообще в произвольном порядке, кого захочет.
По идее я присваиваю индекс выделенного пользователя и принудительно закрываю, но это не происходит

Последний раз редактировалось Pypkin30159; 21.04.2010 в 21:30.
Pypkin30159 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обновление в блоге - Создание клиент-сервера Pblog Обсуждение статей 0 03.10.2007 17:12
обновление в блоге - Диплом. Создание и продвижение сайта - готовь сани летом, а дипл Pblog Обсуждение статей 0 31.08.2007 20:00
обновление в блоге - USB Холодильник Pblog Обсуждение статей 0 25.06.2007 14:13
обновление в блоге - О ярлыках Pblog Обсуждение статей 0 27.05.2007 03:17