![]() |
![]() |
|
построчное чтение текстового файла | ☑ | ||
---|---|---|---|---|
0
abbas
09.07.12
✎
13:44
|
построчное чтение текстового файла в 8.1
Есть файл в котором много строк, но мне нужны только некоторые, как я могу это реализовать, с помощью чего, подскажите плс... |
|||
1
DrShad
09.07.12
✎
13:47
|
Текст.ПолучитьСтроку()
|
|||
2
izekia
09.07.12
✎
13:47
|
по какому-то шаблону?
|
|||
3
izekia
09.07.12
✎
13:47
|
или просто по номеру?
|
|||
4
abbas
09.07.12
✎
13:51
|
По названию продан, там есть данный статус "Продан", и после него еще пару строк...
А если нужно по символам? |
|||
5
izekia
09.07.12
✎
13:52
|
просто можно текст в регулярку и выбрать нужные строки
|
|||
6
abbas
09.07.12
✎
13:53
|
это как "в регулярку"
|
|||
7
izekia
09.07.12
✎
13:55
|
использовать регулярные выражения ...
|
|||
8
abbas
09.07.12
✎
14:00
|
а на примере можно, просто я не сталкивался с регулярными выражениями...
|
|||
9
izekia
09.07.12
✎
14:01
|
ты образец текста дай и что тебе нужно выбирать
|
|||
10
abbas
09.07.12
✎
14:04
|
Путь = ИмяФайла;
Текст = Новый ЧтениеТекста(Путь); Стр = Текст.ПрочитатьСтроку(); Пока Стр <> Неопределено Цикл Стр = Текст.ПрочитатьСтроку(); Если НайтиЗ(Стр,"Продан") Тогда Сообщить(Стр); КонецЕсли; КонецЦикла; |
|||
11
izekia
09.07.12
✎
14:05
|
а этот вариант у тебя работает?
|
|||
12
Reset
09.07.12
✎
14:05
|
(10) Первую строку алгоритм пропустит
|
|||
13
abbas
09.07.12
✎
14:07
|
Если НайтиЗ(Стр,"Продан") Тогда
это я забыл закоментить, сорри |
|||
14
abbas
09.07.12
✎
14:19
|
(11) так что там?
|
|||
15
izekia
09.07.12
✎
14:22
|
(14) этот вариант у тебя работает?
|
|||
16
prosto-nik
09.07.12
✎
14:26
|
(15/ Вас седня явно игнорируют((()
|
|||
17
abbas
09.07.12
✎
14:28
|
(16)=) У меня такое чувство...=(
|
|||
18
izekia
09.07.12
✎
14:28
|
лол
|
|||
19
prosto-nik
09.07.12
✎
14:30
|
(17) я говорил что Вы игнорируете (15) который наверное хочет Вам помочь, да?
|
|||
20
WF72
09.07.12
✎
14:40
|
а откуда такой извращенный вариант чтения теста? почему бы не проще:
ТекстовыйДокумент = Новый ТекстовыйДокумент; Попытка ТекстовыйДокумент.Прочитать(ИмяФайла); Исключение Сообщить("Ошибка открытия файла!"); Возврат; КонецПопытки; Для ТекСтрока = 1 По ТекстовыйДокумент.КоличествоСтрок() Цикл //... КонецЦикла; |
|||
21
abbas
09.07.12
✎
14:41
|
хаха
Путь = ИмяФайла; Текст = Новый ТекстовыйДокумент; Текст.Прочитать(Путь); Сообщить(Текст.КоличествоСтрок()); Для НомерСтроки = 1 По Текст.КоличествоСтрок() Цикл Стр= Текст.ПолучитьСтроку(НомерСтроки); Если Не ПустаяСтрока(Найти(Стр,"Продан")) Тогда Сообщить(Стр); КонецЕсли; КонецЦикла; |
|||
22
WF72
09.07.12
✎
14:41
|
*текста, в смысле :)
|
|||
23
abbas
09.07.12
✎
14:41
|
вот только он мне все выдает а не ту строчку которую хочу
|
|||
24
Sammo
09.07.12
✎
14:42
|
(20) Скорость и размер памяти.
Попробуй прочитать текстовый документ в несколько сотен мегабайт в текстовый документ и посмотри - что получится... Чтение/запись текста работает по скорости сравнимо с fso |
|||
25
WF72
09.07.12
✎
14:43
|
Сообщить(НомерСтроки), не?
|
|||
26
abbas
09.07.12
✎
14:45
|
(25)нет, он выдает с 1 до 1283, количество строк в тексте
|
|||
27
izekia
09.07.12
✎
14:55
|
Текст = Новый ЧтениеТекста(ИмяФайла);
Стр = Текст.ПрочитатьСтроку(); Пока Стр <> Неопределено Цикл Если Найти(Стр,"Продан") > 0 Тогда Сообщить(Стр); КонецЕсли; Стр = Текст.ПрочитатьСтроку(); КонецЦикла; |
|||
28
abbas
09.07.12
✎
15:02
|
Пасиб, а вот еще такой интерес, а если я хочу чтоб не по одной строчки выходило а по две или по три, как мне это сделать?
|
|||
29
izekia
09.07.12
✎
15:23
|
(28) следующие две или три после строки с "продан"?
|
|||
30
abbas
09.07.12
✎
15:44
|
(29)да
|
|||
31
izekia
09.07.12
✎
16:09
|
Текст = Новый ЧтениеТекста(ИмяФайла);
Стр = Текст.ПрочитатьСтроку(); Пока Стр <> Неопределено Цикл Если Найти(Стр,"Продан") > 0 Тогда Сообщить(Стр); Стр = Текст.ПрочитатьСтроку(); Если Стр <> Неопределено Тогда Сообщить(Стр); Иначе Прервать; КонецЕсли; Стр = Текст.ПрочитатьСтроку(); Если Стр <> Неопределено Тогда Сообщить(Стр); Иначе Прервать; КонецЕсли; КонецЕсли; Стр = Текст.ПрочитатьСтроку(); КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |