Показать сообщение отдельно
  #11  
Старый 21.10.2010, 15:13
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Создает всегда потому, что ты не напиал else begin...end:
Код:
procedure TfrmMain.ICQClientMessageRecv(Sender: TObject; Msg, UIN: String);
var
i: integer;
begin
   AddEvent('От ' + GetNickFor(StrToInt(UIN)) + ' (' + UIN + ') принято сообщение: [' + Msg + ']');
for i := 0 to PageControl1.PageCount - 1
do if PageControl1.Pages[i].Caption = GetNickFor(StrToInt(UIN)) then
  ShowMessage('Нашли!')
else begin
   TTabSheet.Create(ICQpeg);
   ICQts := TTabSheet.Create(ICQpeg);
   ICQts.PageControl := ICQpeg;
   ICQts.Parent := ICQpeg;
   ICQts.Caption := GetNickFor(StrToInt(UIN));
   ICQts.PageIndex := 1;
 end;
end;

И вот по последнему вопросу (если вкладка не найдена, то создаем):
Код:
procedure TfrmMain.ICQClientMessageRecv(Sender: TObject; Msg, UIN: String);
var
i: integer;
begin
   AddEvent('От ' + GetNickFor(StrToInt(UIN)) + ' (' + UIN + ') принято сообщение: [' + Msg + ']');
for i := 0 to PageControl1.PageCount - 1
do if PageControl1.Pages[i].Caption <> GetNickFor(StrToInt(UIN)) then begin
   TTabSheet.Create(ICQpeg);
   ICQts := TTabSheet.Create(ICQpeg);
   ICQts.PageControl := ICQpeg;
   ICQts.Parent := ICQpeg;
   ICQts.Caption := GetNickFor(StrToInt(UIN));
   ICQts.PageIndex := 1;
 end;
end;
__________________
Помогаю за Спасибо
Ответить с цитированием