Author Topic: Вопрос по массивам  (Read 2143 times)

0 Members and 1 Guest are viewing this topic.

VGK

  • Освоившийся
  • **
  • Posts: 31
    • View Profile
Вопрос по массивам
« on: April 28, 2017, 03:05:21 PM »
Есть у меня разные массивы разных размеров записанные в файлы
Необходимо выбирать из них различные элементы
Для примера посмотрите
Code: (clickermann) [Select]
STRSEPARATE("Первый элемент:Второй элемент:Третий элемент", ":", $arr)
$res = radiobox("Выберите :", $arr[0], $arr[1], $arr[2])
$arrsize = arrsize($arr)
FOR($n = 0, ($n < $arrsize + 1))
   SWITCH($res)
   case($n)
      $var = $arr[($n-1)]
   END_SWITCH
END_CYC
LOGWRITE($var)
HALT
Вроде всё и копактненько, но при различном количестве элементов, строку
$res = radiobox("Выберите :", $arr[0], $arr[1], $arr[2])
надо менять, да и если элементов штук 20
$res = radiobox("Выберите :", $arr[0], $arr[1], $arr[2], ...,  $arr[19])
как то длинновато
Подскажите идею, пожалуйста

VGK

  • Освоившийся
  • **
  • Posts: 31
    • View Profile
Re: Вопрос по массивам
« Reply #1 on: April 28, 2017, 03:14:27 PM »
как это можно сделать для массивов произвольного размера ?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Вопрос по массивам
« Reply #2 on: April 28, 2017, 03:24:17 PM »
Могу предложить только отдельную библиотеку
http://crapware.aidf.org/forum/index.php?topic=1147.msg17005#msg17005


P.S. А зачем там цикл?
Code: (clickermann) [Select]
STRSEPARATE("Первый элемент:Второй элемент:Третий элемент", ":", $arr)
$res = radiobox("Выберите :", $arr[0], $arr[1], $arr[2])
LOGWRITE($arr[$res-1])
HALT
« Last Edit: April 28, 2017, 03:28:45 PM by Vint »


VGK

  • Освоившийся
  • **
  • Posts: 31
    • View Profile
Re: Вопрос по массивам
« Reply #3 on: April 28, 2017, 03:35:30 PM »
Да ...
нет предела совершенству
Всего одна строка !

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Вопрос по массивам
« Reply #4 on: April 28, 2017, 03:38:31 PM »
При использовании библиотеки выглядеть может так:
Code: (clickermann) [Select]
#include "Window.cms"

STRSEPARATE("Первый элемент:Второй элемент:Третий элемент", ":", $items)
Window_select(101, "Выберите :", 10)

IF($return = -1)
    LOGWRITE ("Кнопка не нажата, время вышло или окно закрыто принудительно")
ELSE
    LOGWRITE($items[$return-1])
END_IF

HALT
« Last Edit: April 28, 2017, 03:41:05 PM by Vint »


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Вопрос по массивам
« Reply #5 on: April 28, 2017, 03:45:31 PM »
При вызове Window_select(101,  можно задавать 4 кода

101 - обычный шрифт
102 - обычный шрифт, надпись прямо на кнопках

110 - жирный шрифт
120 - жирный шрифт, надпись прямо на кнопках


VGK

  • Освоившийся
  • **
  • Posts: 31
    • View Profile
Re: Вопрос по массивам
« Reply #6 on: April 28, 2017, 04:06:55 PM »
Спасибо, буду с библиотекой разбираться, но после праздников, вечером уезжаю
И два вопроса
АВАСТ ругнулся, не важно ?
и главное
если я захочу поделиться сценарием на форуме игры, как мне с Вашей библиотекой поступать, Вы не против ее распространения ?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Вопрос по массивам
« Reply #7 on: April 28, 2017, 05:42:38 PM »
Так она же свободно выложена.
У меня аваст молчит. Но бывает что на скомпилированный скрипт AutoIT ругаются. Сволочи они. Иногда просто на упаковщик, иногда просто тупо из-за того что AutoIT. Типа не достойны писать кому не попадя, пишите на С++  >:(.


VGK

  • Освоившийся
  • **
  • Posts: 31
    • View Profile
Re: Вопрос по массивам
« Reply #8 on: April 28, 2017, 07:39:12 PM »
с библиотекой - БОМБА
снимаю шляпу
единственное что я для себя изменил у себя строку
LOGWRITE ("Прошло 10 секунд - выбор не сделан, или окно закрыто принудительно")
 :)
« Last Edit: April 28, 2017, 07:45:50 PM by VGK »