Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.01.2009, 21:31
pali4 pali4 вне форума
Прохожий
 
Регистрация: 12.12.2008
Сообщения: 9
Репутация: 10
По умолчанию работа с TICQClient'ом

Привет всем тут хотел у вас просить, как сделать некую задумку...
например у меня есть 1 код

Код:
begin
ICQ:=TICQClient.create(nill);
ICQ.Uin:=StrToInt(edit1.text);
ICQ.Password:=edit2.text);
ICQ.Login();
end;

И вот тут делается процедура чтобы он посылался на номер

Код:
procedure TForm1.ICQLogin
begin
ICQ.SendMessage(989242); / Тому кому мы пишем :)
end;

Возникает следущий вопрос, если все номерки(штук 100-200) стоят в мемо1 допусти, то какже тогда сделать функцию...
так чтоли?

Код:
begin
ICQ:=TICQClient.create(nill);
Icq.Uin:=StrToInt(memo1.Lines.text);
Icq.Password:=(memo2.Lines.text);
ICQ.Login();
end;

lmikle: Нет, кто-то явно жаждет оказаться в read only за неиспользование тегов.

Думаю так, а ваши предложение?

PS а если допустим в memo1.lines.text; стоят номерки, такого типа номер;пароль
то как тогда записать Функию в пассворд?

Последний раз редактировалось pali4, 26.01.2009 в 21:35.
Ответить с цитированием
  #2  
Старый 26.01.2009, 21:47
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Нет, не так.
Из предположения, что каждый номер + пароль написан на отдельной строчке:

Код:
var
  I : Integer;
begin
  For I := 0 To Memo1.Lines.Count-1 Do
    begin
        ICQ:=TICQClient.create(nill);
        ICQ.uin := Copy(Memo1.Lines[i],1,POs(';',Memo1.Lines[i])-1);
        ICQ.Password := Copy(Memo1.Lines[i],POs(';',Memo1.Lines[i])+1,Length(Memo1.Lines[i]));
       ICQ.Login();
    end;
end;

И не забудь где-нить ссылки на создаваемые объекты хранить, что бы потом их корректно уничтожить.
Ответить с цитированием
  #3  
Старый 26.01.2009, 21:51
pali4 pali4 вне форума
Прохожий
 
Регистрация: 12.12.2008
Сообщения: 9
Репутация: 10
По умолчанию

Вот вроде бы все понятно, спасибо тебе большое!
но вот не будет ли все это тормозить? (Я имею ввиду точно будет со всех номеров отправлять?)
(ЗЫ Вот до сих пор не понимаю значение For I := 0 To Memo1.Lines.Count-1 Do если не сложно может все перевести)
Зарание спасибо.
Ответить с цитированием
  #4  
Старый 27.01.2009, 02:04
pali4 pali4 вне форума
Прохожий
 
Регистрация: 12.12.2008
Сообщения: 9
Репутация: 10
По умолчанию

Хм.. ну вроде сделал все как ты сказал, но кучу ошибок
PHP код:
procedure ICQLogin;
begin
ICQ
.SendMessage(989242);
end;
procedure TForm1.Button1Click(SenderTObject);
var
integer;
begin
for := 0 to memo1.lines.Count-do
begin
ICQ
:=TICQClient.Create(nil);
ICQ.Uin:= Copy(memo1.lines[i],1,pos(';',memo1.lines[i])-1);
ICQ.Password:=copy(memo1.Lines[i],pos('',memo1.Lines[i]+1,Lengt(memo1.lines[i]));
ICQ.Login();
ICQ.OnLogin:=ICQLogin;


end

Ошибки:
[Error] Unit1.pas(29): Undeclared identifier: 'ICQ'
[Error] Unit1.pas(29): Not enough actual parameters
[Error] Unit1.pas(37): Undeclared identifier: 'ICQ'
[Error] Unit1.pas(37): Missing operator or semicolon
[Error] Unit1.pas(38): Missing operator or semicolon
[Error] Unit1.pas(39): Missing operator or semicolon
[Error] Unit1.pas(39): Incompatible types: 'String' and 'Integer'
[Error] Unit1.pas(40): Missing operator or semicolon
[Error] Unit1.pas(41): Missing operator or semicolon
[Error] Unit1.pas(46): ';' expected but '.' found
[Error] Unit1.pas(48): Declaration expected but end of file found

И красное падает на
PHP код:
ICQ.SendMessage(989242); 
ЗЫ первый раз столько ошибок )
Ответить с цитированием
  #5  
Старый 27.01.2009, 16:18
Аватар для KOOL
KOOL KOOL вне форума
Активный
 
Регистрация: 06.01.2008
Адрес: Рязань
Сообщения: 306
Версия Delphi: 2009
Репутация: 6150
По умолчанию

ICQ сделай глобальной. И end; забыл после процедуры. И не брутфорс/спамбот ли ты случаем делаешь???
__________________
РГРТУ - ФВТ - Системы Автоматизированного ПРоектирования. ت
Ответить с цитированием
  #6  
Старый 27.01.2009, 19:03
ApplicatiOn ApplicatiOn вне форума
Активный
 
Регистрация: 28.02.2008
Сообщения: 388
Репутация: -10
По умолчанию

Цитата:
Сообщение от pali4
(ЗЫ Вот до сих пор не понимаю значение For I := 0 To Memo1.Lines.Count-1 Do если не сложно может все перевести)
Зарание спасибо.

от i := 0 до Количества строк Memo делаем:
... код.

Memo1.Lines.Count-1 - минус адин потомучто индекс первой строки является нулем, а подсчет каунта идет как с единицы.

