Author Topic: Вопрос по разделению строки  (Read 1464 times)

0 Members and 1 Guest are viewing this topic.

kudrjashv

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Вопрос по разделению строки
« on: January 30, 2017, 03:12:59 PM »
Новую тему решил не создавать, просто вот такой вопросик по скрипту:
Имеется текстовый файл, в котором есть нужные мне данные в строках с разделителями:
Code: [Select]
1строка1:1строка2:1строка3:1строка4:1строка5
2строка1:2строка2:2строка3:2строка4:2строка5
3строка1:3строка2:3строка3:3строка4:3строка5
Нужно, чтобы скрипт брал в первом цикле элементы только 1 строки, во втором цикле - элементы второй строки, и т.д. и выводил в лог.
Я написал так:
Code: (clickermann) [Select]
FOR($a, $a < 3)
TFREADARR ("text.txt", $arr)      //записываем файл в массив
//LOGWRITE ($arr[$a])      //если раскомментировать, то нормально выводит все 3 строки
STRSEPARATE ($arr[$a], ":", $arr2)   //разбиваем каждую строку по элементам и записываем в массив $arr2
LOGWRITE ($arr2[0])    //почему выводит все время первую строку????
END_CYC

Пробовал и так:

Code: (clickermann) [Select]
FOR($a, $a < 3)
STRSEPARATE (TFREAD("text.txt", $a+1), ":", $arr2)   //разбиваем каждую строку по элементам и записываем в массив $arr2
LOGWRITE ($arr2[0])    //почему выводит все время первую строку????
END_CYC

В лог выводится:
Code: (clickermann) [Select]
15:00:54 1строка1
15:00:54 1строка1
15:00:54 1строка1

Как добиться, чтобы в лог выводилось так:
Code: (clickermann) [Select]
15:00:54 1строка1
15:00:54 2строка1
15:00:54 3строка1

kudrjashv

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Re: Вопрос по разделению строки
« Reply #1 on: January 30, 2017, 04:44:34 PM »
Вот хоть убейте  не могу понять этого счастья - шаромыжничать, по чужим темам с о своими вопросами не имеющими к теме ни малейшего отношения! :o Подскажите в чем здесь прикол или какое-то удовольствие получается? :-\ Помогите понять этот важный момент! :(
С таким отношениям к темам форум превращается в Львовскую городскую свалку.
Что то я не понимаю вашей агрессии.
К теме - мое сообшение имеет прямой смысл - я задаю вопрос по скрипту, в теме "вопросы по скриптам"! Это наверное лучше,чем создавать еще одну из сотен тем "подскажите", "вопрос по скрипту", "помогите" и т.д.
Удовольствия особого тут нету, к шаромыжничеству отношение тоже.
 Не знаю понятно ли я выразился и ясно ли вам теперь "в чем прикол".

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Вопрос по разделению строки
« Reply #2 on: January 30, 2017, 06:06:21 PM »
К теме - мое сообшение имеет прямой смысл - я задаю вопрос по скрипту, в теме "вопросы по скриптам"! Это наверное лучше,чем создавать еще одну из сотен тем "подскажите", "вопрос по скрипту", "помогите" и т.д.
Здесь просто слишком вольно относятся к названию тем. Предлагаете жёстко заставлять переименовывать? Как делают на некоторых форумах. Там поди чуть не так назови. Иногда, на вид нормальное название отвергают.
В любом случае не стоит ссылаться "на того парня" который назвал тему как попало.

По вопросу: удаляй массив $arr в конце цикла
Code: (clickermann) [Select]
UNDEFINE($arr)
STRSEPARATE разбивает строку по разделителю и помещаются в массив. Массив при этом не удаляется если он уже существует. Правильней было бы написать в справке "добавляет", чтоб было понятней. Или просто уточнить этот момент.
« Last Edit: January 30, 2017, 06:08:27 PM by Vint »


kudrjashv

  • Освоившийся
  • **
  • Posts: 26
    • View Profile
Re: Вопрос по разделению строки
« Reply #3 on: January 30, 2017, 07:04:04 PM »
Спасибо большое, теперь ясно. Все заработало!