Вы не зашли.
Главная » PHP » Алгоритмы (вопрос/ответ)
#1. Nu3oN Off (11)
Moderator
2011.11.18 17:05
Думаю стоящий сабж для того что бы его выделить!

В общем задает вопрос по интересующей "проблеме" и получаем ответ!
Я буду лучше голоден, но между креслом и рулем и на дороге.
#2. Nu3oN Off (11)
Moderator
2011.11.18 18:06
В общем на зендовском фрейме (не знаю как на других я кроме зенда и CI ничего углубленно не юзал) есть такая фича:
Вот у нас есть контроллер и нам необходимо для определенной странички указать заголовок сайта (<title></title>)
Точных названий переменных не помню, но суть в том, что в контроллере можно указать заголовок таким образом:
Код:
<?php
class IndexController extends Zend_Controller_Action
{
    function indexAction()
    {
 
        $this -> view -> title 'Главная страница';
 
    }
}
?>
хочу себе организовать такую же шнягу! я вижу выход из ситуации только ob_start() и т.д
а потом просто заменять необходимые элементы!

У кого какие предложения?
З.ы только не посылайте меня лопатить зендовский фрейм, я лучше повешусь  big_smile
Я буду лучше голоден, но между креслом и рулем и на дороге.
#3. TLENS Off (14)
Moderator
2011.11.18 18:06
Nu3oN Я юзаю деструктор.
Вот пример:
#4. Nu3oN Off (11)
Moderator
2011.11.18 18:06
TLENS написал:
Вот пример:
эммм... где??
Я буду лучше голоден, но между креслом и рулем и на дороге.
#5. TLENS Off (14)
Moderator
2011.11.18 18:06
В общем пример таков в начале иницыализируется класс Тема
Далее по пути работы скрипта изменяются публичные свойства.
И в деструкторе вывожу в браузер все.
В общем думал катнуть код простой но в падло.
Вот мой файл themes.class.php аналог буферизации.
Он еще только на тестировании поэтому и говна много, ну я так понимаю тебе пример надо.

