2.8 версия

Post Reply
User avatar
Mr. Kibernetik
Site Admin
Posts: 4782
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

2.8 версия

Post by Mr. Kibernetik »

Основной темой версии 2.8 будет сетевой доступ. Будет добавлен набор команд для передачи данных по сети.
Вы можете предлагать свои идеи и соображения здесь.

User avatar
Mr. Kibernetik
Site Admin
Posts: 4782
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: 2.8 версия

Post by Mr. Kibernetik »

Будет добавлена новая команда:

FILE n$ READDIM m
считывает байты из файла [n$] в одномерный числовой массив [m]. Размер массива [m] изменяется и становится равным количеству считанных байтов.

FILE n$ READDIM m, n
считывает байты из файла [n$] в одномерный числовой массив [m], а количество считанных байтов сохраняет в числовую переменную [n]. Размер массива [m] изменяется и становится равным количеству считанных байтов.

FILE n$ READDIM m, n, k
считывает [k] байтов из файла [n$] в одномерный числовой массив [m], а количество фактически считанных байтов сохраняет в числовую переменную [n]. Размер массива [m] изменяется и становится равным количеству считанных байтов.

User avatar
Mr. Kibernetik
Site Admin
Posts: 4782
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: 2.8 версия

Post by Mr. Kibernetik »

Будет добавлена новая команда:

FILE n$ WRITEDIM m
пишет в виде байтов содержимое одномерного числового массива [m] в файл [n$]. Массив [m] должен содержать только значения от 0 до 255.

FILE n$ WRITEDIM m, n
пишет в виде байтов [n] элементов одномерного числового массива [m] в файл [n$]. Массив [m] должен содержать только значения от 0 до 255.

FILE n$ WRITEDIM m, n, k
пишет в виде байтов [n] элементов одномерного числового массива [m] начиная с элемента номер [k] в файл [n$]. Массив [m] должен содержать только значения от 0 до 255. Команда OPTION BASE влияет на эту команду.

User avatar
Mr. Kibernetik
Site Admin
Posts: 4782
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: 2.8 версия

Post by Mr. Kibernetik »

Команда на удаление несуществующего файла или каталога не будет вызывать уведомление об ошибке.

User avatar
Mr. Kibernetik
Site Admin
Posts: 4782
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: 2.8 версия

Post by Mr. Kibernetik »

Будет добавлена новая функция:

UNIQUE_STR$ ()
возвращает уникальную строку. Одно из возможных применений: для имен временных файлов, которые не должны случайно совпасть ни с одним уже существующим именем файла.

User avatar
Mr. Kibernetik
Site Admin
Posts: 4782
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: 2.8 версия

Post by Mr. Kibernetik »

Будет добавлен новый раздел "Работа в сети":

Если при выполнении команды HTTP возникает ошибка, не позволяющая выполнить команду, то сообщение об ошибке можно получить функцией HTTP_ERROR$(). Если при выполнении команды HTTP сервер возвращает ответ, то его можно получить функцией HTTP_RESPONSE$(). Особенно это актуально при выполнении команд HTTP POST и HTTP POSTDIM, которые предназначены для передачи данных на сервер и не имеют принимающих параметров.

При выполнении команд HTTP опционально можно установить значения, находящиеся в заголовке HTTP запроса. Для этого в командах HTTP в параметре HEADER используется одномерный строковый массив, строки которого должны быть оформлены в виде "название_параметра : значение", например:
s$ = "This is my message to server"
h$(1) = "content-type:text/html"
h$(2) = "content-length:"&len(s$)
HTTP "posttestserver.com/post.php" HEADER h$ POST s$
PRINT HTTP_RESPONSE$()

HTTP url$ HEADER h$ GET t$
выполняет HTTP запрос GET по адресу [url$] и сохраняет ответ сервера в строковую переменную [t$]. Параметр HEADER, определяющий содержимое заголовка HTTP запроса, не является обязательным, но если он указан, то [h$] должен быть одномерным строковым массивом, о его формате смотри в предисловии.
Пример:
HTTP "kibernetik.pro" GET t$
PRINT t$

