|
Как получить номер строки в текстовом документе | ☑ | ||
---|---|---|---|---|
0
Sanjik
27.06.16
✎
17:21
|
Здравствуйте, собственно вопрос, как получить номер строки в текстовом документе по определенному тесту?
Есть функция СтрПолучитьСтроку(Строка, 2) - вернет значение второй строки. А как сделать наоборот, если знаешь значение строки и нужно получить номер этой строки? |
|||
1
Ёпрст
27.06.16
✎
17:28
|
А зачем ?
Ну, самый примитив - перебором всех строк, тип того: Для Счетчик = 1 По СтрЧислоСтрок(ИсходныйТекст) Цикл Если НужнаяСтрока = СтрПолучитьСтроку(ИсходныйТекст, Счетчик) Тогда Возврат Счетчик; КонецЕсли; КонецЦикла; |
|||
2
GROOVY
27.06.16
✎
17:29
|
Символ переноса строки до позиции курсора посчитайте.
|
|||
3
Sanjik
27.06.16
✎
17:37
|
(1) Ошибка: Процедура не может возвращать значение
(2) А это как? |
|||
4
Ёпрст
27.06.16
✎
17:41
|
(3) :))
|
|||
5
GROOVY
27.06.16
✎
17:42
|
Понятно.
Это рекурсивно искать символ от начала строки до первого+n совпадения. |
|||
6
Ёпрст
27.06.16
✎
17:46
|
Можно еще так
Возврат СтрЧислоСтрок(Лев(ИсходнаяСтрока,СтрНайти(ИсходнаяСтрока,НужныйТекст))); |
|||
7
Sanjik
27.06.16
✎
17:49
|
(4) Переделал так:
НужнаяСтрока = "#Изделия"; Для Счетчик = 1 По СтрЧислоСтрок(Текст) Цикл Если НужнаяСтрока = СтрПолучитьСтроку(Текст, Счетчик) Тогда цук = Счетчик; КонецЕсли; КонецЦикла; Но почему-то значение "цук" - 2, а должно быть 4! Текст: #Заказ Отдел;Номер;Дата;Сумма;Клиент;ID_Клиента;ИНН;Бланк;Коммент;Ск_счет;Ск_изд;Ск_акс;Ск_раб 0;500;21.06.2016;218220,32;Уважаемый Заказчик;8;;ООО "Окна";;145480,22;0;0;0; #Изделия Номер;Система;ID_Системы;Цвет;Наименование;Ш;В;Сумма;Площадь;Кол-во |
|||
8
Ёпрст
27.06.16
✎
17:52
|
(7) ну смотри отладчиком, че у тебя СтрПолучитьСтроку(Текст, Счетчик) возвращает и чего в переменной счётчик
|
|||
9
Sanjik
27.06.16
✎
18:32
|
(8) Спасибо большое! Получилось так:
НужнаяСтрока = "#Изделия"; Для Счетчик = 1 По Текст.КоличествоСтрок() Цикл Строка = Текст.ПолучитьСтроку(Счетчик); Если НужнаяСтрока = Строка Тогда цук = Счетчик; КонецЕсли; КонецЦикла; "цук" - есть номер строки. |
|||
10
mistеr
27.06.16
✎
20:35
|
(9) Если искать придется много раз, лучше перегнать в массив или соответствие.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |