ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1881  
Старый 09.07.2008, 00:57
De-visible
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме:
4037638

Репутация: 1821


Отправить сообщение для De-visible с помощью ICQ
По умолчанию

Цитата:
Сообщение от Nightmarе  
ICQClient1 - а ведь точно угодали что я под него пишу, хотя я про него не упомянал...

В общем я пытаюсь массовую смену паролей организовать для UIN`ов, вот мой код:
Код:
procedure TForm1.FlatButton7Click(Sender: TObject);
var
  i,n:dword;
  s,s2:string;
begin
uins.Lines.LoadFromFile(FlatEdit5.text);
for i:=0 to uins.Lines.Count-1 do
  begin
  n := pos(';',uins.Lines.Strings[i]);
    If (n > 0) then
    begin
      masslogin.Clear;
      masslogin.text := copy(uins.Lines.Strings[i],1,n-1);
      //memo2.Lines.Add(s);
      inc(n);
      masspass.Clear;
      masspass.text := copy(uins.Lines.Strings[i],n,length(uins.Lines.Strings[i]) - n+1);
      //memo3.Lines.Add(s);
            
       ICQClient1.ConvertToPlaintext := True;          //Convert RTF text to plain (when you don't use TRichEdit)
  ICQClient1.ICQServer := 'login.icq.com';        //Default login server
  ICQClient1.ICQPort := 5190;                     //Default login port
  ICQClient1.Password := masspass.text;       //Set password
  ICQClient1.UIN := StrToInt(masslogin.text);       //Set UIN
  ICQClient1.Login;                               //Login to server!

    end;
  end;
uins - это мемо в которое получаем список uin;pass
masslogin - сюда в цикле кидаем логин
masspass - сюда в цикле кидаем пасс

Далее функция авторизирования и смены паролей (ICQClient1.Login):
Код:
procedure TForm1.ICQClient1Login(Sender: TObject);
begin
    if ICQClient1.LoggedIn then
    begin
  ICQClient1.ChangePassword('ну тут нужный пароль который будет') ;
    Label1.Caption:='Успешно!!!';
    end;
В итоге успешно меняется пасс тока у самого последнего ICQ номера в списке...
Понять не могу где же ошибка...

Все бы ничего....кроме одной мелочи)
-------------
Всего лишь мелочи....
-------------
Заметь ты юзаешь цикл, а компоненту что бы залогинить номер нужно пару секунд!
Вот теперь смотри, ты юзаешь(на form1) только один компонент, а цикл проходит быстро, следовательно номера не успевают залогиниться, коннектится только последний потому что он последний...
-------------
Выход из этой жопной ситуации:
1) Юзать таймер - скорость маленькая
2) Юзать массив компоненнтов - лучший выход.
другому не быть...ля ля тополя - вот так вот...
отсюда вывод код не верный!
его надо переделывать....
или же код верный но его надо втыкать в таймер, что приведет к другой жопе, к снижению скорости смены пароля...
----
У меня все, спс за внимание
----------

P.S. прет меня сорри
 
Ответить с цитированием

  #1882  
Старый 09.07.2008, 01:00
BlackSun
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме:
10046345

Репутация: 4589


По умолчанию

Юзай потоки, и забудь ты про компоненты, памяти сожрешь немеряно!
 
Ответить с цитированием

  #1883  
Старый 09.07.2008, 12:06
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


Отправить сообщение для Nightmarе с помощью ICQ
По умолчанию

Цитата:
Сообщение от Dober'man  
Простейший выход: if ioresult=0 then continue else continue - если его предыдущий код правильный (не смотрел) то произойдет обработка каждого уина!!!
Пасиб, в какое место этот код ставить надо???
 
Ответить с цитированием

  #1884  
Старый 11.07.2008, 00:15
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


Отправить сообщение для Nightmarе с помощью ICQ
По умолчанию

Dober'man плз!!! если не затруднит напиши код как это реализовать, какой нить самый простой способ.
 
Ответить с цитированием

  #1885  
Старый 11.07.2008, 03:03
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


Отправить сообщение для Nightmarе с помощью ICQ
По умолчанию

masslogin.text masspass.text - это вообще то edit`ы
У меня такой принцип, открываем файл, и кидаем в цикле в едиты соответствено логин и пароль разделяя их ; это сделанно для того чтобы я мог непосредственно удобно иметь к ним доступ из едитов....
 
Ответить с цитированием

  #1886  
Старый 11.07.2008, 04:08
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


