Есть строка с контакта: Code: {"rows":"<div id=\"membersContainer\"><div id=\"memRow91505135\" class=\"mem_row clearFix\">\n<table>\n<tr>\n<td class=\"img\"><a href=\"\/id91505135\"><img src=\"http:\/\/cs10167.vkontakte.ru\/u91505135\/c_70d9c7e9.jpg\" \/><\/a><\/td>\n<td class=\"info\"><a class=\"memLink\" href=\"\/id91505135\">Марина Ахмерова<\/a>\n<br \/><span class=\"actions\"><a href=\"#\" onClick=\"return cancelInvitation(91505135, 119749, '99fd680c903b1d9cdb')\">Отменить<\/a><\/span><\/td>\n<td class=\"details\">\n\n<\/td>\n<\/tr>\n<\/table>\n<\/div><div id=\"memRow91505140\" class=\"mem_row clearFix\">\n<table>\n<tr>\n<td class=\"img\"><a href=\"\/id91505140\"><img src=\"http:\/\/cs10172.vkontakte.ru\/u91505140\/c_5d36e824.jpg\" \/><\/a><\/td>\n<td class=\"info\"><a class=\"memLink\" href=\"\/id91505140\">Ольга Абрамова<\/a>\n<br \/><span class=\"actions\"><a href=\"#\" onClick=\"return cancelInvitation(91505140, 119749, 'a5fbbc535e652303eb')\">Отменить<\/a><\/span><\/td>\n<td class=\"details\">\n\n<\/td>\n<\/tr>\n<\/table>\n<\/div><div id=\"memRow91505170\" class=\"mem_row clearFix\">\n<table>\n<tr>\n<td class=\"img\"><a href=\"\/id91505170\"><img src=\"http:\/\/vkontakte.ru\/images\/question_c.gif\" \/><\/a><\/td>\n<td class=\"info\"><a class=\"memLink\" href=\"\/id91505170\">Сергей Иванов<\/a>\n<br \/><span class=\"actions\"><a href=\"#\" onClick=\"return cancelInvitation(91505170, 119749, 'a2b6f3c0f0d441afea')\">Отменить<\/a><\/span><\/td>\n<td class=\"details\">\n\n<\/td>\n<\/tr>\n<\/table>\n<\/div><div id=\"memRow91505189\" class=\"mem_row clearFix\">\n<table>\n<tr>\n<td class=\"img\"><a href=\"\/id91505189\"><img src=\"http:\/\/cs10221.vkontakte.ru\/u91505189\/c_f89d753f.jpg\" \/><\/a><\/td>\n<td class=\"info\"><a class=\"memLink\" href=\"\/id91505189\">Людмила Прохорова<\/a>\n<br \/><span class=\"actions\"><a href=\"#\" onClick=\"return cancelInvitation(91505189, 119749, 'c179ea021cfa29d82a')\">Отменить<\/a><\/span><\/td>\n<td class=\"details\">\n\n<\/td>\n<\/tr>\n<\/table>\n<\/div><div id=\"memRow91505341\" class=\"mem_row clearFix\">\n<table>\n<tr>\n<td class=\"img\"><a href=\"\/id91505341\"><img src=\"http:\/\/cs10373.vkontakte.ru\/u91505341\/c_0d405321.jpg\" \/><\/a><\/td>\n<td class=\"info\"><a class=\"memLink\" href=\"\/id91505341\">Евгения Moroz<\/a>\n<br \/><span class=\"actions\"><a href=\"#\" onClick=\"return cancelInvitation(91505341, 119749, '7eaeda194dabe5461c')\">Отменить<\/a><\/span><\/td>\n<td class=\"details\">\n\n<\/td>\n<\/tr>\n<\/table>\n<\/div><div id=\"memRow91505535\" class=\"mem_row clearFix\">\n<table>\n<tr>\n<td class=\"img\"><a href=\"\/id91505535\"><img src=\"http:\/\/vkontakte.ru\/images\/question_c.gif\" \/><\/a><\/td>\n<td class=\"info\"><a class=\"memLink\" href=\"\/id91505535\">Рива ----<\/a>\n<br \/><span class=\"actions\"><a href=\"#\" onClick=\"return cancelInvitation(91505535, 119749, 'aaf3749d521adabfa1')\">Отменить<\/a><\/span><\/td>\n<td class=\"details\">\n\n<\/td>\n<\/tr>\n<\/table>\n<\/div><div id=\"memRow91505550\" class=\"mem_row clearFix\">\n<table>\n<tr>\n<td class=\"img\"><a href=\"\/id91505550\"><img src=\"http:\/\/vkontakte.ru\/images\/question_c.gif\" \/><\/a><\/td>\n<td class=\"info\"><a class=\"memLink\" href=\"\/id91505550\">Андрей Лохин<\/a>\n<br \/><span class=\"actions\"><a href=\"#\" onClick=\"return cancelInvitation(91505550, 119749, '81484656cf3630ebcb')\">Отменить<\/a><\/span><\/td>\n<td class=\"details\">\n\n<\/td>\n<\/tr>\n<\/table>\n<\/div><div id=\"memRow91506083\" class=\"mem_row clearFix\">\n<table>\n<tr>\n<td class=\"img\"><a href=\"\/id91506083\"><img src=\"http:\/\/cs313.vkontakte.ru\/u91506083\/c_80bfbea1.jpg\" \/><\/a><\/td>\n<td class=\"info\"><a class=\"memLink\" href=\"\/id91506083\">Alenka Abramovich<\/a>\n<br \/><span class=\"actions\"><a href=\"#\" onClick=\"return cancelInvitation(91506083, 119749, '05c7cce528398bebd2')\">Отменить<\/a><\/span><\/td>\n<td class=\"details\">\n\n<\/td>\n<\/tr>\n<\/table>\n<\/div><div id=\"memRow62981651\" class=\"mem_row clearFix\">\n<table>\n<tr>\n<td class=\"img\"><a href=\"\/id62981651\"><img src=\"http:\/\/vkontakte.ru\/images\/question_c.gif\" \/><\/a><\/td>\n<td class=\"info\"><a class=\"memLink\" href=\"\/id62981651\">Toxa Viharev<\/a>\n<br \/><span class=\"actions\"><a href=\"#\" onClick=\"return cancelInvitation(62981651, 119749, 'f112a107713f882654')\">Отменить<\/a><\/span><\/td>\n<td class=\"details\">\n\n<\/td>\n<\/tr>\n<\/table>\n<\/div><div id=\"memRow62800092\" class=\"mem_row clearFix\">\n<table>\n<tr>\n<td class=\"img\"><a href=\"\/id62800092\"><img src=\"http:\/\/vkontakte.ru\/images\/question_c.gif\" \/><\/a><\/td>\n<td class=\"info\"><a class=\"memLink\" href=\"\/id62800092\">Настя Рябова<\/a>\n<br \/><span class=\"actions\"><a href=\"#\" onClick=\"return cancelInvitation(62800092, 119749, '952b3e41b41b7e33af')\">Отменить<\/a><\/span><\/td>\n<td class=\"details\">\n\n<\/td>\n<\/tr>\n<\/table>\n<\/div><div id=\"memRow62800099\" class=\"mem_row clearFix\">\n<table>\n<tr>\n<td class=\"img\"><a href=\"\/id62800099\"><img src=\"http:\/\/vkontakte.ru\/images\/question_c.gif\" \/><\/a><\/td>\n<td class=\"info\"><a class=\"memLink\" href=\"\/id62800099\">Нина Станиславенко<\/a>\n<br \/><span class=\"actions\"><a href=\"#\" onClick=\"return cancelInvitation(62800099, 119749, '50ca2cd26e8dca5b5e')\">Отменить<\/a><\/span><\/td>\n<td class=\"details\">\n\n<\/td>\n<\/tr>\n<\/table>\n<\/div><div id=\"memRow61839515\" class=\"mem_row clearFix\">\n<table>\n<tr>\n<td class=\"img\"><a href=\"\/id61839515\"><img src=\"http:\/\/vkontakte.ru\/images\/question_c.gif\" \/><\/a><\/td>\n<td class=\"info\"><a class=\"memLink\" href=\"\/id61839515\">teo teo<\/a>\n<br \/><span class=\"actions\"><a href=\"#\" onClick=\"return cancelInvitation(61839515, 119749, 'a3dcd31c3fcc11e9c5')\">Отменить<\/a><\/span><\/td>\n<td class=\"details\">\n\n<\/td>\n<\/tr>\n<\/table>\n<\/div><div id=\"memRow61839115\" class=\"mem_row clearFix\">\n<table>\n<tr>\n<td class=\"img\"><a href=\"\/id61839115\"><img src=\"http:\/\/vkontakte.ru\/images\/question_c.gif\" \/><\/a><\/td>\n<td class=\"info\"><a class=\"memLink\" href=\"\/id61839115\">Серёжа Барбачёв<\/a>\n<br \/><span class=\"actions\"><a href=\"#\" onClick=\"return cancelInvitation(61839115, 119749, 'bf8b50e32ec69d4eff')\">Отменить<\/a><\/span><\/td>\n<td class=\"details\">\n\n<\/td>\n<\/tr>\n<\/table>\n<\/div><div id=\"memRow59706906\" class=\"mem_row clearFix\">\n<table>\n<tr>\n<td class=\"img\"><a href=\"\/id59706906\"><img src=\"http:\/\/cs4457.vkontakte.ru\/u59706906\/c_1b2561e2.jpg\" \/><\/a><\/td>\n<td class=\"info\"><a class=\"memLink\" href=\"\/id59706906\">Юля Волошина<\/a>\n<br \/><span class=\"actions\"><a href=\"#\" onClick=\"return cancelInvitation(59706906, 119749, '651aba1884dcf10df7')\">Отменить<\/a><\/span><\/td>\n<td class=\"details\">\n\n<\/td>\n<\/tr>\n<\/table>\n<\/div><\/div>","summary":"1<span style=\"font-size:60%\"> <\/span>120 приглашений в группу еще не были приняты","pages":"<ul class=\"pageList\"><li class=\"current\">1<\/li><li><a href=\"groups.php?gid=119749§ion=3#offset=50\" onclick=\"return getPage(50)\">2<\/a><\/li><li><a href=\"groups.php?gid=119749§ion=3#offset=100\" onclick=\"return getPage(100)\">3<\/a><\/li><li><a href=\"groups.php?gid=119749§ion=3#offset=1100\" onclick=\"return getPage(1100)\">»<\/a><\/li><\/ul>","section_id":3} Из которой надо достать циклом IDпользователя, IDgroup, Hash, ну так как ID группы я знаю....нужно достать IDпользователя, и hash состяпал код : Code: var i : integer; IDChar, Hash, Ost : String; F : TStringList; begin F := TStringList.Create; Memo2.Lines.LoadFromFile('groups.txt'); F.Text:=memo2.Lines.Text; if Pos('cancelInvitation', F.Text)<>0 then begin IDChar := Copy(F.Text, Pos('(', F.Text)+1, Length(F.Text)); IDChar := Copy(IdChar, 0, Pos(',', IdChar)-1); Memo1.Lines.Add('ID = '+IDChar); end; if Pos('cancelInvitation', F.Text)<>0 then begin Hash := Copy(F.Text, Pos(#39, F.Text)+1, Length(F.Text)); Hash := Copy(Hash, 0, Pos(#39, Hash)-1); Memo1.Lines.Add('Hash = '+Hash); end; end; но он вытаскивает 1 id 1 hash даже если его поставить в цикл....т.к. я уже удалил в этих функциях весь код....как вытаскивать последовательно в строке эти два значения? Не могу догнать... help
Могу предложить удалять то, что уже прошел. И убрать лишние переменные. Code: var s : String; F : TStringList; begin F := TStringList.Create; Memo2.Lines.LoadFromFile('groups.txt'); F.Text:=memo2.Lines.Text; while Pos('cancelInvitation', F.Text)<>0 do begin s := Copy(F.Text, Pos('(', F.Text)+1, Length(F.Text)); s := Copy(s, 0, Pos(',', s)-1); Memo1.Lines.Add('ID = '+s); s := Copy(F.Text, Pos(#39, F.Text)+1, Length(F.Text)); s := Copy(s, 0, Pos(#39, s)-1); Memo1.Lines.Add('Hash = '+s); s:=F.Text; // Из StringList'а Delphi удалять ничего не хочет Delete(s,1,Pos(#39, Hash)); F.Text:=s; end; FreeAndNil(F); end; Должно работать...
Code: procedure Memo1Change(S: String); var k,l: Integer; begin while Length(s)>0 do begin k:= pos('cancelInvitation',s); if k>0 then begin Delete(s,1,k + 17); l:= pos(',',s); Memo1.Lines.Add('ID User: ' + Copy(s,1,l-1)); Delete(s,1,l+1); l:= pos(',',s); Memo1.Lines.Add('ID Grup: ' + Copy(s,1,l-1)); Delete(s,1,l+2); l:= pos('''',s); Memo1.Lines.Add('Hash: ' + Copy(s,1,l-1)); end else Break; end; end;
Спасибо всем большое) ну посидел поковырялся и вроде бы сам догнал Вот что я натворил: Code: var i : integer; IDChar, Hash, Ost : String; F : TStringList; begin F := TStringList.Create; Memo2.Lines.LoadFromFile('groups.txt'); F.Text:=memo2.Lines.Text; while Pos('cancelInvitation', F.Text)<>0 do begin if Pos('cancelInvitation', F.Text)<>0 then begin F.Text := Copy(F.Text, Pos('(', F.Text)+1, Length(F.Text)); IDChar := Copy(F.Text, 0, Pos(',', F.Text)-1); F.Text := Copy(F.Text, Pos(#39, F.Text)+1, Length(F.Text)); Hash := Copy(F.Text, 0, Pos(#39, F.Text)-1); Memo1.Lines.Add('ID = '+IDChar); Memo1.Lines.Add('Hash = '+Hash); end; end; end; Тему можно закрыть/удалить!
Совет, для таких вещей просто скачай нормальный парсер JSON и не парься, в вк во многих запросах ответ в виде JSON приходит.