Save array

Материал из UoPilot
Версия от 21:26, 27 августа 2019; Tatikoma (обсуждение | вклад) (Новая страница: « == Описание == '''Save array''' - сохранение массива в файл. Иногда требуется запускать UoPilot от адм...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Описание

Save array - сохранение массива в файл. Иногда требуется запускать UoPilot от администратора.

Синтаксис

Привязка к окну: нет. <br>Работа со свернутым окном: да.

save_array <%array> [#array_x] [#array_y] [#count_x] [#count_y] [$filename]

Где: <br>%array - массив, который нужно сохранить. <br>[#array_x #array_y] - начальные координаты, если нужно сохранить массив не сначала. <br>[#count_x #count_y] - количество столбцов и строк для сохранения. <br>[$filename] - путь к файлу для сохранения <br><br>Массивы сохраняются в виде [строка, столбец]. Элементы массива отделены друг от друга символом с кодом #9 (Tab).

Примеры

// Пример 1
set %arr [1 1] 11
set %arr [1 2] 22
set %arr [2 1] 33
set %arr [2 2] 44
save_array %arr C:\123abc.txt    //сохранить весь массив в файле 123abc.txt на диске С:
End_script
// Пример 2
set %arr [1 1] 11
set %arr [1 2] 22
set %arr [2 1] 33
set %arr [2 2] 44
save_array %arr 2 C:\123abc.txt    //сохранить массив начиная со второй строки
End_script
// Пример 3
set %arr [1 1] 11
set %arr [1 2] 22
set %arr [2 1] 33
set %arr [2 2] 44
save_array %arr 1 2 C:\123abc.txt    //сохранить массив начиная со второго столбца
End_script

Создание лога с помощью массива.

set #q 2
set %logs[1 1] The time
set %logs[1 2] Ресурс
set %logs[1 3] Кол-во
set %logs[1 4] Добыто?
set %logs[#q 1] $time
set %logs[#q 2] $s
set %logs[#q 3] $s1
set %logs[#q 4] $s2  
save_array %logs c:\logs\resource.txt

1 разряд массива - это столбец <br>2 разряд массива - это строка

Из примера выше получается примерно вот так:

<pre>The time Ресурс Кол-во Добыто? 18 17 09 Ртуть 5 Да</pre> Самое важное - можно легко скопировать в exel и получить всё в нужных столбцах.

А если хотим чтобы постоянно добавлялись новые строки, а не перезаписывались, то добавляем set #q 1 в шапку и #q + 1 в тело скрипта.

set #q 1
//+++++++++++++++++++++++++
while 1 = 1
   set #q #q + 1
   set %logs[1 2] Ресурс
   set %logs[1 3] Кол-во
   set %logs[1 4] Добыто?
   set %logs[#q 1] $time
   set %logs[#q 2] $s
   set %logs[#q 3] $s1
   set %logs[#q 4] $s2  
   save_array %logs c:\logs\resource.txt
end_while

Смотрите также

Массивы <br>Load_array <br>Init arr <br>Sort array <br>Get scripts

История развития

2.11 <br>Добавил возможность сохранять массивы в файл.

save_array <%array> [#array_x] [#array_y] [#count_x] [#count_y] [$filename]

По-умолчанию сохраняются в каталоге со скриптами. Отсутствовать может любое количество операндов, начиная с конца, до имени массива. Последний из оставшихся операндов считается именем файла, им может являться имя массива. Массивы хранятся в виде [строка, столбец]. Элементы массива отделены друг от друга символом с кодом #9 (tab).

2.35 <br>Добавил в команды 'save_array' и 'load_array' проверку на занятость файла другими скриптами. Ждут пока не освободится.