HTTP url$ HEADER h$ GETDIM m, n
выполняет HTTP запрос GET по адресу [url$] и сохраняет ответ сервера в одномерный числовой массив [m]. Размер массива [m] изменяется в соответствии с размером полученных данных и сохраняется в числовую переменную [n], указывать которую не обязательно. Параметр HEADER, определяющий содержимое заголовка HTTP запроса, не является обязательным, но если он указан, то [h$] должен быть одномерным строковым массивом, о его формате смотри в предисловии.
Пример:
HTTP "google.com/images/logo.png" GETDIM m
FILE "google.png" WRITEDIM m

HTTP url$ HEADER h$ HEAD t$
выполняет HTTP запрос HEAD по адресу [url$] и сохраняет ответ сервера в строковую переменную [t$]. Параметр HEADER, определяющий содержимое заголовка HTTP запроса, не является обязательным, но если он указан, то [h$] должен быть одномерным строковым массивом, о его формате смотри в предисловии.
Пример:
HTTP "apple.com" HEAD t$
PRINT t$

HTTP url$ HEADER h$ POST t$
выполняет HTTP запрос POST с содержимым запроса [t$] по адресу [url$]. Параметр HEADER, определяющий содержимое заголовка HTTP запроса, не является обязательным, но если он указан, то [h$] должен быть одномерным строковым массивом, о его формате смотри в предисловии.

HTTP url$ HEADER h$ POSTDIM m, n
выполняет HTTP запрос POST по адресу [url$], содержимое запроса берется из одномерного числового массива [m] в количестве [n] байт. Массив [m] должен содержать только значения от 0 до 255. Количество отправляемых байт [n] можно не указывать, в этом случае будет отправлено все содержимое массива [m]. Параметр HEADER, определяющий содержимое заголовка HTTP запроса, не является обязательным, но если он указан, то [h$] должен быть одномерным строковым массивом, о его формате смотри в предисловии.
Пример:
FILE "image.jpg" READDIM m,n
h$(1) = "content-type:image/jpeg"
h$(2) = "content-length:" & n
HTTP url$ HEADER h$ POSTDIM m

HTTP_ERROR$ ()
возвращает сообщение об ошибке, которая возникла при выполнении последней команды HTTP. Если команда была выполнена без ошибок, то возвращает пустую строку "".

HTTP_RESPONSE$ ()
возвращает ответ сервера на последнюю команду HTTP. Если сервер ничего не ответил, то возвращает пустую строку "".
Пример:
HTTP "posttestserver.com" POST "Help me!"
PRINT HTTP_RESPONSE$()

User avatar
Mr. Kibernetik
Site Admin
Posts: 4782
Joined: Mon Nov 19, 2012 10:16 pm
My devices: iPhone, iPad, MacBook
Location: Russia
Flag: Russia

Re: 2.8 версия

Post by Mr. Kibernetik »

Будет добавлен объект "браузер" и с ним команды и функции:

BROWSER n$ DELETE
удаляет браузер [n$].

BROWSER n$ URL a$ AT x,y SIZE w,h
создает браузер с именем [n$] в точке [x,y] с шириной [w], высотой [h] и загружает веб-страницу с URL [a$]. Параметр URL не обязателен.
Пример:
BROWSER "n" URL "kibernetik.pro" AT 0,0 SIZE SCREEN_WIDTH(),SCREEN_HEIGHT()

BROWSER n$ SET TEXT t$ URL a$
загружает содержимое веб-страницы в браузер [n$] из строки [t$]. Параметр URL не обязателен, он используется для указания URL веб-страницы если ее содержимое зависит от адреса.

BROWSER n$ SET URL a$
загружает веб-страницу с URL [a$] в браузер [n$].

BROWSER_TEXT$ (n$, t$)
возвращает содержимое текущей веб-страницы в браузере [n$], используя строку JavaScript [t$].
Пример:
BROWSER "n" URL "apple.com" AT 0,0 SIZE 0,0
PRINT "URL: " & BROWSER_TEXT$("n", "document.baseURI")
PRINT "Number of images: " & BROWSER_TEXT$("n", "document.images.length")
PRINT "First image: " & BROWSER_TEXT$("n", "document.images[0].src")

Post Reply