Код:
<?php
class Themes {
    public $title;
    public $nav;
    public $description;
    public $description_foot;
    public $content;
    public $desc;
    public $keyword;
    public $head;
    public function __construct () {
        global $_SET;
 
    }
    public function __destruct () {
        global $_SET$starttime;
        $this->parse();
        header("Content-type: text/html; charset=utf-8");
        $prev  = (($_SET->prev == 120) ? '<b>120x90</b>' '<a href="?preview=120">120x90</a>');
        $prev .= ' / ';
        $prev .= (($_SET->prev == 40) ? '<b>40x30</b>' '<a href="?preview=40">40x30</a>');
        $r '<?xml version="1.0" encoding="utf-8"?>'                                                                          "\n"
            .'<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">' "\n"
            .'<html>'                                                                                                          "\n"
            .' <head>'                                                                                                         "\n"
            .' <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />'                                          "\n"
            .' <meta name="' $this->keyword '" />'                                                                         "\n"
            .' <meta name="description" content="' .$this->desc'" />'                                                        "\n"
            .' <title>' $this->title '</title>'                                                                            "\n"
            .' <link rel="stylesheet" type="text/css" href="/themes/' $_SET->themes '/style.css" />'                       "\n"
            $this->head
            .' </head>'                                                                                                        "\n"
            .' <body>'                                                                                                         "\n"
                                                                                                                               "\n"
            .' <div id="title">'                                                                                               "\n"
            .' <a href="' $_SET->home '">'
                .'<img style="position: relative;top: 5px;" src="/themes/' $_SET->themes '/images/logo.png" alt="" /></a>' "\n"
            .' </div>'                                                                                                         "\n"
                                                                                                                               "\n"
            .' <div id="nav">' $this->nav '</div>'                                                                         "\n"
            .' <div id="description">' $this->description '</div>'                                                         "\n"
                                                                                                                               "\n"
            .' <div id="content">'                                                                                             "\n"
            .' Предосмотр: ' $prev '<br />'                                                                                "\n"
            $this->content                                                                                                   "\n"
            .' </div>'                                                                                                         "\n"
            .'  <div id="description-foot">'                                                                                   "\n"
            .'   ' .$this->description_foot                                                                                    "\n"
            .'  </div>'                                                                                                        "\n"
                                                                                                                               "\n"
            .'  <div id="foot">'                                                                                               "\n"
            .'   <div style="text-align:center">'
            //.'    <a href="http://fixwap.net/ru/?uid=11598"><img src="http://fixwap.net/ru/count.php?uid=11598" alt="fixwap"/></a>'    . "\n"
            .'    <a href="http://weplog.net/in/8375"><img src="http://weplog.net/8375/1.cnt" alt="wap сайты" title="wap сайты" /></a>'"\n"
            .'    <a href="http://waplog.net/c.shtml?352534"><img src="http://c.waplog.net/352534.cnt" alt="waplog" /></a>'            "\n"
            .'    <a href="http://mstop.ru/?uid=860"><img src="http://mstop.ru/count.php?860" alt="mstop.ru"/></a>'                  "\n"
            //.'    <a href="http://top.sexvirus.ru/click.php?2367"><img src="http://top.sexvirus.ru/image.php?2367,small" alt="top.sexvirus.ru" /></a>' . "\n" 
            .'    <br />'                                                                                                              "\n"
            .'    <a href="http://top4wap.ru/5883"><img src="http://top4wap.ru/cnt4.gif?5883" alt="TOP4WAP.ru"/></a><br />'            "\n"
            .'    <small>' round(microtime(1) - $starttime4) . ' Сек.</small> '                                                    "\n"
            .'   </div>'                                                                                                               "\n"
            .'  </div>'                                                                                                                "\n"
            .' </body>'                                                                                                                "\n"
            .'</html>';
            //var_dump($this);
            //highlight_string($r);
            echo $r;
    }
    private function parse () {
        global $_SET;
        if (!$this->title) {
            if ($_SET->page[1]) {
                $this->title $_SET->page[1] . ' - Лучшее порно';
            } else {
                $this->title 'Лучшее порно';
            }
            
        } else {
            $this->title $this->title ' - Лучшее порно';
        }
        
        if ($this->content == '') {
            $this->content '  <b>Страница не найдена</b>';
        }
        
        if (!$this->description) {
            $this->description '  Все самое лучшее здесь!';
        }
        
        if ($this->nav) {
            $this->nav $this->navig();
        }
        
        if (!$this->nav) {
            $this->navig();
        }
        if (!$this->keyword) {
            $this->keyword 'keywords" content="podsmotri.org, best, xxx, порно, Инцест, Домашка, руское, эротика, видео, 3gp, mp4, трах, секс, подсмотренное, лучшее';
        }
        if (!$this->desc) {
            $this->desc 'Лучшая подборка xxx, Бесплатное xxx, Домашнее xxx, Руское xxx, Скачать 3gp, Скачать mp4, Популярное xxx, Ржачное xxx, Скрытая камера';
        }
    }
    private function navig () {
        global $_SET;
        $arr_top[1] = array('<a href="/' $_SET->act '/new/">Новые</a>''<b>Новые</b>');
        $arr_top[2] = array('<a href="/' $_SET->act '/search/">Поиск</a>''<b>Поиск</b>');
        $arr_top[3] = array('<a href="/' $_SET->act '/top_week/">Топ нед.</a>''<b>Топ нед.</b>');
        $arr_top[4] = array('<a href="/' $_SET->act '/top_month/">Топ мес.</a>''<b>Топ мес.</b>');
        $arr_top[5] = array('<a href="/' $_SET->act '/top_all/">Топ все</a>''<b>Топ все</b>');
        $c count($arr_top);
        $this->nav '<small>';
        for ($i=1$i<=$c$i++) {
            $this->nav .= $arr_top[$i][(($_SET->page[0] == $i)?1:0)] . (($i<$c)? ' | ' '');
        }
        $this->nav .= '</small>';
        
        $if = ($_SET->page[0] >= && $_SET->page[0] <= 5);
        
        $arr_nav[1] = array('video''<a href="/video/' . (($if)? $_SET->page[2] : 'new') . '/">Видео</a>''<b>Видео</b>');
        $arr_nav[2] = array('photo''<a href="/photo/' . (($if)? $_SET->page[2] : 'new') . '/">Фото</a>''<b>Фото</b>');
        $i 0;
        $this->description '<small>';
        while ($arr_nav[++$i][0]) {
        //()
            $this->description .= $arr_nav[$i][(($_SET->act == $arr_nav[$i][0])? )] . (($arr_nav[($i 1)][0])? ' / ' '');
            
        }
        $this->description .= '</small>';
    }
}
 
 
 
