Вопрос по собакоформулам

Тема в разделе "Lotus - Программирование", создана пользователем pbnoob, 29 янв 2007.

  1. pbnoob

    pbnoob Well-Known Member

    Регистрация:
    25 авг 2006
    Сообщения:
    135
    Симпатии:
    0
    Есть массив
    Year:="2005":"2006":"2007":"2008":"2009";
    так же переменная
    cur_year:="2007";
    как на формулах получить массив res, в который будут входить все года не превышающие текущий?

    Заранее спс.
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    хм... имхо все сводиться к выделению из массива Year max элемена сравнение его с cur_year.. если max > cur_year то удалять из Year максимальный елемент и начинать все заново
     
  3. pbnoob

    pbnoob Well-Known Member

    Регистрация:
    25 авг 2006
    Сообщения:
    135
    Симпатии:
    0
    Как нарочно, только создал тему и осенило...
    Вот то что мне было нужно.
    (может кому пригодиться, в итоге задача довольнотаки тревиальной оказалась :( )
    cur_year:=@Text(@Year(@Today));
    full_year:=@Implode(Year;";");
    cut_str:=@Left(full_year;cur_year)+cur_year;
    @Explode(cut_str;";")

    2Morpheus
    идея понятна, только как ее на формулах реализовать я не понял :(
     
  4. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: Noob
    имхо есть недостаток а если будет
    Year:="2005":"2006":"2008":"2009":"2007";
    и что тогда?
     
  5. pbnoob

    pbnoob Well-Known Member

    Регистрация:
    25 авг 2006
    Сообщения:
    135
    Симпатии:
    0
    Вопрос в полне логичен.
    Но у меня тот случай когда я лично составляю этот массив
    (скажем так с запасом для общих целей) и поэтому неправильный порядок может возникнуть только как описка.

    А если список не сортированный, то его можно отсортировать. (алгоритм описан здесь
    Получение списка N элементов от 1 до N)
     
  6. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Если версия 6 и выше, то можно с помощью @Transform.
     
  7. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: Medevic
    ух ты просмотрел такую собаку... хороша )))
     
  8. pbnoob

    pbnoob Well-Known Member

    Регистрация:
    25 авг 2006
    Сообщения:
    135
    Симпатии:
    0
    Простите заранее, не хочу лишний раз ругаться.
    Но мне до сих пор приходится работать с версией 5.00.12 ;)
    Поэтому и приходится изворачиваться :)
     
  9. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: Noob
    та ниче я сам пересл с 4ки полгода назад )))
    на старой работе до сих пор 4 - ка :) ;) :D
     
  10. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Понятно.
    Кстати, можно сделать так:
    @SubSet(Year; @Member(cur_year; Year))
     
  11. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: Medevic
    Опять же при условии сортированного масива
     
  12. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.291
    Симпатии:
    0
    А вот и для несортированного:
    Year:="2005":"2006":"2007":"2008":"2009";
    cur_year:="2007";

    sig:=@Sign(@TextToNumber(cur_year)-@TextToNumber(Year));
    @Right(@Trim(@Replace(@Text(sig)+"|"+Year; "-1|"+Year; "")); "|")

    Это даже в 4-ке сработает
    Ы?
     
Загрузка...
Похожие Темы - Вопрос по собакоформулам
  1. ApplePen
    Ответов:
    0
    Просмотров:
    80
  2. gURaBA_N
    Ответов:
    3
    Просмотров:
    98
  3. kartaman
    Ответов:
    0
    Просмотров:
    128
  4. Peter
    Ответов:
    4
    Просмотров:
    527
  5. di0d_
    Ответов:
    1
    Просмотров:
    442

Поделиться этой страницей