1 | /*
|
---|
2 | Visual Basic からお使いのときは次のDeclare文を使ってください。
|
---|
3 | Private Declare Function Match Lib "bregexp" _
|
---|
4 | (szRegstr As String, szTarget As String) As String
|
---|
5 |
|
---|
6 |
|
---|
7 | Private Declare Function Replace Lib "bregexp" _
|
---|
8 | (szRegstr As String, szTarget As String) As String
|
---|
9 |
|
---|
10 | Private Declare Function Translate Lib "bregexp" _
|
---|
11 | (szRegstr As String, szTarget As String, ret As String) As Long
|
---|
12 |
|
---|
13 | Private Declare Function Split Lib "bregexp" _
|
---|
14 | (szRegstr As String, szTarget As String, limit As Long) As Variant
|
---|
15 |
|
---|
16 | Private Declare Function MatchEx Lib "bregexp" _
|
---|
17 | (szRegstr As String, szTarget As String, mode As Long) As Variant
|
---|
18 |
|
---|
19 | */
|
---|
20 |
|
---|
21 |
|
---|
22 | #ifdef _BREGEXP_
|
---|
23 | #define BREGEXPAPI __declspec(dllexport)
|
---|
24 | #else
|
---|
25 | #define BREGEXPAPI __declspec(dllimport)
|
---|
26 | #endif
|
---|
27 |
|
---|
28 | typedef struct bregexp {
|
---|
29 | const char *outp; /* result string start ptr */
|
---|
30 | const char *outendp; /* result string end ptr */
|
---|
31 | const int splitctr; /* split result counter */
|
---|
32 | const char **splitp; /* split result pointer ptr */
|
---|
33 | int rsv1; /* reserved for external use */
|
---|
34 | } BREGEXP;
|
---|
35 |
|
---|
36 | #if defined(__cplusplus)
|
---|
37 | extern "C"
|
---|
38 | {
|
---|
39 | #endif
|
---|
40 |
|
---|
41 | typedef BREGEXPAPI int (*PFUNC_BMatch)(char* str,char *target,char *targetendp,
|
---|
42 | BREGEXP **rxp,char *msg) ;
|
---|
43 | typedef BREGEXPAPI int (*PFUNC_BSubst)(char* str,char *target,char *targetendp,
|
---|
44 | BREGEXP **rxp,char *msg) ;
|
---|
45 | typedef BREGEXPAPI int (*PFUNC_BTrans)(char* str,char *target,char *targetendp,
|
---|
46 | BREGEXP **rxp,char *msg) ;
|
---|
47 | typedef BREGEXPAPI int (*PFUNC_BSplit)(char* str,char *target,char *targetendp,
|
---|
48 | int limit,BREGEXP **rxp,char *msg);
|
---|
49 | typedef BREGEXPAPI void (*PFUNC_BRegfree)(BREGEXP* rx);
|
---|
50 |
|
---|
51 | typedef BREGEXPAPI char *(*PFUNC_BRegexpVersion)(void);
|
---|
52 |
|
---|
53 |
|
---|
54 | class CRegExp{
|
---|
55 | HINSTANCE hLib;
|
---|
56 | public:
|
---|
57 | CRegExp();
|
---|
58 | ~CRegExp();
|
---|
59 | PFUNC_BMatch BMatch;
|
---|
60 | PFUNC_BSubst BSubst;
|
---|
61 | PFUNC_BTrans BTrans;
|
---|
62 | PFUNC_BSplit BSplit;
|
---|
63 | PFUNC_BRegfree BRegfree;
|
---|
64 | PFUNC_BRegexpVersion BRegexpVersion;
|
---|
65 |
|
---|
66 | char *compare(HWND hFindDlg,char *buffer,char *exp,BOOL IsBigSmall, bool isWordUnit, int *pLength);
|
---|
67 | char *GetPermuStr(HWND hFindDlg,char *buffer,char *exp,char *szPermu,BOOL IsBigSmall);
|
---|
68 | };
|
---|
69 | extern CRegExp obj_RegExp;
|
---|
70 |
|
---|
71 |
|
---|
72 | #if defined(__cplusplus)
|
---|
73 | }
|
---|
74 | #endif
|
---|
75 |
|
---|
76 |
|
---|
77 | #undef BREGEXPAPI
|
---|