Макрос шаблона вывода [FILE] (вставка данных из файла на диске)

1
2
3
4
5
6
7
8
9
[FILE(путь к файлу|номер строки для вставки|сколько строк вставлять)]
[FILE(c:\file.txt|1|1)] - будет вставлена первая строка из файла c:\file.txt
[FILE(c:\file.txt|1|2)] - будут вставлены первая и вторая строки из файла c:\file.txt
[FILE(c:\file.txt|2|2)] - будут вставлены вторая и третья строки из файла c:\file.txt
 
Вставка всего содержимого файла разом:
[FILE(c:\file.txt|1|1000000)] - ВСТАВЯТСЯ ВСЕ СТРОКИ из файла c:\file.txt (обратите внимание, параметр номера вставляемой строки
для этого должен быть равен 1 и параметр "сколько строк вставлять"
должен быть заведомо больше реального количества строк в файле)



Если параметр «номер строки для вставки»=0, то при первом вызове макроса из файла будет взята первая строка, при втором вызове макроса будет взята вторая строка и так далее:

1
2
3
[FILE(c:\file.txt|0|1)] - будет вставлена первая строка из файла c:\file.txt
[FILE(c:\file.txt|0|1)] - будет вставлена вторая строка из файла c:\file.txt
[FILE(c:\file.txt|0|1)] - будет вставлена третья строка из файла c:\file.txt



Если, например, брать 15 строку и затем вызывать макрос [FILE] с параметром «номер строки для вставки»=0, то будет взята 16 строка:

1
2
3
[FILE(c:\file.txt|15|1)] - будет вставлена 15 строка из файла c:\file.txt
[FILE(c:\file.txt|0|1)] - будет вставлена 16 строка из файла c:\file.txt
[FILE(c:\file.txt|0|1)] - будет вставлена 17 строка из файла c:\file.txt



Если вызывать несколько макросов [FILE], то для каждого файла будет назначена индивидуальная переменная с номером текущей строки:

1
2
3
4
5
6
7
[FILE(c:\file.txt|15|1)] - будет вставлена 15 строка из файла c:\file.txt
[FILE(c:\file.txt|0|1)] - будет вставлена 16 строка из файла c:\file.txt
[FILE(c:\file_2.txt|0|1)] - будет вставлена 1 строка из файла c:\file_2.txt
[FILE(c:\file.txt|0|1)] - будет вставлена 17 строка из файла c:\file.txt
[FILE(c:\file_2.txt|0|1)] - будет вставлена 2 строка из файла c:\file_2.txt
[FILE(c:\file.txt|0|1)] - будет вставлена 18 строка из файла c:\file.txt
...



Для вставки рандомной (случайной) строки из файла, вместо номера строки используйте параметр {random}:

1
[FILE(c:\file.txt|{random}|1)]

Важно: Если вы берете из файла рандомную строку, то она удаляется из копии файла в памяти программы (чтобы два раза случайно не взять одну и ту же строку). Поэтому, помните, что не рекомендуется обращаться к одному и тому же файлу сначала с параметром {random}, потом без него (для таких случаев создайте копию файла на диске и обращайтесь к созданной копии вторым макросом [FILE] без параметра {random})!


Если необходимо удалять строку из файла при ее взятии, добавьте параметр {delete}:

1
[FILE(c:\file.txt|15|1{delete})]



Если загружаете файл в кодировке UTF-8, добавьте параметр {utf8}:

1
[FILE(c:\file.txt|15|1{delete}{utf8})]



Если вы желаете, чтобы текущий индекс строки не увеличивался при вызове макроса [FILE] или при вызове макроса с параметром {random} несколько раз подряд бралась одна и та же строка, то добавьте параметр {holdindex}:

1
[FILE(c:\file.txt|0|1{holdindex})]

Это полезно, например, когда вам нужно вставлять одну и ту же строку несколько раз подряд в разных местах шаблона вывода (в таком случае уберите параметр {holdindex} у крайнего макроса).
Примечание: Наличие {holdindex} отключает параметр {delete}!


Если вы желаете добавить к вставляемой строке какой-либо текст или код, используйте параметр {template}:

1
[FILE(c:\file.txt|{random}|1{template} что добавить к началу {data1} что добавить в конец {/template})]

Параметр {template}шаблон{/template} будет являться шаблоном данных на выходе, а оператор {data1} берет данные из строки в файле.
Примечание: Если в параметре {template} нужно использовать комбинацию символов )], вместо нее пропишите [FILEEND] (для экранирования закрывающей части макроса [FILE(path)])


Например, в файле на диске (c:\Content\file.txt) есть строка:

1
подстрока 1[SEP]подстрока 2[SEP]подстрока 3[SEP] подстрока 4[SEP]подстрока 5[SEP]...

И вам, при рандомной вставке строк из файла, нужно взять из нее некоторые подстроки и вывести их в определенном формате. Тогда для вывода подстрок с указанным индексом пользуйтесь оператором {dataN} (где N — номер подстроки из файла):

1
[FILE(c:\file.txt|{random}|1{template}<CD_GRAN_1!>[CSVCS]{data1}[CSVCS]{data2}[CSVCS]{data3}{/template})]

Примечание: Если в параметре {template} нужно использовать комбинацию символов )], вместо нее пропишите [FILEEND] (для экранирования закрывающей части макроса [FILE(path)])


Если указанный для взятия номер строки превышает количество строк в файле и вам нужно, чтобы строки из файла брались по второму и более кругу, вставьте перед путем к файлу оператор {loopindex}

1
[FILE({loopindex}c:\file.txt|5|1)]



1 Star2 Stars3 Stars4 Stars5 Stars (оценок: 2, средний балл: 3,00)

Загрузка...
Автор: admin, 12 декабря 2016
Рубрики: Функции обработки
Метки: ,

Последние статьи

css.php