Просил - получи
Сначала нужно будет объявить массив и разбить твой ини файл по строчкам: Dim Arr() AS String:Arr=split(TextBox.Text, vbCrLf), а дальше попросту вызвать функцию с соответствующими аргументами:
' Аналог функции GetINI, но берет данные из массива Public Function GetINIByMem(ByVal sSection As String, _ ByVal sKey As String, _ ByRef sSource() As String, _ Optional ByVal sDefaultVal As String = vbNullString) As String Dim gini As Integer, jini As Integer For gini = &H0 To UBoundS(sSource) If Chr$(&H5B) & sSection & Chr$(&H5D) = Trim$(sSource(gini)) Then For jini = gini + &H1 To UBound(sSource) If Left$(sSource(jini), &H1) = Chr$(&H5B) Then Exit For sSource(jini) = NormIniLine(sSource(jini)) If sKey & Chr$(&H3D) = Left$(NormIniLine(sSource(jini)), Len(sKey) + 1&) Then GetINIByMem = Right$(sSource(jini), Len(sSource(jini)) - Len(sKey) - &H1) Exit Function End If Next GetINIByMem = sDefaultVal Exit Function End If Next GetINIByMem = sDefaultVal End Function Private Function NormIniLine(inLine As String) As String Dim lRes As Long lRes = InStr(1, inLine, Chr$(&H3D)) If lRes < 1& Then Exit Function NormIniLine = TrimEx(Trim$(Left$(inLine, lRes - 1&)), vbTab) NormIniLine = NormIniLine & Chr$(&H3D) & TrimEx(Trim$(Right$(inLine, Len(inLine) - lRes)), vbTab) End Function Private Function TrimEx(ByVal inString As String, _ ByVal Character As String) As String TrimEx = inString Do While Left$(TrimEx, 1&) = Character TrimEx = Right$(TrimEx, Len(TrimEx) - 1&) Loop Do While Right$(TrimEx, 1&) = Character TrimEx = Left$(TrimEx, Len(TrimEx) - 1&) Loop End Function
Ответить
|