Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверить вхождение любой строки из списка в текст 
:(
    Опции темы
artsb
Дата 13.1.2010, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 1
Всего: 64



Цитата(muratboy31 @  13.1.2010,  21:31 Найти цитируемый пост)
if aranan.pos(BlockedUsers.IndexOf) then

must be like that:
Код

if aranan.pos('xxx') then
// or
if aranan.pos(Edit1.Text) then
// or
if aranan.pos(BlockedUsers.Strings[5]) then


From help:
Цитата

Returns the index at which a specified substring begins.

int __fastcall Pos(const AnsiString& subStr) const;

Description

Pos returns the index in the AnsiString at which the substring subStr begins, where 1 is the index of the first character, 2 is the index of the second character, and so on. If the substring is not contained in the AnsiString, Pos returns 0.



--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
muratboy31
Дата 13.1.2010, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



ok this works but when i get the message for blocked site then message stay on the screen never closes !!!

Код

var
  aranan:AnsiString;
  BlockedUsers: TStringList;
  i: Integer;
begin
  aranan:=ComboBox1.Text;
  Form2.Text:=aranan;
  BlockedUsers := TStringList.Create;
  try
    BlockedUsers.LoadFromFile('users.txt');
    for i := 0 to BlockedUsers.Count-1 do
    begin
      if (Pos(BlockedUsers[i],aranan)>0) and (RadioButton2.Checked) then
      begin
        ShowMessage('No View');
        WebBrowser1.GoHome;
        ComboBox1.Text:='http://www.google.com';
        exit;
      end;
    end;
  finally
    BlockedUsers.Free;
  end;
end;


Это сообщение отредактировал(а) muratboy31 - 13.1.2010, 22:07
PM MAIL   Вверх
Демо
Дата 13.1.2010, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 7
Всего: 50



You not check words in event DownloadBegin.



--------------------
    
PM MAIL ICQ Skype   Вверх
muratboy31
Дата 13.1.2010, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



yes i check them on download begin but when i get the message for blocked site then message stay on the screen never closes !!!

user posted image

Код

procedure TForm2.WebBrowser1DownloadBegin(Sender: TObject);
var
  aranan:AnsiString;
  BlockedUsers: TStringList;
  i: Integer;
begin
  aranan:=ComboBox1.Text;
  Form2.Text:=aranan;
  BlockedUsers := TStringList.Create;
  try
    BlockedUsers.LoadFromFile('users.txt');
    for i := 0 to BlockedUsers.Count-1 do
    begin
      if (Pos(BlockedUsers[i],aranan)>0) and (RadioButton2.Checked) then
      begin
       ShowMessage('No View');
        WebBrowser1.GoHome;
        ComboBox1.Text:='http://www.google.com';
        exit;
      end;
    end;
  finally
    BlockedUsers.Free;
  end;
end;


Это сообщение отредактировал(а) muratboy31 - 13.1.2010, 22:20
PM MAIL   Вверх
artsb
Дата 13.1.2010, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 1
Всего: 64



Демо, я конечно не знаю как точно работает exit. ИМХО он просто выходит из функции. Тогда нужно перед exit поставить BlockedUsers.Free
Или выход происходит только из цикла?

Это сообщение отредактировал(а) artsb - 13.1.2010, 22:27


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Демо
Дата 13.1.2010, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 7
Всего: 50



Цитата(artsb @  13.1.2010,  22:26 Найти цитируемый пост)
Тогда нужно перед exit поставить BlockedUsers.Free


block finally..end always executed...


--------------------
    
PM MAIL ICQ Skype   Вверх
artsb
Дата 13.1.2010, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 1
Всего: 64



Демо, я и по-русски понимаю smile 
Ясно. Я просто думал, что может она работает как return в C++

Это сообщение отредактировал(а) artsb - 13.1.2010, 22:41


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
muratboy31
Дата 13.1.2010, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



 smile     what do i have to do to stop this error ?

user posted image

Это сообщение отредактировал(а) muratboy31 - 13.1.2010, 22:48
PM MAIL   Вверх
artsb
Дата 13.1.2010, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 1
Всего: 64



maybe commenting this line:
Код

// ShowMessage('No View');



--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
muratboy31
Дата 13.1.2010, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



no no i tried it but it doesnt help !!!
then it keeps loading the home site !!!
PM MAIL   Вверх
Демо
Дата 13.1.2010, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 7
Всего: 50



muratboy31, 

too little source code...


--------------------
    
PM MAIL ICQ Skype   Вверх
muratboy31
Дата 13.1.2010, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



here is the full code !!!

Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, SHDocVw, StdCtrls, ExtCtrls, ComCtrls;

type
  TForm2 = class(TForm)
    ComboBox1: TComboBox;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    RadioGroup1: TRadioGroup;
    WebBrowser1: TWebBrowser;
    RadioButton2: TRadioButton;
    RadioButton1: TRadioButton;
    stsbrStatus: TStatusBar;
    procedure FormCreate(Sender: TObject);
//    procedure RadioGroup1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure WebBrowser1DownloadBegin(Sender: TObject);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox1Click(Sender: TObject);
    procedure WebBrowser1DownloadComplete(Sender: TObject);
    procedure WebBrowser1StatusTextChange(Sender: TObject; const Text: WideString);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.FormCreate(Sender: TObject);
begin
ComboBox1.Items.LoadFromFile('son.ini');
ComboBox1.ItemIndex:=0;
WebBrowser1.Navigate(ComboBox1.Text);
RadioButton1.Checked:=true;
WebBrowser1.Anchors:= [akLeft, akTop, akBottom, akRight];
end;



procedure TForm2.WebBrowser1DownloadComplete(Sender: TObject);
var
  URL : string;
begin
  URL := WebBrowser1.LocationURL;
  if not(ComboBox1.Text = URL) then ComboBox1.Text := URL;
end;

 procedure TForm2.WebBrowser1StatusTextChange(Sender: TObject; const Text: WideString);
begin
  stsbrStatus.Panels[1].Text := Text;
end; 


procedure TForm2.Button1Click(Sender: TObject);
begin
WebBrowser1.GoHome;
end;


procedure TForm2.Button2Click(Sender: TObject);
begin
try
WebBrowser1.GoBack;
ComboBox1.Text:=WebBrowser1.LocationURL;
except
Button2.Enabled:=false;
end;
end;


procedure TForm2.Button3Click(Sender: TObject);
begin
try
WebBrowser1.GoForward;
ComboBox1.Text:=WebBrowser1.LocationURL;
except
Button3.Enabled:=false;
end;
end;


procedure TForm2.Button4Click(Sender: TObject);
begin
WebBrowser1.GoSearch;
WebBrowser1.Navigate('www.microsoftsourch.com');
end;


procedure TForm2.WebBrowser1DownloadBegin(Sender: TObject);
var
  aranan:AnsiString;
  BlockedUsers: TStringList;
  i: Integer;
begin
  aranan:=ComboBox1.Text;
  Form2.Text:=aranan;
  BlockedUsers := TStringList.Create;
  try
    BlockedUsers.LoadFromFile('users.txt');
    for i := 0 to BlockedUsers.Count-1 do
    begin
      if (Pos(BlockedUsers[i],aranan)>0) and (RadioButton2.Checked) then
      begin
       ShowMessage('No View');
        WebBrowser1.GoHome;
        ComboBox1.Text:='http://www.google.com';
        exit;
      end;
    end;
  finally
    BlockedUsers.Free;
  end;
end;


procedure TForm2.ComboBox1KeyPress(Sender: TObject; var Key:
Char);
begin
if Key=#13 Then
begin
WebBrowser1.Navigate(ComboBox1.Text);
ComboBox1.Items.Add(ComboBox1.Text);
ComboBox1.Items.SaveToFile('son.ini');
end;
end;


procedure TForm2.ComboBox1Click(Sender: TObject);
begin
WebBrowser1.Navigate(ComboBox1.Text);
end;


end.


Это сообщение отредактировал(а) muratboy31 - 13.1.2010, 23:59
PM MAIL   Вверх
Демо
Дата 13.1.2010, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 7
Всего: 50



move code check from procedure TForm2.WebBrowser1DownloadBegin to procedure TForm2.ComboBox1Click


--------------------
    
PM MAIL ICQ Skype   Вверх
muratboy31
Дата 13.1.2010, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



@Демо
you are perfect  smile 
 smile  smile 

thanks alot alot alot
PM MAIL   Вверх
~FoX~
Дата 13.1.2010, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 5
Всего: 68



Event OnDownloadBegin ocurse before, you change text in ComboBox1... Try that:
Код

      if (Pos(BlockedUsers[i],aranan)<>-1) and (RadioButton2.Checked) then
      begin
        ComboBox1.Text:='http://www.google.com';
        ShowMessage('No View');
        WebBrowser1.GoHome;
        exit;
      end;

or
Код

      if (Pos(BlockedUsers[i],aranan)<>-1) and (RadioButton2.Checked) then
      begin
        ShowMessage('No View');
        WebBrowser1.Stop;
        ComboBox1.Text:='http://www.google.com';
        WebBrowser1.GoHome;
        exit;
      end;

And....pos Returns the index value of the first character in a specified substring that occurs in a given string... If you have string '123123' and try find '123', then pos return 0

Добавлено через 1 минуту и 54 секунды
Иееххх, долго же я на английском пишу  smile 


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0599 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.