
16.01.2013, 16:50
|
Прохожий
|
|
Регистрация: 14.12.2010
Сообщения: 31
Репутация: 11
|
|
да не авторизовывалось из за этих файлов ...
Код:
procedure TForm5.Button1Click(Sender: TObject);
var
I: Integer;
gg: String;
j: Integer;
iskl: boolean;
vk: TVKClient;
templist: TStringList;
grouplist: TStringList;
iskluchenie: TStringList;
begin
vk := TVKClient.Create(nil); // создаём компонент
vk.Format := XML; // настраиваем формат возвращаемых данных (JSON или XML)
vk.Login := 'логин';
vk.Password := 'пароль';
If vk.OnLogin then//авторизовываемся и если авторизация прошла то ...
begin
showmessage('авторизовались');
templist := TStringList.Create;
grouplist := TStringList.Create;
iskluchenie := TStringList.Create;
vk.groups_get('', '', '', '', '', ''); // читаем все группы
//добавляем иды групп исключений ...
//добавил для примера http://vk.com/club27019565
//и http://vk.com/club28546855
//можешь посчитывать из мемо или еще откуда .. .если не поймешь короче напиши обьясню ...
iskluchenie.Add('27019565');
iskluchenie.Add('28546855');
templist.Text := vk.Response.Text; // в vk.Response находится ответ сервера после выполнения функций запроса всех групп
//==============================
//в этом блоке ответ с сервера обрабатываем занося в список grouplist только иды без лишних тегов ...
for I := 0 to templist.Count - 1 do
begin
if (Pos('<gid>', templist[i]) > 0) then
begin
gg := templist[i];
Delete(gg, Pos('<gid>', gg), 5);
Delete(gg, Pos('</gid>', gg), 6);
Delete(gg, Pos(' ', gg), 1);
grouplist.Add(gg);
//это открытие в браузере всех групп ... т.к. тестил на себе открыл чтобы потом опять вступить ...
ShellExecute(handle, 'open', PWideChar('http://vk.com/club' + gg), nil, nil, SW_SHOW)
end;
end;
//==============================
ShowMessage('После нажатия окей ... все группы удалять ...');//вместо этого можно диалог с вопросом поставить и тд ... сам придумаешь или спросишь если что. ..
//==============================
//этот блок выйдит из всех групп что хранятся в grouplist ... но проверив перед выходом не входит ли группа в список исключений ...
for I := 0 to grouplist.Count - 1 do
begin
iskl := false;
//вот блок проверки исключений ...
for j := 0 to iskluchenie.Count - 1 do
if grouplist[i] = iskluchenie[j] then
begin
iskl := true;
end;
if iskl = false then
begin
vk.groups_leave(grouplist[i]);
end;
end;
//==============================
//выводим список идов всех групп в мемо ...
Memo1.Text := grouplist.Text;
end;
templist.Free;
grouplist.Free;
vk.Free;
end;
ну както так ... если что не понятно спрашивай ...
на себе протестил ... все норм .. .)
|