Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: как считывать с текстбокса текст как с ини файла? Добавлено: 25.03.04 23:39  

Автор вопроса:  MasterYan | Web-сайт: vc-studio.org/ | ICQ: 167425994 

как считывать с текстбокса текст как с ини файла

типа:

[Budilnik]

hh=20

mm=48

txt=Подём !!!

[system]

k=1

t=2

тоесть в переменной txt должно быть Подём !!!

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #1
Добавлено: 26.03.04 01:46

Ну есл совсем уж как с ини-файла, то лучше сначала сохранить его как ини-файл.

А вообще, можно воспользоваться

dim tmpArr() as string

tmpArr=split(text,vbcrlf)

Я так думаю...

Ответить

Номер ответа: 2
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #2
Добавлено: 26.03.04 09:23

Просил - получи :)

Сначала нужно будет объявить массив и разбить твой ини файл по строчкам: 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

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам