Есть файл (а лучше RichTextBox). В нем есть много строк. На каждой строке есть четыре числа, разделенные пробелами. Типа: XXX YYY ZZZ AAA. Необходимо узнать число, например в четвертой строке в числе номер 3. Хелп!!! Как очень добрых =) людей прошу.
ЗЫ: Первые три числа показывают цвет: <красный>(XXX) <зеленый>(YYY) <синий>(ZZZ) а последнее показывает состояние чекбокса(100-вкл., 000-откл.)
Напишите полный код или напишите ссылку, где можно это найти.
Dim Strings() As String
Dim Fields() As String
Strings = Split(RichTextBox1.Text, vbCrLf) 'Массив строк RichTextBox'а
Fields = Split(Strings(3), " " 'МАссив чисел четвортой строки
MsgBox Fields(2) 'Третье число четвертой строки
Небольшая выдержка из статьи (немного касается темы) и ссылка на нее.
http://vbrussian.com/Article.asp?ID=18
Еще одно усовершенствование VB6 - обработка строк, давно досаждавшая программистам. VB6 включает в себя целый список новых функций работы со строками, предназначенных для ускорения выполнения наиболее распространенных строковых операций. Некоторые из них, похоже, основаны на собственных методах программирования Microsoft, а не на повседневной практике программистов, применяющих VB. Примером служит функция Split, разбивающая строку на слова, фразы или подстроки, исходя из положения указанного разделителя. Возможно, для разработчиков компиляторов или системных программистов это выглядит неплохо, но создатели коммерческих приложений в такой функции заинтересованы гораздо меньше. В ту же категорию попадают функции Filter, Join и StrReverse. Вместе с тем мы приветствуем появление функции InstrRev, выполняющей поиск подстрок от конца строки к ее началу. Она полезна при выполнении такой распространенной задачи, как анализ имен маршрутов.
Функция Split используется для расщепления строки на субстроки с использованием разделителя субстрок
Возвращаемое значение
Функция Split(Expression) возвращает одномерный массив с типом данных Variant(String), содержащий в качестве элементов найденные субстроки
Параметры
Expression
Обязательный аргумент - строка, которую нужно расщепить. Если аргумент содержит нулевую строку("", то возвращается пустой массив, т.е. массив без элементов и данных
Delimiter
Необязательный аргумент - символы типа String, которые используются в качестве разделителя строки. Если аргумент опущен, то по умолчанию используется символ пробела(" ". Если же аргумент содержит нулевую строку("", то возвращается одноэлементный массив, содержащее целую строку
Limit
Необязательный аргумент, содержащий число возвращаемых субстрок. Если аргумент опущен или равен -1, то обрабатывается вся строка
Compare
Необязательный аргумент - числовая константа, определяющая вид сравнения:
vbUseCompareOption=-1
Используется по умолчанию метод сравнения, заданный инструкцией Option Compare
vbBinaryCompare=0
Двоичный метод сравнения. Буквы разных регистров считаются разными
vbTextCompare=1
Текстовый метод сравнения. Сравнение без учета регистров
vbDatabaseCompare=2
Только для Microsoft Access. Сравнение с использованием информации базы данных
Пример
' Считаем число вхождений слова "кол" в строке
Dim stroka As String ' строчка для подсчета
Dim retval ' возвращаемое значение
stroka = "Шит колпак не по-колпаковски. Ливерная колбаса."
retval = Split(stroka, "кол"
MsgBox "'кол' встречается в строке'" & stroka _
& "' " & UBound(retval) & " раза"
file$ = "C:\1.txt"
n = FreeFile
Open file$ for input as #n
Do While Not EOF (n)
Line Input #n, str$ 'Получили строку
CountStr = CountStr + 1 'Считаем какая строка
If CountStr = 4 Then
color = Split(str$, " " 'Раскидали числа по массиву
msgbox color(2) 'Показали в 4 строке, третье число
End if
Loop 'Перешли к слейдущей строке
Close #n 'После токо как всё прочитали, закрыли файл
2 DR*FRe$H, понимаю, что ты "новичек" (цитата), но те же RGB-коды можно было бы записать:
вместо XXX XXX XXX XXX
так: XXXX.
ASCII-код первого символа - красный, ASCII-код второго символа - зелень, ASCII-код третьего - синий. А четвертый - "1" - Checked, "0" - не Checked.
Не принципиально, какая разница как записать код цвета? Проблема была в том как найти среди текста, код с цветом, и мы надеюсь помогли, остальное - нюансы