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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> help with code please 
:(
    Опции темы
artsb
Дата 15.1.2010, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(muratboy31 @  15.1.2010,  14:38 Найти цитируемый пост)
why is it doing that,  if i type 'google' it blocks but if i type 'gOogle' or 'Google' then it doesnt block !!!! 


Цитата(artsb @  15.1.2010,  11:54 Найти цитируемый пост)
And for comparison insensitive, you can use:
Код

if (Pos(LowerCase(BlockedUsers[i]),LowerCase(aranan))>0) and (Block=1) then




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


Бывалый
*


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

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



sorry for bugging u tooo much but if i start typing to combobox and if i start with 'g' then it autocomplites the word to google and blocks it... as u can c in the pictures step by step;

step 1:
user posted image

step 2:
user posted image

step 3:
user posted image
PM MAIL   Вверх
artsb
Дата 15.1.2010, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



muratboy31, try this:
Код

flag: boolean;
//...
procedure TForm1.IEAddress1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if key = VK_RETURN then
 begin
  flag := false;
 end
 else
 begin
  flag := true;
 end;
 IEAddress1Select(IEAddress1);
end;

procedure TForm1.IEAddress1Select(Sender: TObject);
var
aranan:AnsiString;
BlockedUsers: TStringList;
i: Integer;
ini1 : TINIFile;
Block : integer;
URL:string;
Num:integer;
begin
    ini1 := TINIFile.Create( ExtractFilePath(Application.ExeName)+'Ayar.INI ');
    Block:= ini1.Readinteger('Blocker','Block',0);
    aranan:=IEAddress1.Text;
    Form1.Text:=aranan;
    BlockedUsers := TStringList.Create;
  try
    BlockedUsers.LoadFromFile('users.txt');
    for i := 0 to BlockedUsers.Count-1 do
    begin
       if (Pos(LowerCase(BlockedUsers[i]),LowerCase(aranan))>0) and (Block=1) then
       begin
       ShowMessage('No View');
       IEAddress1.Text := '';
       exit;
       end
    end;
    if flag then
    begin
     flag := false;
     exit;
    end;
      URL:=IEAddress1.Text;
         if URL<>'' then
         begin
         WebBrowser1.Navigate(URL);
         Num:=0;
         while Num<IEAddress1.Items.Count do
         begin
             if IEAddress1.Text = IEAddress1.Items[Num] then
             begin
             abort;
             end else
             begin
             inc(Num);
             end;
             end;
             if Num = IEAddress1.Items.Count then
              IEAddress1.Items.Add(URL);
         end;
  finally
    BlockedUsers.Free;
   end;
end;



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


Бывалый
*


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

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



it is the same i get the same error and i used it like that;

Код

var
    flag: boolean;

implementation

uses

{$R *.dfm}


Код

procedure TForm1.IEAddress1KeyPress(Sender: TObject; var Key: Char);
var
aranan:AnsiString;
BlockedUsers: TStringList;
i: Integer;
ini1 : TINIFile;
Block : integer;
URL:string;
Num:integer;
begin
    ini1 := TINIFile.Create( ExtractFilePath(Application.ExeName)+'Ayar.INI ');
    Block:= ini1.Readinteger('Blocker','Block',0);
    aranan:=IEAddress1.Text;
    Form1.Text:=aranan;
    BlockedUsers := TStringList.Create;
  try
    BlockedUsers.LoadFromFile('users.txt');
    for i := 0 to BlockedUsers.Count-1 do
    begin
       if (Pos(LowerCase(BlockedUsers[i]),LowerCase(aranan))>0) and (Block=1) then
       begin
       ShowMessage('No View');
       IEAddress1.Text := '';
       exit;
       end
    end;
    if flag then
    begin
     flag := false;
     exit;
    end;
      URL:=IEAddress1.Text;
         if URL<>'' then
         begin
         GetActiveEWB.Go(URL);
         Num:=0;
         while Num<IEAddress1.Items.Count do
         begin
             if IEAddress1.Text = IEAddress1.Items[Num] then
             begin
             abort;
             end else
             begin
             inc(Num);
             end;
             end;
             if Num = IEAddress1.Items.Count then
              IEAddress1.Items.Add(URL);
         end;
  finally
    BlockedUsers.Free;
   end;
end;



Код

procedure TForm1.IEAddress1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if key = VK_RETURN then
 begin
  flag := false;
 end
 else
 begin
  flag := true;
 end;
 IEAddress1Select(IEAddress1);
end;

PM MAIL   Вверх
artsb
Дата 15.1.2010, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(muratboy31 @  15.1.2010,  15:31 Найти цитируемый пост)
procedure TForm1.IEAddress1KeyPress(Sender: TObject; var Key: Char);

must be:
Код

procedure TForm1.IEAddress1Select(Sender: TObject);

or no?


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


Бывалый
*


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

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



i tried it also but i think it has nothing to do with select, i think it is a problem of keypress because i only get this error when i press 'g' in combobox !!! but i tired to disable auto complite from combobox properties and it worked... but i need autocomplite with it so i dont know how to do it !!!
PM MAIL   Вверх
muratboy31
Дата 15.1.2010, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



found the solution  smile  for now

disable autocomplete from properties..

Код

var
  LastKey: Word;

procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  LastKey := Key;
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
var
  Srch: string;
  ix: Integer;
begin
  Srch := combobox1.Text;
  if LastKey = $08 then
  begin
    LastKey := 0;
    Exit;
  end;
  LastKey := 0;
  ix := combobox1.Perform(CB_FINDSTRING, - 1, Longint(PChar(Srch)));
  if ix > CB_ERR then
  begin
    combobox1.ItemIndex := ix;
    combobox1.SelStart  := Length(Srch);
    combobox1.SelLength := (Length(combobox1.Text) - Length(Srch));
  end;
end;


how can i auto append combobox ???

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


Эксперт
****


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

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



Example:
Код

procedure TForm1.IEAddress1KeyPress(Sender: TObject; var Key: Char);
begin
 if Key = #13 then
  if IEAddress1.Items.IndexOf(IEAddress1.Text) = -1 then
   IEAddress1.Items.Add(IEAddress1.Text);
end;



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


Бывалый
*


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

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



i think i couldnt explain what i want to do... i want to open the combobox list starting with the same latter like that ...

user posted image
PM MAIL   Вверх
artsb
Дата 15.1.2010, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Код

IEAddress1.DroppedDown := true;



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


Бывалый
*


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

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



thanks for tip artsb but it is not doing what i want...
i want internet explorer style autocomplite with dropdown... i hope you understand what i mean !!!
PM MAIL   Вверх
artsb
Дата 15.1.2010, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Now, i'm understand. But i don't know how to do it. Sorry...

Это сообщение отредактировал(а) artsb - 15.1.2010, 18:16


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


Бывалый
*


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

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



i found something but i get error Undeclared Identifier: 'StringMatches'   why is that ???

Код

procedure TForm1.IEAddress1Change(Sender: TObject);
var
s:Integer;
tmpstr:string;
suggestions: tstringlist ;
begin
IEAddress1.AutoComplete:=false;
tmpstr:=IEAddress1.Text;
IEAddress1.Items.Clear;
for s:=0 to suggestions.Count - 1 do
  if StringMatches(suggestions[s],IEAddress1.Text+'*') then
    IEAddress1.Items.Add(suggestions[s]);
IEAddress1.DroppedDown:=(IEAddress1.Items.Count<>0) and (Length(IEAddress1.Text)<>0);
IEAddress1.Text:=tmpstr;
IEAddress1.SelStart:=Length(IEAddress1.Text)
end;


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


Эксперт
****


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

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



Цитата(muratboy31 @  15.1.2010,  19:24 Найти цитируемый пост)
'StringMatches'   why is that ???

It's from Java.

Maybe:
Код

procedure TForm1.IEAddress1Change(Sender: TObject);
var
s:Integer;
tmpstr:string;
suggestions: tstringlist ;
begin
IEAddress1.AutoComplete:=false;
tmpstr:=IEAddress1.Text;
IEAddress1.Items.Clear;

for s:=0 to suggestions.Count - 1 do
  if Pos(suggestions[s], IEAddress1.Text) = 1 then
    IEAddress1.Items.Add(suggestions[s]);

IEAddress1.DroppedDown:=(IEAddress1.Items.Count<>0) and (Length(IEAddress1.Text)<>0);
IEAddress1.Text:=tmpstr;
IEAddress1.SelStart:=Length(IEAddress1.Text)
end;



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


Бывалый
*


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

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



it gives error and i think it is something here

Код

for s:=0 to suggestions.Count - 1 do

PM MAIL   Вверх
Страницы: (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.1039 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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