READ

Variable = READ [ # Stream ] AS Datatype Variable = READ [ # Stream , ] Length

Первый синтаксис читает Поток Stream как двоичные данные, чей тип определен аргументом Datatype. Двоичное представление - однажды использованная ЗАПИСЬ инструкцией.

Только исконные datatypes и Variants этих datatypes могут быть прочитаны этот путь: Boolean, Byte, Short, Integer, Long, Single, Float, Date and String.

Второй синтаксис читает форме множество Stream потока байтов определенных Длиной аргумента, и возвратом как строка.

Если поток не определен, тогда стандартный ввод использован.

Что может быть прочитано из потока?

Если содержание потока не может быть интерпретировано, ошибка поднята.

Эта инструкция использует байтовый порядок потока, чтобы читать данные.

What can be read from the stream?

READ может возвращать одно из следующего datatype: NULL, Boolean, Byte, Short, Integer, Long, Pointer, Single, Float, Date, String, Variant, any Array or Collection.

Если содержание потока не может быть интерпретировано, ошибка поднята.

Эта инструкция использует байтовый порядок потока , чтобы читать данные.

BEWARE!

WRITE #Stream, Expression writes the binary form of Expression in 2.0. In Gambas 3.0 it writes Expression as a string.

So you HAVE to check all your WRITE instructions when converting a Gambas project from 2.0 to 3.0, and specified AS Datatype when need.

By default, the compiler supports the old READ syntax, and the old WRITE syntax as it is compatible.

If you want to detect where you should rewrite your READ / WRITE syntax, you can compile your project by hand with the "--no-old-read-write-syntax" flag. Then the Length argument of WRITE becomes mandatory if the second syntax is used.

Using a Pointer as a is not possible anymore. Create a memory stream with the /wiki/lang/memory instruction instead.

Смотри также