после этого кода For I := 0 To Memo1.Lines.Count-1 Do, будет выполняться "Memo1.Lines.Count-1" раз первый оператор после do.

Но поскольку там стоят операторные скобки (begin и end) то выполняться несколько раз будет все что под этими "скобками".

в нутри этого цикла как видишь используются обращения посредством i к строкам.. сразу значит видно что i изменяется, и пока она изменяется выполняются операции под скобками...

------------------------

да и если это ты пишешь спамер, флудер или еще какую-нибудь подобную хрень, то лучше тебе обратиться на другой форум...

p.s. ICQ поменяли протокол, так что можешь не стараться, TICQ больше не отправляет сообщения. Ждем обновлений от автора..
Ответить с цитированием
  #7  
Старый 29.01.2009, 01:48
Аватар для Dronik
Dronik Dronik вне форума
Прохожий
 
Регистрация: 09.08.2008
Сообщения: 5
Репутация: 10
По умолчанию

Цитата:
Сообщение от ApplicatiOn
p.s. ICQ поменяли протокол, так что можешь не стараться, TICQ больше не отправляет сообщения. Ждем обновлений от автора..

Данный компонент не переставал работать
Ответить с цитированием
  #8  
Старый 28.03.2009, 16:15
BloodFooria BloodFooria вне форума
Новичок
 
Регистрация: 30.10.2008
Адрес: Улан-Удэ
Сообщения: 81
Репутация: 10
По умолчанию

Да, компонент работает. Он подключается и отправляет сообщения, но на сервере ICQ абонент не регистрируется как "В сети".

P.S. Помню, еще после смены протокола долго и упорно сидел на старой версии клиента QIP, отправляло все нормально. Так что... От протокола лишь статус зависит, а отправка и получение сообщений: ну для этого надо вообще глобально протокол переписать

P.S.S. И почему сразу флудер/спамер и т.п.? Вот я сейчас пишу информационный ICQ-бот, необходимо пользователям, например, новости разослать, так вот это как раз пригодится Только у меня список пользователей в Strings хранится.
__________________
Auta i Lome...

Последний раз редактировалось BloodFooria, 29.03.2009 в 11:39.
Ответить с цитированием
  #9  
Старый 29.03.2009, 15:17
AlexTheC0d3r AlexTheC0d3r вне форума
Прохожий
 
Регистрация: 26.02.2009
Сообщения: 25
Репутация: 10
По умолчанию

pali4, очад?))

погуглите: AlexTheC0d3r в гугле, увидите мою хомпагу.
помоему где-то уже выкладывал сорцы ботов своих... Хотя если не найдете, я всегда, почти всегда в icq


При работе с TICQclient учтите.

сообщения отправляются так:
Цитата:
icqclient1.sendmessage(uin,'message');
Ответить с цитированием
  #10  
Старый 29.03.2009, 15:21
BloodFooria BloodFooria вне форума
Новичок
 
Регистрация: 30.10.2008
Адрес: Улан-Удэ
Сообщения: 81
Репутация: 10
По умолчанию

Да просто ввести "ICQClient1." а там уже прокрутить стрелками. У кого лады с английским (а думаю тут у многих хорошо, если не у всех), то все будет понятно
__________________
Auta i Lome...
Ответить с цитированием
  #11  
Старый 29.03.2009, 15:21
AlexTheC0d3r AlexTheC0d3r вне форума
Прохожий
 
Регистрация: 26.02.2009
Сообщения: 25
Репутация: 10
По умолчанию

Если спаммер или еще что, то вот процедура отправки следующему в memo по списку UIN'у

Цитата:
var i:integer;
begin
for i:=0 to memo1.lines.count-1 do
begin
[сюда можно вставить процедуру задержки];
icq.sendmessage(strtoint(memo1.lines[i]),'Нужное сообщение');
end;
end;
Ответить с цитированием
  #12  
Старый 29.03.2009, 17:18
BloodFooria BloodFooria вне форума
Новичок
 
Регистрация: 30.10.2008
Адрес: Улан-Удэ
Сообщения: 81
Репутация: 10
По умолчанию

На форуме подобные "штуковины" запрещены!
Да к тому же, такое написать проще паренной репы, думать даже не надо о_О
__________________
Auta i Lome...
Ответить с цитированием
  #13  
Старый 29.03.2009, 19:13
AlexTheC0d3r AlexTheC0d3r вне форума
Прохожий
 
Регистрация: 26.02.2009
Сообщения: 25
Репутация: 10
По умолчанию

Цитата:
Сообщение от BloodFooria
На форуме подобные "штуковины" запрещены!
Да к тому же, такое написать проще паренной репы, думать даже не надо о_О

Штуковины? что в том коде, который я написал незаконного?
Ответить с цитированием
  #14  
Старый 29.03.2009, 20:39
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Рассылка сообщения по списку. во всяком случае, так это выгладит (а по сути - так оно и есть). Это называется СПАМ, тоесть ты привёл часть СПАМ-бота. хотя, действительно, тревиальней не придумаешь...

А у автора по ходу проблемы с циклами. Вперёд, азы учить! )))
Ответить с цитированием
  #15  
Старый 30.03.2009, 08:01
BloodFooria BloodFooria вне форума
Новичок
 
Регистрация: 30.10.2008
Адрес: Улан-Удэ
Сообщения: 81
Репутация: 10
По умолчанию

popyurv правильно сказал (по поводу СПАМа).

Азы? Можно поиздеваться и вместо обычного for... to... do... использовать repeat... until... У меня друг порой делает
__________________
Auta i Lome...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:41.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025