Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   TRegExpr (https://forum.antichat.xyz/showthread.php?t=199298)

IgrikX 26.04.2010 00:29

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

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

JnK 26.04.2010 01:11

Цитата:

Сообщение от 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. В архиве должны быть демки

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

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

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

Цитата:

Сообщение от 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


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

Благодарю.)


Время: 15:10