Page 1 of 1

2.8 версия

Posted: Tue Oct 15, 2013 5:58 am
by Mr. Kibernetik
Основной темой версии 2.8 будет сетевой доступ. Будет добавлен набор команд для передачи данных по сети.
Вы можете предлагать свои идеи и соображения здесь.

Re: 2.8 версия

Posted: Thu Oct 17, 2013 7:38 am
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] изменяется и становится равным количеству считанных байтов.

Re: 2.8 версия

Posted: Thu Oct 17, 2013 7:09 pm
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 влияет на эту команду.

Re: 2.8 версия

Posted: Fri Oct 18, 2013 6:52 am
by Mr. Kibernetik
Команда на удаление несуществующего файла или каталога не будет вызывать уведомление об ошибке.

Re: 2.8 версия

Posted: Mon Oct 21, 2013 4:17 pm
by Mr. Kibernetik
Будет добавлена новая функция:

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

Re: 2.8 версия

Posted: Thu Oct 24, 2013 8:47 am
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$()

Re: 2.8 версия

Posted: Mon Oct 28, 2013 7:45 pm
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")