Отправить сообщение для Nightmarе с помощью ICQ
По умолчанию

Что именно мне надо дописать подскажи плз с примерным кодом.

Последний раз редактировалось Nightmarе; 11.07.2008 в 13:11..
 
Ответить с цитированием

  #1887  
Старый 11.07.2008, 22:41
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


Отправить сообщение для Nightmarе с помощью ICQ
По умолчанию

Пробую так:
Код:
procedure TForm1.FlatButton7Click(Sender: TObject);
var
  i,n:dword;
  s,s2:string;
begin
uins.Lines.LoadFromFile(FlatEdit5.text);
for i:=0 to uins.Lines.Count-1 do
  begin
  n := pos(';',uins.Lines.Strings[i]);
    If (n > 0) then
    begin
      loginmemo.lines.add(copy(uins.Lines.Strings[i],1,n-1));
      //memo2.Lines.Add(s);
      inc(n);
      passmemo.lines.add(copy(uins.Lines.Strings[i],n,length(uins.Lines.Strings[i]) - n+1));
      //memo3.Lines.Add(s);

       ICQClient1.ConvertToPlaintext := True;          //Convert RTF text to plain (when you don't use TRichEdit)
  ICQClient1.ICQServer := 'login.icq.com';        //Default login server
  ICQClient1.ICQPort := 5190;                     //Default login port
  ICQClient1.Password := passmemo.Lines[i];       //Set password
  ICQClient1.UIN := StrToInt(loginmemo.Lines[i]);       //Set UIN
  ICQClient1.Login;                               //Login to server!

    end;
  end;
Где: loginmemo - это memo с UIN`ами, ну а passmemo - это пароли.
Не меняется ни у одного номера...

Цитата:
Сообщение от Dober'man  
Видишь строку, отмеченную красными плюсиками, вот туда нужно добавить этот вызов.
Название добаляемой процедуры:
Код:
 procedure TForm1.ICQClient1Login(Sender: TObject);
На одну линию выше и так прописанно уже ICQClient1.Login; это вызов этой функции и есть если я не ошибаюсь.
 
Ответить с цитированием

  #1888  
Старый 11.07.2008, 23:41
qPhoenix
Banned
Регистрация: 15.12.2005
Сообщений: 95
Провел на форуме:
1509352

Репутация: 132
Отправить сообщение для qPhoenix с помощью ICQ
По умолчанию

Nightmarе
Выложи архивчики с твоим TICQ и проектом, подправлю... а то смотрю не клеится у вас ниче в слепую
 
Ответить с цитированием

  #1889  
Старый 11.07.2008, 23:49
De-visible
Banned
Регистрация: 06.01.2008
Сообщений: 904
Провел на форуме:
4037638

Репутация: 1821


Отправить сообщение для De-visible с помощью ICQ
По умолчанию

Цитата:
Сообщение от qPhoenix  
Nightmarе
Выложи архивчики с твоим TICQ и проектом, подправлю... а то смотрю не клеится у вас ниче в слепую
посмотри мой пост, и поспрашивай про это у людей с асечки, видишь ли тут меня признали не правым...не люблю спорить...
 
Ответить с цитированием

  #1890  
Старый 12.07.2008, 00:13
qPhoenix
Banned
Регистрация: 15.12.2005
Сообщений: 95
Провел на форуме:
1509352

Репутация: 132
Отправить сообщение для qPhoenix с помощью ICQ
По умолчанию

Цитата:
Сообщение от De-visible  
посмотри мой пост, и поспрашивай про это у людей с асечки, видишь ли тут меня признали не правым...не люблю спорить...
Конечно цикл здесь неуместен, и код изначально дубообразный, но все же можно кримеру вставить ожидание while not ICQ.LoggedIn do sleep(1000); , али еще ченить придумать, но массив из *** коннектящихся компонентов это тоже перебор..
ИМХО для такого вопроса нужно юзать евенты OnError OnLogoff OnInfoChanged, и отталкиваясь от них уже двигать дальше...

Последний раз редактировалось qPhoenix; 12.07.2008 в 04:49..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/WPAN/WLAN 2564 06.04.2026 23:31
[ *NIX ] Задай вопрос - получи ответ. Xszz *nix 1547 15.06.2010 15:41
[jQuery] - Задай вопрос, получи ответ Isis PHP, PERL, MySQL, JavaScript 62 25.12.2009 03:25
ЕсТь ВоПрос Guma Чаты 4 26.10.2005 21:48



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT.XYZ