День добрый. Есть ли в VB 5.0 аналог функции Split из VBA.Strings? Или как мне ее можно подключить, имея библиотеку VBA6.dll?
Еще интересует как можно воспользоваться функцией Array.Copy в VB 5.0? Заранее спасибо.
M_Block писал(а):CodeName33, а как ты предлагаешь использовать эту dll
Обычно, написать declare функцию из msvbvm60, как она точно называется можно посмотреть в программах показывающих экспортируемые функции, типа PEExplorer.
Private Declare Function Split _
Lib "msvbvm60" Alias "Я идиот! Убейте меня, кто-нибудь!" ( _
ByVal Expression As String, _
ByVal Delimiter As String)
А если не сложно может кто-нибудь подскажет, у меня нет PEExplorer.
Private Declare Function Split _
Lib "msvbvm60" Alias "rtcSplit" ( _
Expression As String, _
Delimiter As String _
) As String
Dim asd() As String
Private Sub Command1_Click()
asd = Split("as;sd;asd", ";")
For i = 0 To 2
MsgBox (asd(i))
Next
End Sub
M_Block писал(а):там какие-то параметры необязательные, вот и подумал, что их можно не объявлять, это не так?
[entry(0x60000036), helpstring("Split a string into an array"), helpcontext(0x000f650b)]
VARIANT _stdcall Split(
[in] BSTR Expression,
[in, optional] VARIANT* Delimiter,
[in, optional, defaultvalue(-1)] long Limit,
[in, optional, defaultvalue(0),
custom({270D72B0-FFB8-11CF-A4BD-00A0C90F26EE}, "1")
Private Declare Function rtcSplit Lib "msvbvm60.dll" (ByVal Expression As Long, ByRef delimiter As Variant, ByVal limit As Long, ByVal mode As Long) As Variant
Public Enum MyCompareMethods
cmpBinary = 0
cmpText = 1
cmpDataBase = 2
end enum
Public function Split (byval Expression, ByVal Delimiter, optional Byval Limit =-1, optional byval ComparareMethod as MyCompareMethods)
Split = rtcSplit(StrPtr(Expression), Delimiter, Limit, CompareMethod)
End function
зачем реверс-инженерить
Public function Split (byval Expression, ByVal Delimiter, optional Byval Limit =-1, optional byval ComparareMethod as MyCompareMethods)
Split = rtcSplit(StrPtr(Expression), Delimiter, Limit, CompareMethod)
Сейчас этот форум просматривают: Google-бот и гости: 30