Save array: различия между версиями

Материал из UoPilot
Перейти к навигации Перейти к поиску
(Новая страница: « == Описание == '''Save array''' - сохранение массива в файл. Иногда требуется запускать UoPilot от адм...»)
 
 
Строка 5: Строка 5:
 
== Синтаксис ==
 
== Синтаксис ==
 
Привязка к окну: нет.
 
Привязка к окну: нет.
<br>Работа со свернутым окном: да.
+
<br>Работа со свернутым окном: да.
  save_array &lt;%array> [#array_x] [#array_y] [#count_x] [#count_y] [$filename]
+
  save_array <%array> [#array_x] [#array_y] [#count_x] [#count_y] [$filename]
 
Где:
 
Где:
&lt;br>'''%array''' - массив, который нужно сохранить.
+
<br>'''%array''' - массив, который нужно сохранить.
&lt;br>'''[#array_x #array_y]''' - начальные координаты, если нужно сохранить массив не сначала.
+
<br>'''[#array_x #array_y]''' - начальные координаты, если нужно сохранить массив не сначала.
&lt;br>'''[#count_x #count_y]''' - количество столбцов и строк для сохранения.
+
<br>'''[#count_x #count_y]''' - количество столбцов и строк для сохранения.
&lt;br>'''[$filename]''' - путь к файлу для сохранения
+
<br>'''[$filename]''' - путь к файлу для сохранения
&lt;br>&lt;br>Массивы сохраняются в виде [строка, столбец]. Элементы массива отделены друг от друга символом с кодом #9 (Tab).
+
<br><br>Массивы сохраняются в виде [строка, столбец]. Элементы массива отделены друг от друга символом с кодом #9 (Tab).
  
 
== Примеры ==
 
== Примеры ==
Строка 53: Строка 53:
  
 
1 разряд массива - это столбец
 
1 разряд массива - это столбец
&lt;br>2 разряд массива - это строка
+
<br>2 разряд массива - это строка
  
 
Из примера выше получается примерно вот так:
 
Из примера выше получается примерно вот так:
  
&lt;pre>The time Ресурс Кол-во Добыто?
+
<pre>The time Ресурс Кол-во Добыто?
18 17 09 Ртуть 5 Да&lt;/pre>
+
18 17 09 Ртуть 5 Да</pre>
 
Самое важное - можно легко скопировать в exel и получить всё в нужных столбцах.
 
Самое важное - можно легко скопировать в exel и получить всё в нужных столбцах.
  
Строка 80: Строка 80:
  
 
[[Массивы]]
 
[[Массивы]]
&lt;br>[[Load_array]]
+
<br>[[Load_array]]
&lt;br>[[Init arr]]
+
<br>[[Init arr]]
&lt;br>[[Sort array]]
+
<br>[[Sort array]]
&lt;br>[[Get scripts]]
+
<br>[[Get scripts]]
  
 
== История развития ==
 
== История развития ==
  
 
'''2.11'''
 
'''2.11'''
&lt;br>Добавил возможность сохранять массивы в файл.
+
<br>Добавил возможность сохранять массивы в файл.
  save_array &lt;%array> [#array_x] [#array_y] [#count_x] [#count_y] [$filename]
+
  save_array <%array> [#array_x] [#array_y] [#count_x] [#count_y] [$filename]
 
По-умолчанию сохраняются в каталоге со скриптами. Отсутствовать может любое количество операндов, начиная с конца, до имени массива. Последний из оставшихся операндов считается именем файла, им может являться имя массива. Массивы хранятся в виде [строка, столбец]. Элементы массива отделены друг от друга символом с кодом #9 (tab).
 
По-умолчанию сохраняются в каталоге со скриптами. Отсутствовать может любое количество операндов, начиная с конца, до имени массива. Последний из оставшихся операндов считается именем файла, им может являться имя массива. Массивы хранятся в виде [строка, столбец]. Элементы массива отделены друг от друга символом с кодом #9 (tab).
  
 
'''2.35'''
 
'''2.35'''
&lt;br>Добавил в команды 'save_array' и 'load_array' проверку на занятость файла другими скриптами. Ждут пока не освободится.
+
<br>Добавил в команды 'save_array' и 'load_array' проверку на занятость файла другими скриптами. Ждут пока не освободится.
  
 
[[Категория:Массивы]]
 
[[Категория:Массивы]]

Текущая версия на 11:08, 28 августа 2019

Описание

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

Синтаксис

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

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

Где:
%array - массив, который нужно сохранить.
[#array_x #array_y] - начальные координаты, если нужно сохранить массив не сначала.
[#count_x #count_y] - количество столбцов и строк для сохранения.
[$filename] - путь к файлу для сохранения

Массивы сохраняются в виде [строка, столбец]. Элементы массива отделены друг от друга символом с кодом #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 разряд массива - это столбец
2 разряд массива - это строка

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

The time		Ресурс		Кол-во		Добыто?	
18 17 09		Ртуть		5			Да

Самое важное - можно легко скопировать в 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

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

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

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

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

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

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

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