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

  #1871  
Старый 07.07.2008, 16:38
Аватар для Exile1985
Exile1985
Участник форума
Регистрация: 10.08.2006
Сообщений: 147
Провел на форуме:
404152

Репутация: 94
По умолчанию

Цитата:
Сообщение от Nightmarе  
Я конешн понимаю смешно звучит, но опять таки последний символ в пароле режется... я заметил не сразу. Как исправить?

Ну или вариант с TStringList, но как цикл установить по типу memo1.lines.count ???
ss.count не пашет, а других вариантов я не нашёл.
все там нормально пашет...

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
ss:Tstrings;
i:integer;
begin
  ss:=TStringList.Create;
  ss.LoadFromFile('uins.txt');
  ss.NameValueSeparator:=';';
  for i:=0 to ss.Count-1 do
    begin
      ICQClient1.UIN := StrToInt(ss.Names[i]);
      ICQClient1.Password := ss.ValueFromIndex[i];
    end;
end;
end.
 
Ответить с цитированием

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

Репутация: 1680


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

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 номера в списке...
Понять не могу где же ошибка...
 
Ответить с цитированием

  #1873  
Старый 07.07.2008, 22:21
Аватар для Dober'man
Dober'man
Banned
Регистрация: 16.07.2007
Сообщений: 79
Провел на форуме:
801879

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

Ну так ведь после того как ты распределил, к примеру 10 номеров и пасов, указатели в этих файлах(файл с номерами и файл с паролями) сохраняются на последних записях, т.е. у тебя идет смена пароля только последнего уина...
Можно сделать что-то типа: for i:=10 downto 1, либо закрыть и потом открыть файл, либо seek...

update:

А вообщем, я на твоем месте сделал бы типизированные файлы:
Код:
type NumberUin = record n: integer end;
var f1: file of NumberUin; // файл с номерами уинов
type PassUin = record p: string end;
var f2: file of PassUin; // файл с паролями уинов
С ними было бы по проще, да и представляются они в системе как двотчные...

Последний раз редактировалось Dober'man; 07.07.2008 в 22:29..
 
Ответить с цитированием

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

Репутация: 1680


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

ну это 2 текстовых файла один с логинами другой с паролями... несерёзно.
 
Ответить с цитированием

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

Репутация: 1680


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

Млин ни так ни эдак не получается, есть какие нить простые варианты?
Может procedure TForm1.ICQClient1Login обработать надо в цикле?
 
Ответить с цитированием

  #1876  
Старый 08.07.2008, 02:25
Аватар для qPhoenix
qPhoenix
Banned
Регистрация: 15.12.2005
Сообщений: 95
Провел на форуме:
1509352

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

Че-то парни вы мудрите
вотъ набросал побыстрому как я вижу работу массового пассченжера:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ICQClient, ICQWorks, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    ICQClient1: TICQClient;
    procedure Button1Click(Sender: TObject);
    procedure Change;
    procedure ICQClient1Login(Sender: TObject);
    procedure ICQClient1Error(Sender: TObject; ErrorType: TErrorType;
      ErrorMsg: String);
    procedure ICQClient1InfoChanged(Sender: TObject; InfoType: TInfoType;
      ChangedOk: Boolean);
    procedure ICQClient1LogOff(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  source:TStringList;
  tmp,uin,pass:string;

implementation

{$R *.dfm}

procedure TForm1.Change;
begin
 if source.Count>0 then
 begin
  tmp:=source.Strings[0];
  uin:=copy(tmp,1,pos(';',tmp)-1);
  pass:=copy(tmp,pos(';',tmp)+1,length(tmp));
  Memo1.Lines.Add(uin+' '+pass);
  ICQClient1.Password:=pass;
  ICQClient1.UIN:=StrToInt(uin);
  ICQClient1.ScreenName:=uin;
  ICQClient1.Login;
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 source:=TStringList.Create;
 source.LoadFromFile('source.txt');
 ICQClient1.ConvertToPlaintext:=True;
 ICQClient1.ICQServer:='login.icq.com';
 ICQClient1.ICQPort:=5190;
 Change;
end;

procedure TForm1.ICQClient1Login(Sender: TObject);
begin
 Memo1.Lines.Add('con');
 ICQClient1.ChangePassword('newpass');
end;

procedure TForm1.ICQClient1Error(Sender: TObject; ErrorType: TErrorType;
  ErrorMsg: String);
begin
 Memo1.Lines.Add(tmp+' Err: '+ErrorMsg);
 ICQClient1.LogOff;
end;

procedure TForm1.ICQClient1InfoChanged(Sender: TObject;
  InfoType: TInfoType; ChangedOk: Boolean);
var fil;
begin
 assignfile(fil,'changed.txt');
 if fileexists('changed.txt') then appendfile(fil)
  else rewrite(fil);
 writeln(fil,uin+';'+'newpass');
 closefile(fil);
 source.Delete(0);
 Memo1.Lines.Add(tmp+' Changed');
 ICQClient1.LogOff;
end;

procedure TForm1.ICQClient1LogOff(Sender: TObject);
begin
 Memo1.Lines.Add('dis');
 Change;
end;

end.

Последний раз редактировалось qPhoenix; 08.07.2008 в 02:41..
 
Ответить с цитированием

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

Репутация: 1680


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

qPhoenix спс.
ICQClient1.ScreenName:=uin; - ругается, типа ScreenName несуществующяя команда.
пришлось удалить.
var fil; - ???
Я поставил текстфайл. протестировал... в MEMO вывелся тока первый номер с паролем и всё... нигде пасс не сменился ;(
 
Ответить с цитированием

  #1878  
Старый 08.07.2008, 03:33
Аватар для qPhoenix
qPhoenix
Banned
Регистрация: 15.12.2005
Сообщений: 95
Провел на форуме:
1509352

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

ScreenName убирай ) видать разные у нас TICQ

ты эвенты onInfoChanged и OnLogoff привязал к компоненту?

на всяк случай - юзал этот TICQ, старый напрочь отказывался работать - кричал "Версия клиента устарела"
 
Ответить с цитированием

  #1879  
Старый 08.07.2008, 19:48
Аватар для Intelekt
Intelekt
Новичок
Регистрация: 17.04.2008
Сообщений: 3
Провел на форуме:
10831

Репутация: 0
По умолчанию

Ребята, дайте пожалуйста ссылку, откудаможно скачать Delphi послебнюю версию. Заранее благодарен!!!
 
Ответить с цитированием

  #1880  
Старый 08.07.2008, 20:57
Аватар для Termo_90
Termo_90
Новичок
Регистрация: 02.07.2008
Сообщений: 3
Провел на форуме:
6273

Репутация: 0
По умолчанию

А нафига последняя? Качай 7-мую и будь доволен... По моему эта самая распространенная
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[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