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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2011, 20:43   #1
gufon
Форумчанин
 
Регистрация: 21.12.2010
Сообщений: 224
По умолчанию Функция Pos возвращает 0

Функция Pos возвращает 0, но текст который я ищу есть, а она ПОС говорит что нет
gufon вне форума Ответить с цитированием
Старый 05.03.2011, 20:48   #2
kangreon
Форумчанин
 
Аватар для kangreon
 
Регистрация: 03.04.2009
Сообщений: 305
По умолчанию

Вы ищите кириллические символы?
И какая версия Delphi?
kangreon вне форума Ответить с цитированием
Старый 05.03.2011, 21:08   #3
gufon
Форумчанин
 
Регистрация: 21.12.2010
Сообщений: 224
По умолчанию

7 семерка, (сообщение слишком короткое)
ищу вот <span>
gufon вне форума Ответить с цитированием
Старый 05.03.2011, 21:14   #4
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

возможно регистр букв не совпадает, насколько я знаю, Pos всегда работает правильно
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 05.03.2011, 21:15   #5
gufon
Форумчанин
 
Регистрация: 21.12.2010
Сообщений: 224
По умолчанию

не совпадает я скопировал даже от туда
gufon вне форума Ответить с цитированием
Старый 05.03.2011, 21:16   #6
gufon
Форумчанин
 
Регистрация: 21.12.2010
Сообщений: 224
По умолчанию

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdHTTP, ExtCtrls;

type
  TForm1 = class(TForm)
    IdHTTP1: TIdHTTP;
    Memo1: TMemo;
    Button1: TButton;
    Timer1: TTimer;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

         procedure TForm1.Button1Click(Sender: TObject);
var data:tstringlist;
      PageProfile:string;
      error:boolean;
begin
IdHTTP1.AllowCookies:=true;
IdHTTP1.HandleRedirects:=false;
data:=tstringlist.create;
data.Add('act=login');
data.Add('expire=1');
data.Add('vk=');
data.Add('email=login');  // логин для авторизации
data.Add('pass=pass');  // пароль для авторизации
data.Add('success_url=http://vkontakte.ru/share.php?act=logged');
error:=false;
try
  PageProfile:=IdHTTP1.Post('http://login.vk.com/', data);
except
  error:=true;
end;

if not(error) then
  begin
   data.Clear;
   data.Add('s='+Copy(PageProfile, Pos('value', PageProfile)+7, 56));
   data.Add('op=slogin');
   data.Add('redirect=1');
   data.Add('expire=1');
   data.Add('to=');
   IdHTTP1.HandleRedirects:=true;
   try
    IdHTTP1.Post('http://vkontakte.ru/share.php?act=logged', data);
   except
   end;
   PageProfile:=IdHTTP1.get('http://vkontakte.ru');
   Memo1.Lines.Add('Авторизация удалась');
  end
else
  Memo1.Lines.Add('Авторизация не удалась');

Data.Free;
Timer1.Enabled:= true;

end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Edit1.Text:=(IdHTTP1.Get('http://vkontakte.ru/danilkovalenko'));
showMessage(inttostr(AnsiPos('<span>',Edit1.Text)));
end;

end.

Последний раз редактировалось gufon; 05.03.2011 в 21:41.
gufon вне форума Ответить с цитированием
Старый 05.03.2011, 21:18   #7
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию

gufon, давайте примеры кода И текста, в котором идет поиск
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Старый 05.03.2011, 21:18   #8
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

Цитата:
Сообщение от gufon Посмотреть сообщение
не совпадает я скопировал даже от туда
Может ты неправильно вводишь параметры, первый параметр входящая строка, второй - то, где ты ищешь.
Помню раньше в этом иногда ошибался)

А почему AnsiPos, а не просто Pos?
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.

Последний раз редактировалось chertovich; 05.03.2011 в 21:25.
chertovich вне форума Ответить с цитированием
Старый 05.03.2011, 21:25   #9
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
По умолчанию

Для IdHTTP1 подключен TIdCookieManager? Подключите TIdCookieManager, нажмите Button1, а потом уже включайте таймер
Цитата:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Edit1.Text:=(IdHTTP1.Get('http://vkontakte.ru/danilkovalenko'));
showMessage(inttostr(AnsiPos('<span >',Edit1.Text)));
end;
Сейчас вы получаете html-код страницы для незалогиненного пользователя. В этом html-коде нет <span>!

Попробуйте выйти из контакта. Потом вставьте в адресную строку h_t_t_p://vkon.ru/danilkovalenko и посмотрите поиском исходный код страницы...
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"

Последний раз редактировалось AlDelta; 05.03.2011 в 22:22.
AlDelta вне форума Ответить с цитированием
Старый 05.03.2011, 21:25   #10
gufon
Форумчанин
 
Регистрация: 21.12.2010
Сообщений: 224
По умолчанию

Цитата:
Edit1.Text:=(IdHTTP1.Get('http://vkontakte.ru/danilkovalenko'));
showMessage(inttostr(AnsiPos('<span >',Edit1.Text)));
вот тот самый код
gufon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функция не возвращает результат=( Chica Bond Общие вопросы C/C++ 14 03.12.2010 18:47
Функция не возвращает значения 2.0 Winlook PHP 1 10.05.2010 00:58
Функция Pos, поиск снизу вверх RIO Общие вопросы Delphi 4 11.01.2010 23:17
что будет возвращать функция при различных pos vasyapupkin Общие вопросы C/C++ 4 03.11.2009 20:48
функция pos drumerbaker Помощь студентам 6 17.05.2009 15:52