?>
#6. Nu3oN Off (11)
Moderator
2011.11.18 18:06
TLENS, идея впринципе хорошая, но у меня на шаблонах все!
а так черпану онсновную идею! это примерно то что я и искал))) спасибо большое smile
Я буду лучше голоден, но между креслом и рулем и на дороге.
#7. Gemorroj Off (108)
Administrator
2011.11.18 19:07
Nu3oN, я не совсем понял, как ты тогда рендеришь шаблоны, не имея всех данных?
Может я не совсем понимаю, но вариантов тут с ходу несколько имеется.
#8. Nu3oN Off (11)
Moderator
2011.11.18 22:10
Я сделал по принципу TLENS'a

Код:
<?php
        if (is_file(PATH_TEMPLATES self :: OUTPUT_THEME '/template.inc.php')) {
 
            require_once(PATH_TEMPLATES self :: OUTPUT_THEME '/template.inc.php');
            Logging :: setMark('Подключение файла настроек шаблона');
 
        } else {
            trigger_error('Ошибка при подключении файла настроек шаблона'E_USER_ERROR);
        }
 
        /* * Указываем залоговок страницы. */
        if (empty($this -> arrHeader['title'])) {
            $arrHeader['title'] = $titles['title'];
        } else {
            $arrHeader['title'] = $this -> arrHeader['title'];
        }
        /* * Указываем ключевые слова. */
        if (empty($this -> arrHeader['keywords'])) {
            $arrHeader['keywords'] = $titles['keywords'];
        } else {
            $arrHeader['keywords'] = $this -> arrHeader['keywords'];
        }
        /* * Указываем описание страницы. */
        if (empty($this -> arrHeader['description'])) {
            $arrHeader['description'] = $titles['description'];
        } else {
            $arrHeader['description'] = $this -> arrHeader['description'];
        }
        /* * Указываем где мы берем стиль. */
        $arrHeader['link_css'] = $titles['link_css'];
        /* * Указываем где мы берем иконку. */
        $arrHeader['link_ico'] = $titles['link_ico'];
        
        /* * Закрываем буферизацию. */
        $strOut ob_get_contents();
        ob_end_clean();
        
        header("Content-type: text/html; charset=utf-8");
 
        /* * Выводим основной шаблон. */
        $this -> view -> assign('arrHeader'$arrHeader);
        $this -> view -> assign('outContent'$strOut);
        $this -> view -> display('/''primary'); die;
 
    }
Я буду лучше голоден, но между креслом и рулем и на дороге.
#9. Nu3oN Off (11)
Moderator
2011.11.18 22:10
Кстати юзав CI увидел "маркеры", и придумал велосипед, который оказался очень полезным!
полностью вижу весь процесс выполнения скрипта:
Начало ведения меток
Подключение класса "Logging"
Подключение файла "setting"
Подключение файла "common"
Старт сессии
Подключение класса "MVC_Router"
Определение категории с контроллером
Определение файла контроллера
Подключение класса "MVC_Controller"
Подключение файла контроллера
Запуск контроллера
Подключение класса "DB"
Подключение класса "DB_ClassBase"
Подключение класса "NativeTemplate"
Проверка существования категории с шаблонами
Подключение класса "GetHelpers"
Подключение хэлпера "testhelp()"
Подключение шаблона "index"
Подключение файла настроек шаблона
Передаем переменные в шаблон
Подключение шаблона "primary"
Конец ведения меток
Только в CI время пишут! там идет принцип такой:

Код:
<?php
function name_function($var)
{
    $this -> mark[$var] = microtime();
}
 
name_function('controller_execution_time_( '.$class.' / '.$method.' )_start');
а нахрена это надо я так и не нашел...
Я буду лучше голоден, но между креслом и рулем и на дороге.
#10. Gemorroj Off (108)
Administrator
2011.11.19 11:11
возможно, для выявления ресурсоемких мест.
#11. Sep Off (0)
Участник
2012.01.13 22:10
Есть число 20, как сделать 5 разных чисел, что бы они в среднем арифметическом давали 20, и по возможности регулировать уровень числа.
Например:
Дано 20
Четвертое число больше всех.
Получаем числа 16, 10, 24, 30, 20.
Как это реализовать? Заранее спасибо
Отредактировано Sep (2012.01.13 22:10)
#12. Gemorroj Off (108)
Administrator
2012.01.14 00:12
Код:
<?php
$avg 20// среднее арифметическое
$count 5// всего необходимо чисел
$max 30// максимальное число
$maxNumber 4// какое число в массиве должно быть максимальным
 
 
$numbers = array();
$sum $avg $count;
for ($i 1$i <= $count; ++$i) {
    if ($i === $maxNumber) {
        $numbers[$i] = $max;
    } else if ($i === $count) {
        $numbers[$i] = $sum array_sum($numbers);
    } else {
        $numbers[$i] = mt_rand($max $count $count$max $count);
    }
}
print_r($numbers);
echo array_sum($numbers) / sizeof($numbers);
спасибо за задачку, мне очень понравилась)
Добавлено спустя    51 секунду:
P.S. не уверен на счет оптимальности кода, но сам алгоритм вроде работает.
#13. Sep Off (0)
Участник
2012.01.14 01:01
Gemorroj, спасибо большое smile
#14. Sep Off (0)
Участник
2012.01.15 16:04
Gemorroj, жаль что при увеличении числа $count алгоритм уже не правильно работает. Последнее число становится очень большим, разбежка от средне арифметического должна быть небольшой
#15. Gemorroj Off (108)
Administrator
2012.01.15 18:06
Sep, ну тут условия заданы жесткие. Т.е. работоспособность алгоритма зависит от заданных первоначальных условий.
#16. LEXIN Off (5)
Участник
2012.04.28 02:02
У меня такая проблема. Нужно создать страничку списка сайтов локалхоста. Шаблон я подготовил, но в скрипте не могу разобраться, как вывести субдомены в общем блоке.
Конструкция разметки должна быть примерно следующей:
<div>
<a>Домен1</a>
<a>Домен2</a>

   <div>
    <a>Субдомен1.Домен2</a>
    <a>Субдомен2.Домен2</a>
   </div>

<a>Домен3</a>
</div>

А на данный момент я могу вывести лишь так:

<div>
<a>Домен1</a>
<a>Домен2</a>

   <div><a>Субдомен1.Домен2</a></div>
   <div><a>Субдомен2.Домен2</a></div>
   
<a>Домен3</a>
</div>

За основу взял этот скрипт:

Код:
<?
// Original idea by: Dmitry Boykov (http://forum.dklab.ru/users/DmitryBoykov/)
$file = file('/usr/local/apache/conf/vhosts.conf');
foreach ($file as $line) {
  if (preg_match('/^[^#]* <VirtualHost \s+ [^:>]+ (?::(\d+))?/six', $line, $p)) {
    $port = @$p[1];
  }
  if (preg_match('/^[^#]* ServerName \s+ "?([^"]*)"?/six', $line, $p)){
    if ($port == 443) continue;
    $dom = preg_replace('/^www\./si', '', $p[1]);
    $dom .= $port && $port != 80? ":$port" : "";
    $domains[$dom] = join(".", array_reverse(preg_split('/\./', $dom)));
  }
}
asort($domains);
 
$prev = false;
echo '<ul>';
foreach ($domains as $dom=>$parts) {
  if (!$prev || !preg_match('/'.preg_quote($prev, '/').'$/si', $dom)) {
    echo "<li><a href=\"http://{$dom}\" target=\"_blank\"><b>{$dom}</b></a></li>";
    $prev = $dom;
  } else {
    print "&nbsp;&nbsp;-&nbsp;&nbsp;<a href=\"http://{$dom}\" target=\"_blank\">{$dom}</a><br />";
  }
}
echo '</ul>';
?>
sad
Было бы вообще здорово, если бы домены и субдомены парсились не из апача, чтоб при запуске на Nginx, список сайтов тоже смог отобразится.
#17. Gemorroj Off (108)
Administrator
2012.04.28 10:10
эм.. не совсем понимаю. проблема всего лишь в дивах?
и еще, вероятно, лучше будет использовать не парсер vhosts.conf, а парсить вывод apachectl -S
#18. LEXIN Off (5)
Участник
2012.04.28 14:02
Да, вопрос косметического характера - вывод субдоменов в каком-либо классе (дивы для примера конструкции, мне нужен <ul>).
И чтоб скрипт мог работать на том же Денвере. smile
#19. Gemorroj Off (108)
Administrator
2012.04.28 15:03
ну так собери сначала все в массив, а потом с массивом делай что хочешь.
#20. LEXIN Off (5)
Участник
2012.04.28 16:04
Без понятия как это сделать.
#21. Gemorroj Off (108)
Administrator
2012.04.28 17:05
что именно?
#22. LEXIN Off (5)
Участник
2012.04.28 17:05
Kак составить массив, чтоб при домене без поддоменов выводило:
<a>Домен</a>,
а при выявлении субдоменов:
<a>Домен</a>
<ul>
<a>Субдомен-1</a>
<a>Субдомен-2</a>
</ul>.

То есть, я не смогу составить такой массив, так как не понимаю основ php.
#23. Gemorroj Off (108)
Administrator
2012.04.28 21:09
давай свой скрипт, как ты сейчас собираешь.
#24. LEXIN Off (5)
Участник
2012.04.28 22:10
Вот скрипт, только я его уже не разбираю. Искал в инете похожие проблемные ситуации или готовое решение 2 дня и ни чего не добился.sad
Вложения
dom.zip 6kb [загрузок: 491]
#25. Gemorroj Off (108)
Administrator
2012.04.29 19:07
скинь еще vhosts.conf для примера, а то у меня как ни странно под рукой не нашлось тестовой конфигурации
#26. LEXIN Off (5)
Участник
2012.04.29 20:08
Вот такой список составил:
Вложения
vhosts.txt 2kb [загрузок: 666]
#27. Gemorroj Off (108)
Administrator
2012.04.30 11:11
блин, вчера дома немного подправил скрипт, потом настроение пропало) сегодня вечером доделаю
#28. LEXIN Off (5)
Участник
2012.04.30 13:01
Gemorroj, хорошо.
#29. Gemorroj Off (108)
Administrator
2012.04.30 22:10
надеюсь разберешься
Вложения
www.zip 6kb [загрузок: 564]
#30. LEXIN Off (5)
Участник
2012.05.01 00:12
sad Я не смог разобраться.
Скрипт выдает:
Array
(
    [site1.ru] => Array
        (
            [0] => sub1.site1.ru
            [1] => sub2.site1.ru
            [2] => sub3.site1.ru
        )

    [site2.ru] => Array
        (
        )

    [site3.ru] => Array
        (
        )

    [site4.ru] => Array
        (
        )

)
Отредактировано LEXIN (2012.05.01 00:12)
#31. Gemorroj Off (108)
Administrator
2012.05.01 10:10
ну так там print_r и exit стоит. я думал с таким массивом ты уже разберешься как дальше работать.
#32. LEXIN Off (5)
Участник
2012.05.01 13:01
Не, это я не осилил. Пытался в код echo и print вставлять, но получаю только ошибки на выводе.
#33. Nu3oN Off (11)
Moderator
2012.05.17 01:01
в общем вопрос в следующем:
Пишу скрипт групп. Зациклился на решение задачи со вступлением в закрытую группу!

Вот и думаю при отсылке запроса на добавление в группу отправлять лс администратору мол такой-то, такой-то хочет вступить в группу.
Или же выискать в модераторах того кто в онлайне и отправить ему в лс запрос? если же второй вариант, то как быть если никого нет в онлайне?
И еще есть третий вариант! создать страничку в группе, мол в группу хотят добавится такие то такие. Но тут тоже есть нюанс! Модераторы могут долгое время не заходить в группу...
Я буду лучше голоден, но между креслом и рулем и на дороге.
#34. Gemorroj Off (108)
Administrator
2012.05.17 10:10
можно совместить эти варианты. а уведомлять админа или модераторов - наверное можно сделать как настройку в группе.
#35. tipsun Off (19)
Moderator
2014.09.04 14:02
Как правильно разделить несколько переменных через запятую, если неизвестно содержит ли предыдущая или следующая переменная запись?
Примеры:
Строка переменных: {1}{2}{3}{4}{5}{6}{7}
Значение есть только у {1} и {5}, или {3} и {6}, или {2}, {3} и {7} и т.д.
Можно проверить переменную на содержание записи { IF 1 = "" "yes" "no" }
Можно использовать дополнительную переменную и выводить её значение
Проставив запятые обычным образом не катит: {1},{2},{3},{4},{5},{6},{7} т.к. с заданными условия получим: , , , +, +, , например
#36. Gemorroj Off (108)
Administrator
2014.09.04 17:05
для вывода implode используешь?
можно обработать массив через array_filter, например.
#37. tipsun Off (19)
Moderator
2014.09.04 17:05
Нет, я в MS Word пытаюсь слияние организовать))
Там есть:
{SET переменная "значение"}
{= 1 + 1}
{IF "значение" = переменная "1" "2"}
{MERGEFIELD Переменная \b "before" \f "after"}
Добавлено спустя   3 минуты  33 секунды:
У меня есть файл MS Exel. В нём записи запросов.
На каждый запрос нужен ответ с адресом.
Вот адрес через "," я могу огранизовать простым условием, если есть просто в конце добавить "," но последний элемент будет содержать ","
Вот в чем вся проблема
#38. tipsun Off (19)
Moderator
2014.09.05 18:06
Получилось.
#39. Gemorroj Off (108)
Administrator
2014.09.05 18:06
зачем код стер?)
#40. tipsun Off (19)
Moderator
2014.09.05 23:11
Да я уже по-другому сделал))
Лучше всего у меня получается сливать таблицу MS Exel в мой шаблон указывая тип документа "Письмо"
Этот код мне помогает собрать разбитый адрес в таблице MS Exel с разделителем "," примерно так: |город|улица|дом|квартира| => г. Город, ул. Улица, д. #, кв. #
Слияние помогает избегать рутинной работы, таких строк у меня бывает много, а значит столько же писем должно быть.
Код:
<?php // MS Word
 
// Добавить поле можно комбинацией: [Ctrl] + [F9]
// Поле это { }
 
