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 std::string start ptr */ |
---|
30 | const char *outendp; /* result std::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 |
---|