|
v7: Функция "Найти" | ☑ | ||
---|---|---|---|---|
0
MixanM
12.12.11
✎
07:49
|
Подскажите как правильно реализовать поиск в строке, в строке 3 элемента, между собой разделенные символом ";", как можно записать значения находящиеся между ращзделителями, т.е. я первый могу записать а как записать другие? :
Текст = СоздатьОбъект("Текст"); Попытка Текст.Открыть(ИмяФайла); Сообщить("Загружаю из файла : "+ИмяФайла); Исключение Сообщить("Файл не найден"); Возврат; КонецПопытки; ... Секции1 = Текст.ПолучитьСтроку(10); ... КодСекции1 = Найти(Секция1,";")-1;//здесь записал первый элемент между разделителями |
|||
1
Азат
12.12.11
✎
07:50
|
Пока Найти(Стр, ";") > 0 Цикл
Значение = Лев(Стр, Найти(Стр, ";") - 1); Стр = Сред(Стр, Найти(Стр, ";") + 1); КонецЦикла; Значение = Стр; |
|||
2
VladZ
12.12.11
✎
07:51
|
Возможно тебе поможет
ВремСтрока = СтрЗаменить(ИсхСтрока,";", РазделительСТрок); |
|||
3
VladZ
12.12.11
✎
07:52
|
+2 Далее:
Для сч = 1 по СтрКоличествоСТрок(ВремСтрока) Цикл ТекущееЗначение = СтрПолучитьСтроку(ВремСтрока,сч); // тут делаешь, что хочешь со своим значением. КонецЦикла; |
|||
4
dk
12.12.11
✎
07:53
|
|
|||
5
Ковычки
12.12.11
✎
07:55
|
автору всех просче у него Текст
|
|||
6
MixanM
12.12.11
✎
08:05
|
Так так так, много информации, можно сейчас подробней разберем? в примере (2) и (3), я считаю все значения из строки в одну перменную. в Примере (1) я запишу первый и последующий элементы в переменные Значение, Стр-соотвесвенно, а пример (4) не совсем понял. В сабже не дописал, что мне каждое значение, находящееся между разделителями, нужно записать в переменную
|
|||
7
Азат
12.12.11
✎
08:08
|
(6) ты что - вообще тупак? заведи себе список значений, ТЗ или какую-нить еще лабуду и будет тебе вагон счастья...
|
|||
8
MixanM
12.12.11
✎
08:10
|
(7) млин, nxyj затупил, мне первого примера хватает , всем спасибо
|
|||
9
MixanM
12.12.11
✎
08:13
|
(7) и не тупак - а слоупок =D
|
|||
10
VladZ
12.12.11
✎
08:24
|
(6) Что непонятного в (2) и (3)??
После (2) твои значения получаются так: МоеПервоеЗначение = СтрПолучитьСтроку(ВремСтрока,1); МоеВтороеЗначение = СтрПолучитьСтроку(ВремСтрока,2); МоеТретьеЗначение = СтрПолучитьСтроку(ВремСтрока,3); |
|||
11
MixanM
12.12.11
✎
08:26
|
(10) Спасибо Вам и всем кто откликнулся, я уже все сделал
|
|||
12
1Сергей
12.12.11
✎
09:15
|
Со строкой (типа "красный;желтый;зеленый") так:
Позиция = Найти(";"+стр+";",";зеленый;"); или даже так: Позиция = Найти(";"+ВРЕГ(стр)+";",ВРЕГ(";зеленый;")); |
|||
13
1Сергей
12.12.11
✎
09:16
|
(12)*
Позиция = Найти(";"+стр+";",";зеленый;")+1; |
|||
14
MixanM
12.12.11
✎
11:08
|
Блин, счас столкнулся с такой мозголомательой задачей, не могу пнять как можно посчитать в одну переменную несколько элементов, например делаю выборку из справочника в цикле, он мне сообщает элкементы которые находит, а как мне их записать в одну переменную, например шарит по справочнику, там есть код, наименование, и в цикле когда шарит, что бы у меня было в одной переменной "КодСправчоника" все найденные значения по коду, через ";", сделал так, но че то фигня какая то:
СпрСекции = СоздатьОбъект("Справчоник.Секции") СпрСекции.ВыбратьЭлементы(); Пока СпрСекции.ПолучитьЭлемент() = 1 Цикл КодСекции = СпрСекции.Код; Объект = СпрСекции.Объект; Секция = СпрСекции.Секция; Секция = КодСекции+";"+Объект+";"+Секция+";"; // эт теоретически должно было сложить все предыдущие элементы с нынешними, и добавить между ними ";" - лажа какая то Сообщить(КодСекции+";"+Объект+";"+Секция); //здесь сообщает найденные элементы, отображает корректно КонецЦикла; |
|||
15
filh
12.12.11
✎
11:10
|
юзай уже СписокЗначений
|
|||
16
Злопчинский
12.12.11
✎
11:17
|
СтрокаСупер="";
Спр.ВыбратьЭлементы(); Пока Спр.ПолучитьЭлемент()=1 Цикл СтрокаСупер = СтрокаСупер+РазделительСтрок+Спр.Код; КонецЦикла; СтрокаСупер = СокрЛП(СтрокаСупер); СтрокаСупер = СтрЗаменить(СтрокаСупер,РазделиетльСтрок,";"); |
|||
17
filh
12.12.11
✎
11:19
|
(16) ага, а чуть ниже кодом будет:
ВремСтрока = СтрЗаменить(СтрокаСупер,";", РазделительСТрок); |
|||
18
MixanM
12.12.11
✎
11:52
|
НЕ, Я Решил другим способом, в цикле добавляет строки в файл, и просто загружает 2 раза из файл, 1ое изменение, и 2ое
|
|||
19
MixanM
12.12.11
✎
11:52
|
Но все равно спасибо большое
|
|||
20
MixanM
12.12.11
✎
12:04
|
Скажите как найти Родителя текущего элемента, а то пробую :
Функция НайтиРодителя(ТекЭлемент) Если ПустоеЗначение(ТекЭлемент.Родитель) = 1 Тогда Возврат ТекЭлемент; Иначе Возврат НайтиРодителя(ТекЭлемент .Родитель); КонецЕсли; КонецФункции ... НайденыйРодит = НайтиРодителя(СпрНоменкл); эска мне возвращает значение ТекЭлемент, |
|||
21
MixanM
12.12.11
✎
12:05
|
хотя элемент в справочнике, находится в группе
|
|||
22
Азат
12.12.11
✎
12:06
|
(21) ты такое занудо... не 1986 гр случаем?
|
|||
23
Ёпрст
12.12.11
✎
12:07
|
а вот как надоест х..ней заниматься, возьми import\export77.ert c диска итс -
вот оно, откровение то будет. |
|||
24
MixanM
12.12.11
✎
12:21
|
(22) нет - 87,
(23) - диск ИТС успешно проё..., может скинете ? |
|||
25
Ёпрст
12.12.11
✎
12:28
|
||||
26
MixanM
12.12.11
✎
12:36
|
оч, полезная обработка, тем более в преддверии слияния баз, спасибо Ёпрст(25)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |