Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2011, 12:48   #1
Pasha_Sh
Форумчанин
 
Аватар для Pasha_Sh
 
Регистрация: 16.05.2010
Сообщений: 137
По умолчанию Получение ника в приложении уличная ярость

Пишу бота для приложения вконтакте "Уличная Ярость", который сам будет участвовать в турнирах и т.д.
Вот только проблема с отображением ника в программе, выводятся какие то каракули. Прошу помочь. Вот исходник:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
x: TStringList;
pf, ik, ol: string;
error: boolean;
begin
IdHTTP1.HandleRedirects:=false;
x:=TStringList.Create;
IdHTTP1.AllowCookies:=true;
x.Add('email=' + LabeledEdit1.Text);
x.Add('pass=' + LabeledEdit2.Text);
x.Add('expire=');
x.Add('vk=');
error:=false;
try
pf:=IdHTTP1.Post('http://login.vk.com/?act=login', x);
except
error:=true;
end;
if not(error) then
begin
x.Clear;
ik:=Copy(pf, Pos('value', pf)+7, 56);
x.Add('s='+ ik);
x.Add('op=slogin');
x.Add('redirect=1');
x.Add('expire=0');
x.Add('to=');
IdHTTP1.HandleRedirects:=true;
IdHTTP1.Request.CustomHeaders.Text := 'Cookie: remixsid='+ ik +';';
ol:=IdHTTP1.Post('http://vkontakte.ru/login.php', x);
if Pos('online', ol) > 0 then
begin
showmessage('Авторизировались!');
end
else
showmessage('Неправильеный логин или пароль!');
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
LabeledEdit2.Font.Name:='Wingdings';
LabeledEdit2.PasswordChar:='l';
end;

procedure TForm1.IdCookieManager1NewCookie(ASender: TObject;
  ACookie: TIdCookieRFC2109; var VAccept: Boolean);
begin
Memo1.Lines.Text:=(ACookie.CookieText);
VAccept:=true;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
p: TStringList;
i: TMemoryStream;
n, lvl, hp: string;
begin
i:=TMemoryStream.Create;
p:=TStringList.Create;
p.Add('api_id=325431');
p.Add('viewer_id=17063024');
p.Add('auth_key=d571ff23766631150aa2306bc1cfeefe');
p.Add('getach=1');
p.Add('a=getinfo');
p.Add('signup=1');
p.Add('rnd=555');
IdHTTP1.Post('http://streetfury.ru/server.php', p, i);
i.SaveToFile('1.txt');
i.Free;
memo2.Lines.LoadFromFile('1.txt');
n:=memo2.Lines.Text;
hp:=n;
lvl:=hp;
Delete(n, 1, Pos(' n="', n) +3);
Delete(n, Pos('lvl', n) -3, Length(n));   тут что-то не то
label1.Caption:=n;
Delete(lvl, 1, Pos('l="', lvl) +2);
Delete(lvl, Pos('hp', lvl) -2, Length(lvl));
label2.Caption:=lvl;
Delete(hp, 1, Pos('hp', hp) +3);
Delete(hp, Pos('exp_n', hp) -2, Length(hp));
label3.Caption:=hp;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
o: TStringList;
begin
o:=TStringList.Create;
o:=TStringList.Create;
o.Add('api_id=325431');
o.Add('viewer_id=17063024');
o.Add('auth_key=d571ff23766631150aa2306bc1cfeefe');
o.Add('getach=1');
o.Add('a=tournament');
o.Add('signup=1');
o.Add('rnd=555');
memo2.Lines.Text:=idhttp1.Post('http://streetfury.ru/server.php', o);
end;

end.
Заранее спасибо.
osu
Pasha_Sh вне форума Ответить с цитированием
Старый 05.03.2012, 02:00   #2
ST1174
 
Регистрация: 04.03.2012
Сообщений: 3
По умолчанию

Всё просто , выводятся каракули из за того , что ник персонажа написан русскими буквами , а ники персонажей написаные латинскими буквами ,выводятся нормально.
ST1174 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кнопка в приложении Nona Мультимедиа в Delphi 1 11.06.2010 22:47
Ошибка в приложении ChaoZ Общие вопросы C/C++ 14 09.06.2010 18:41
Iframe в Приложении DanzI Общие вопросы Delphi 15 14.09.2009 16:29
Подсветка ника, и ip-онлайн Revan Общие вопросы Delphi 1 02.06.2008 20:53
Помогите с определением ника по чату в локалке Nemiroff Работа с сетью в Delphi 11 19.12.2007 22:38