PDA

Просмотр полной версии : TRegExpr


IgrikX
26.04.2010, 00:29
Как установить компонент 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

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

JnK
26.04.2010, 01:11
Как установить компонент 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. В архиве должны быть демки

GhostOnline
26.04.2010, 12:55
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 надо было :confused:
И вообще-то это не компонент, а класс!
Просто подключаешь модуль в uses, и как бы используешь
Сорри, забыл что билдер, конечно же не uses а как там у вас пространства имен подключаются

IgrikX
26.04.2010, 16:36
ну, я вкурил уже..

IgrikX
26.04.2010, 17:56
Только не вкурил как его использовать. Кто знает помогите. Или скиньте пример.
RegExp *re;

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

GhostOnline
26.04.2010, 18:19
Пример на дельфи
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;
Хм, мы говорим о разных классах?

HakaR
26.04.2010, 19:15
Пример на дельфи
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] пустота...

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

GhostOnline
26.04.2010, 19:30
Reg.Match[0] - это в в целом выражение,
REg.Match[1] - это первое подвыражение
Учи матчасть ;)

dampil
26.04.2010, 19:30
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");

IgrikX
26.04.2010, 19:46
GhostOnline, походу да..)

GhostOnline
26.04.2010, 19:48
Так блин в сабже то другой указан

IgrikX
26.04.2010, 19:49
Тогда вопрос, как установить TRegExpr в builder?

GhostOnline
26.04.2010, 19:52
его устанавливать не надо, просто подключаешь пространство имен как и остальные,
и используешь в коде

IgrikX
26.04.2010, 19:57
Как ?? пишу
TRegExpr *re;
выдаёт ошибку, мол нет такого?

GhostOnline
26.04.2010, 20:02
Видимо так
Непосредственное использование модулей Delphi

Часто вы будет обнаруживать проекты Delphi, содержащие модуль, который бы вы хотели использовать в своих приложениях. Простейшим путем использования модуля Delphi является его добавление в проект. Ниже приведены шаги, необходимые для добавления модуля Delphi в проект C++Builder'а:

* Создайте в C++Builder'е свой проект.
* Выберите "Add to Project" в панели C ++ Builder 'а или в меню.
* Выберите "Pascal unit" в типах файлов выпадающего списка диалогового окна открытия файлов.
* Выберите модуль Delphi для добавления в свой проект и нажмите OK.
* Перестройте свое приложение перед написанием кода, ссылающегося на модуль Delphi. Перестройка проекта создаст из модуля заголовок, который вы сможете включить в свое приложение.
* Выберите пункт "File | Include Unit Hdr…" в главном меню C++Builder 'а и добавьте форму Delphi в ваше приложение.
* Напишите код, который ссылается на модуль Delphi.
а де модуль взять.. в гугле битые ссылки..
С этого и надо было начинать..
Залил, special for you: _http://slil.ru/29037076

IgrikX
26.04.2010, 20:07
а де модуль взять.. в гугле битые ссылки..

IgrikX
26.04.2010, 21:41
Благодарю.)