ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

TRegExpr
  #1  
Старый 26.04.2010, 00:29
IgrikX
Познающий
Регистрация: 13.08.2009
Сообщений: 92
Провел на форуме:
441444

Репутация: 1
По умолчанию TRegExpr

Как установить компонент TRegExpr в Builder C++ 2010.
Делаю всё по шагам:
1. Component
2. Import Component
3. Import a Type Library
4. Выбираю из списка Microsoft VBScript Regular Expression 5.5
5. Выбираю галочку Generate Component Wrappers.
6. Генирируються какие-то файлы VBScript_RegExp_55_TLB.h и VBScript_RegExp_55_TLB.cpp

Согбственно, как использовать сам компонент. Мб у кого будет примеры по использованию?
 
Ответить с цитированием

  #2  
Старый 26.04.2010, 01:11
JnK
Участник форума
Регистрация: 30.03.2007
Сообщений: 121
Провел на форуме:
188563

Репутация: 52
По умолчанию

Цитата:
Сообщение от IgrikX  
Как установить компонент TRegExpr в Builder C++ 2010.
Делаю всё по шагам:
1. Component
2. Import Component
3. Import a Type Library
4. Выбираю из списка Microsoft VBScript Regular Expression 5.5
5. Выбираю галочку Generate Component Wrappers.
6. Генирируються какие-то файлы VBScript_RegExp_55_TLB.h и VBScript_RegExp_55_TLB.cpp

Согбственно, как использовать сам компонент. Мб у кого будет примеры по использованию?
1. Google
2. Поиск: http://forum.antichat.ru/showthread.php?p=2077329
3. В архиве должны быть демки
 
Ответить с цитированием

  #3  
Старый 26.04.2010, 12:55
GhostOnline
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме:
828081

Репутация: 84
По умолчанию

http://www.autocombats.info/files/regexp/index.html доки на русском, у меня в закладках
Цитата:
Выбираю из списка Microsoft VBScript Regular Expression 5.5 5. Выбираю галочку Generate Component Wrappers. 6. Генирируються какие-то файлы VBScript_RegExp_55_TLB.h и VBScript_RegExp_55_TLB.cpp
А зачем майкрософтовсктй устанавливаешь, если тебе TRegExpr надо было
И вообще-то это не компонент, а класс!
Просто подключаешь модуль в uses, и как бы используешь
Сорри, забыл что билдер, конечно же не uses а как там у вас пространства имен подключаются

Последний раз редактировалось GhostOnline; 26.04.2010 в 13:57..
 
Ответить с цитированием

  #4  
Старый 26.04.2010, 16:36
IgrikX
Познающий
Регистрация: 13.08.2009
Сообщений: 92
Провел на форуме:
441444

Репутация: 1
По умолчанию

ну, я вкурил уже..
 
Ответить с цитированием

  #5  
Старый 26.04.2010, 17:56
IgrikX
Познающий
Регистрация: 13.08.2009
Сообщений: 92
Провел на форуме:
441444

Репутация: 1
По умолчанию

Только не вкурил как его использовать. Кто знает помогите. Или скиньте пример.
PHP код:
RegExp *re;

re->Pattern = (wchar_t*)"aaa";
UnicodeString str "aaa 111 vvv";
String Result re->Replace(str,"aaa");
Memo1->Text Result

Последний раз редактировалось IgrikX; 26.04.2010 в 18:01..
 
Ответить с цитированием

  #6  
Старый 26.04.2010, 18:19
GhostOnline
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме:
828081

Репутация: 84
По умолчанию

Пример на дельфи
var
reg : TRegExpr;
begin
reg := TRegExpr.Create;
reg.Expression := 'aaa';
if reg.Exec('aaa 111 vvv')
then Memo1.Text := reg.Match[0];
reg.Free;
end;

Цитата:
RegExp *re;
Хм, мы говорим о разных классах?
 
Ответить с цитированием

  #7  
Старый 26.04.2010, 19:15
HakaR
Участник форума
Регистрация: 23.07.2009
Сообщений: 261
Провел на форуме:
4435957

Репутация: 539
По умолчанию

Цитата:
Сообщение от GhostOnline  
Пример на дельфи
var
reg : TRegExpr;
begin
reg := TRegExpr.Create;
reg.Expression := 'aaa';
if reg.Exec('aaa 111 vvv')
then Memo1.Text := reg.Match[0];
reg.Free;
end;


Хм, мы говорим о разных классах?
У меня почему то, всегда в Match[0] пустота...

Вот от меня пример (дельфи)
PHP код:
var RegExpTRegExpr;
begin
 RegExp 
:= TRegExpr.Create;
 
RegExp.Expression := 'http://(.+?)/';
 
RegExp.Exec(url.text);
 
url_ := RegExp.Match[1];
 
RegExp.Free;
end

Последний раз редактировалось HakaR; 26.04.2010 в 19:24..
 
Ответить с цитированием

  #8  
Старый 26.04.2010, 19:30
GhostOnline
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме:
828081

Репутация: 84
По умолчанию

Reg.Match[0] - это в в целом выражение,
REg.Match[1] - это первое подвыражение
Учи матчасть
 
Ответить с цитированием

  #9  
Старый 26.04.2010, 19:30
dampil
Новичок
Регистрация: 05.05.2005
Сообщений: 19
Провел на форуме:
46386

Репутация: 1
По умолчанию

Код:
AnsiString input="Text here";
AnsiString exp="(.{1,2}) ";
  TRegExpr* r= new TRegExpr;
  r->Expression=exp;

 if(r->Exec(input))
ShowMessage(r->Match[1]);

 else
       
ShowMessage("Empty");
 
Ответить с цитированием

  #10  
Старый 26.04.2010, 19:46
IgrikX
Познающий
Регистрация: 13.08.2009
Сообщений: 92
Провел на форуме:
441444

Репутация: 1
По умолчанию

GhostOnline, походу да..)
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