WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   RegExp (vbscript.dll) in einem c-programm? (http://www.wcm.at/forum/showthread.php?t=24552)

kfal 28.06.2001 16:03

RegExp (vbscript.dll) in einem c-programm?
 
wie kann ich aus einem c-programm (hab keine ahnung von c++) die funktion regexp.execute benutzen?
(ev. ueber eine dll (c++) mit 'normalen' export-funktionen - aber wie schaut sowas aus? :confused: )

pong 01.07.2001 12:04

siehst ich hab 0 ahnung von vb aba von c/c++ also tät ich gern wissn was regexp.execute bewirkt und woher du diese funktion nimmst (standard in vb oda externes lib)

kfal 02.07.2001 15:16

http://msdn.microsoft.com/library/de...sobjRegExp.asp

mit so einem regexp-objekt lassen sich sehr einfach (und hoffentlich fuer ms einheitlich) regulaere ausdruecke auswerten.

im 'OLE/COM Objekt Viewer' (Objektkatalog aus VC++ 6.0) hab ich das ding unter 'Type Libraries - Microsoft VBScript Regular Expressions (Ver 1.0)' gefunden.

regexp wird (als com-objekt?) aus vbscript.dll\2 (zumindest beim internetexplorer 5.0 - hab aber auch schon von versionen dieser dll gehoert, in denen regexp in vbscript.dll\3 existiert) zur verfuegung gestellt und kann in vb mittels 'projekt - verweise...' hinzugefuegt werden.


schaut dort z.b. so aus:

Function RegExpTest _
( _
szPattern As String, _
szString As String, _
fCase As Boolean, _
fFound As Boolean _
)
Dim regEx As RegExp
Dim Match As Match
Dim Matches As MatchCollection
Dim RetStr As String

fFound = False
Set regEx = New RegExp ' Create a regular expression.
regEx.Pattern = szPattern ' Set pattern.
regEx.IgnoreCase = fCase ' Set case insensitivity.
regEx.Global = True ' Set global applicability.
Set Matches = regEx.Execute(szString) ' Execute search.
For Each Match In Matches ' Iterate Matches collection.
RetStr = RetStr & "Match found at position "
RetStr = RetStr & Match.FirstIndex & ". Match Value is '"
RetStr = RetStr & Match.Value & "'." & vbCrLf
fFound = True
Next
RegExpTest = RetStr
End Function


nachdem da aber keine 'normalen' exports zur verfuegung stehen, weiss ich nicht, wie ich aus 'normalem' C auf das zeug zugreiffen kann.
(und mangels C++ kenntnissen auch nicht, wie ich eine schnittstellen-dll programmiere)

pong 05.07.2001 17:22

schau i fang ziemlich wenig mit vc++,vb und dem ganzen m$-dreck an i programmier in da dos-konsole und a bissal unter linux und hab keine ahnung was du wirklich willst

pong 06.07.2001 11:23

ajo noch ne frage, warum willst überhaupt 2 programmiersprachen miteinander verbinden :confused: und zwischen vc++ und c++ liegen welten, da is cobol mit asm noch besser vergleichbar *gg*

kfal 09.07.2001 17:55

zuerst: danke, dass du dir ueberhaupt gedanken gemacht hast.

die idee ist die, dass ich bestehende funktionalitaet (regulaere ausdruecke) aus einer offiziellen DLL weiterbenutze.
(mit welchem programm (in diesem fall dem ms-explorer bzw. scripting host) diese dll auf's system kommt is mir hier wurscht - solange der mist ueberall installiert ist (und auch fuer eigene entwicklungen freigegeben ist))

ich will da auch nicht unbedingt mehrere prog-sprachen verbinden - sondern nur irgendwie auf diese com-dll (bzw. deren funktionen) zugreifen - und das schaff ich scheinbar mit 'normalem' C nicht
:heul:
(deshalb die idee, halt eine schnittstelle (am besten dann gleich eine eigene DLL - falls das in einem anderen programm auch von nutzen sein koennte) fuer den zugriff aus C zu schreiben)

ich glaub nicht, dass da wirklich der mfc-schrott usw. notwendig ist.
(LoadLibrary, GetProcAdress, (*pfn)(), FreeLibrary)

kfal 09.07.2001 17:59

oder kennt wer eine andere moeglichkeit unter m$ einen beliebigen text mit einem beliebigen regulaeren ausdruck innerhalb eines C-programmes zu pruefen (ersetzungen brauch ich im moment (noch) nicht)


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag