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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2011, 08:41   #11
Nice42ru
Форумчанин
 
Регистрация: 25.10.2009
Сообщений: 131
По умолчанию

нет не сразу после занесения, к серверу могут подключиться ещё несколько клиентов и заполнить ListBox своими Id
Nice42ru вне форума Ответить с цитированием
Старый 12.03.2011, 08:51   #12
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

и ты не знаеш как выяснить номер тои строки которую надо менять?
выложи код где видна последовательность деиствии
и напиши пример строки что заносица в лист бокс которую надо менять
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 12.03.2011, 09:05   #13
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,886
По умолчанию

если надо найти номер итема в котором конкретный текст, то перечитай мой пост ( про indexof)
phomm вне форума Ответить с цитированием
Старый 12.03.2011, 09:07   #14
Nice42ru
Форумчанин
 
Регистрация: 25.10.2009
Сообщений: 131
По умолчанию

При коннекте к серверу клиент осылает ему свой Id

Код:
procedure TForm1.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
Socket.SendText('id' + id);
end;
сервер в свою очередь читает этот Id и записывает его в listBox

Код:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
  var
  s, str, work, m, n: string;
begin
m:= Socket.ReceiveText;

if pos('id', m) <> 0 then
  begin
     work:= m;
      Delete(work, 1, 2);
     UserList.Items.Add(work);
        end;


  if pos('del', m) <> 0 then
  begin
Delete(m, 1, 3);
With UserList do if ItemIndex<>-1 then begin
 str := Items[ItemIndex];
 delete(str, pos(m, str), pos(m, str) + length(m));
 Items[ItemIndex] := str;
end;
    end;


end;
при выходе клиент отправляет сообщение что он вышел и просит удалить его Id из ListBox сервера

Код:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ClientSocket1.Socket.SendText('del' + id);
ClientSocket1.Active:= False;
end;
а сервер должен соответственно удалить его Id Из ListBox'a

Код:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
  var
  s, str, work, m, n: string;
begin
m:= Socket.ReceiveText;

if pos('id', m) <> 0 then
  begin
     work:= m;
      Delete(work, 1, 2);
     UserList.Items.Add(work);
        end;


  if pos('del', m) <> 0 then
  begin
Delete(m, 1, 3);
With UserList do if ItemIndex<>-1 then begin
 str := Items[ItemIndex];
 delete(str, pos(m, str), pos(m, str) + length(m));
 Items[ItemIndex] := str;
end;
    end;


end;
Nice42ru вне форума Ответить с цитированием
Старый 12.03.2011, 09:30   #15
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

ну тогда phomm тебе уже ответил
Цитата:
Код:
n := listbox.items.indexof('slovo');
возвращает индекс строки в которои находица твои текст, вот его и подставляи
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 12.03.2011, 13:07   #16
Nice42ru
Форумчанин
 
Регистрация: 25.10.2009
Сообщений: 131
По умолчанию

Поступил так:
Код:
m:= socket.reciveText;
  if pos('del', m) <> 0 then
  begin
Delete(m, 1, 3);
i:= ListBox1.items.indexof(m);
UserList.Items.Delete(i);
    end;
Всем огромное спасибо за помощь!
Nice42ru вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как удалить все значения Items в ListBox? quarty Общие вопросы Delphi 4 05.05.2020 21:49
ListBox (Delphi) CAMOBAP Помощь студентам 8 08.03.2011 22:51
Delphi,listbox. FCSM Помощь студентам 7 06.04.2010 14:48
Удалить указанный текст из ListBox Shouldercannon Общие вопросы Delphi 2 31.05.2009 18:10
Удалить не нужное из ListBox Shouldercannon Общие вопросы Delphi 7 20.12.2008 00:07