[ID СС2017] Чтение текстового файла в массив

Cool Shaman

Участник
Топикстартер
Сообщения
11
Оценка реакций
0
Всем привет!
Имеется скрипт, который из большого текстового файла Spisok.txt по коду находит товар и выводит его наименование в текстовый фрейм. Строка в этом файле выглядит так:

"grep {findWhat:"4000047062"} {changeTo:"Тарелка десертная ~hЭтника-2,~h 21,4см"} {includeFootnotes:true, includeMasterPages:true, includeHiddenLayers:true, wholeWord:false}"

Всего более 35000 строк. Хочу написать скрипт объединения позиций товаров в одну линейку, типа:

"1000005531|1000197552|2400022466 - Шампунь SCHAUMA®, Интенсив от Sперхоти/ Энергия природы/ Драгоценный медовый эликсир/ 7 трав, 380мл".

Реализацию сего действа вижу через чтение файла в массив посредством FileReader'a и присвоение его элементов переменным, т.е. сначала записывается массив, потом строка делится на 2 позиции - код товара и наименование, а затем код присваивается одной переменной, а наименование, соответственно, другой. Ну, а дальше - дело техники!

Покажите, пожалуйста, пример кода для чтения текста в массив с разделением на подстроки, т.к. сам не смог разобраться с синтаксисом FileReader'a - всё время получаю сообщения об ошибке.
 

George

I wish I was a monster you think I am
12 лет на форуме
Сообщения
14 089
Оценка реакций
6 728
При чём здесь Индизайн?
 

lipatkin

12 лет на форуме
Сообщения
395
Оценка реакций
81
а по какому параметру вы собираетесь их объединять?
 

~RA~

Чмоки всем в этом чате.
Сообщения
6 782
Оценка реакций
8 617

Cool Shaman

Участник
Топикстартер
Сообщения
11
Оценка реакций
0
Попробую конкретизировать задачу. Текстовый файл содержит в себе строки с кодами всех товаров магазина. Когда мне нужно получить список товаров по кодам из таблицы, то я копирую их из ячеек Эксель, создаю текстовый фрейм в Индизайне, вставляю туда и запускаю скрипт, который в файле Spisok.txt находит строку с данными кодами и выводит во фрейм уже не их, а наименование товаров. А когда проводятся акции, то несколько товаров одной линейки объединяются в одну позицию, типа:

"1000005531|1000197552|2400022466 - Шампунь SCHAUMA®, Интенсив от перхоти/ Энергия природы/ Драгоценный медовый эликсир/ 7 трав, 380мл".

Так вот я хочу создать скрипт, который найдёт эти коды в файле, выведет наименования этих товаров в окно, соединит в одну линейку и допишет их в тот же текстовый файл, скажем, в конец или в определённую строку. И в следующий раз при запуске скрипта по поиску кода он выдаст уже не три отдельных строки с разными наименованиями, а одну строку с линейкой акционных товаров.

Прилагаю набросок диалогового окна (оно ещё не полное). В нём загружена не линейка товаров, а просто список наобум, но это не важно. ))
 

Вложения

Последнее редактирование:

Cool Shaman

Участник
Топикстартер
Сообщения
11
Оценка реакций
0
Вот полное окно скрипта. В текстовое окно слева вставляется список кодов линейки из буфера, нажимается кнопка "Найти" и коды и наименование каждой позиции появляется в строках правее, а ниже - комбинированный код для линейки. В самой нижней строке (Наименование) из всех наименований линейки вручную будет формироваться название линейки и при нажатии на "Сохранить" полученный комбинированный код и наименование линейки будет добавляться в тот же текстовый файл.
 

Вложения

Skvoznyak

12 лет на форуме
Сообщения
3 963
Оценка реакций
1 645
reanln на readln исправьте только

либо можно lines = fo.read().split("\r");
 

Skvoznyak

12 лет на форуме
Сообщения
3 963
Оценка реакций
1 645
стринг

File.read (chars: number ): string
Core JavaScript Classes
Reads the contents of the file, starting at the current position.
Returns a string that contains up to the specified number of characters. If a number of characters is not supplied, reads from the current position to the end of the file. If the file is encoded, multiple bytes might be read to create single Unicode characters.
chars (optional): Data Type: number
An integer specifying the number of characters to read.
Example:
aFile.read(chars)
документацию читаем иногда?
 

~RA~

Чмоки всем в этом чате.
Сообщения
6 782
Оценка реакций
8 617