/*
    Я решил через переменные сделать.
    Потом удобней будет искать и редактировать.
    Ибо в MS Word каждый раз надо добавлять поля комбинацией.
    Тут однотипный код, написали 1 строку с каждого блока,
    после копируйте все поле и можно редактировать.
    Можно и попроще, в 2 последних блока сделать.
    Можно попробовать оптимизировать, не считая кол-во записей,
    сразу как-то в блоке 4, но мне и так хватает :)
*/
 
// Объявление переменных
{SET Счетчик 0}{SET Строка ""}
{SET Элемент1 ""}
{SET Элемент2 ""}
{SET Элемент3 ""}
{SET Элемент4 ""}
 
// Подготовка Полей слияния. Приводим в конечный вид.
{IF Элемент1 <> "" {SET Элемент1 {MERGEFIELD ПолеСлияния1 \f "добавим что-нибудь в конец строки"}}}
{IF Элемент2 <> "" {SET Элемент2 {MERGEFIELD ПолеСлияния2 \b "добавим что-нибудь в начало строки"}}}
{IF Элемент3 <> "" {SET Элемент3 {MERGEFIELD ПолеСлияния3}}}
{IF Элемент4 <> "" {SET Элемент4 {MERGEFIELD ПолеСлияния4}}}
 
// Другой вариант:
{IF Элемент5 <> "" {SET Элемент5 {MERGEFIELD ПолеСлияния5}} {SET Элемент5 ""}}
 
// Подсчет количества записей (т.е. не пустых записей)
{IF Элемент1 <> "" {SET Счетчик {=Счетчик+1}}}
{IF Элемент2 <> "" {SET Счетчик {=Счетчик+1}}}
{IF Элемент3 <> "" {SET Счетчик {=Счетчик+1}}}
{IF Элемент4 <> "" {SET Счетчик {=Счетчик+1}}}
 
/*
    Если элемент присутствует, уменьшаем счетчик
    для операции определения нужна ли запятая или нет.
*/
// Формирование переменной Строка
{IF Элемент1 <> "" {SET Счетчик {=Счетчик-1}}}
{IF Элемент1 <> "" {SET Строка {IF <= Счетчик "{Строка}{Элемент1}, " "{Строка}{Элемент1}"}}}
{IF Элемент2 <> "" {SET Счетчик {=Счетчик-1}}}
{IF Элемент2 <> "" {SET Строка {IF <= Счетчик "{Строка}{Элемент2}, " "{Строка}{Элемент2}"}}}
{IF Элемент3 <> "" {SET Счетчик {=Счетчик-1}}}
{IF Элемент3 <> "" {SET Строка {IF <= Счетчик "{Строка}{Элемент3}, " "{Строка}{Элемент3}"}}}
{IF Элемент4 <> "" {SET Счетчик {=Счетчик-1}}}
{IF Элемент4 <> "" {SET Строка {IF <= Счетчик "{Строка}{Элемент4}, " "{Строка}{Элемент4}"}}}
 
// ------- Совсем другой "безПеременный" вариант (!!!НЕ ТЕСТИРОВАЛ!!!):
{IF ПолеСлияния5 <> "" {SET Счетчик {=Счетчик+1}}}
// ...
 
{IF ПолеСлияния5 <> "" {SET Счетчик {=Счетчик-1}}}
{IF ПолеСлияния5 <> "" {SET Строка {IF <= Счетчик "{Строка}{ПолеСлияния5 \b "добавим в начало" \f "добавим в конец"}, " "{Строка}{ПолеСлияния5 \b "добавим в начало" \f "добавим в конец"}"}}}
 
{Строка// Результат
#41. tipsun Off (19)
Moderator
2014.09.07 02:02
Епт, если результат сразу распечатать, то фигня получается. А вот когда отдельно в документ сохраняешь - норм, и его распечатка тоже норм проходит.
Страниц: 13 4 5 Все
Главная
WEB
PunBB Mod v0.6.2
0.036 s