FreeBasic
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.

функция Cast

Участников: 3

Перейти вниз

функция Cast Empty функция Cast

Сообщение  Eric-S Вт Дек 30, 2008 12:49 am

Что делает функция cast()?

Вот попалась она мне в примере, а я не доганяю.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 40
Откуда : Россия, Санкт-Петербург

http://eric50.narod.ru

Вернуться к началу Перейти вниз

функция Cast Empty Re: функция Cast

Сообщение  mishana Вт Дек 30, 2008 8:43 am

с справке, вроде ж все описано. Наскоко я понял, cast преобразует число(переменную) в заданый тип. Например число у тебя integer, а функция переделывает его в single или byte.

cast (ТипДанныхвКоторыйНадоПреобразовать, Число) as ВыходнойТипЗаданыйПервымАргументом

кажись так. Smile

mishana

Сообщения : 8
Дата регистрации : 2008-11-09
Возраст : 38
Откуда : Україна, Шепетівка

Вернуться к началу Перейти вниз

функция Cast Empty Re: функция Cast

Сообщение  tux Вт Дек 30, 2008 9:21 am

Несовсем. Есть такая структура как union, через которую можно сделать так:
Код:

type ttBytes
  var1 as byte
  var2 as byte
  var3 as byte
  var4 as byte
end type

dim tIP as ttBytes
tIP.var1=192
tIP.var2=168
tIP.var3=1
tIP.var4=50

sub sPrintIP(byval pIP as integer)
  print pIP
end sub

' Чтобы преобразовать его в integer мона сделать так

union uuIntByt
  pInt as integer
  tBytes as ttBytes
end union

' пардон, ели че тут напутаю, пишу по памяти
dim uIntIP as uuIntByt
uIntIP.tBytes=tIP 'если не ошибаюсь так делать мона (ну ет ща не важно)
sPrintIP uIntIP.pInt

' А можно проще (без объединения)
sPrintIP cast(integer, tIP)
Вот только почемуто она у мня работает только при передачи в функцию, а при обычном присваивании ругается...
tux
tux

Сообщения : 365
Дата регистрации : 2008-04-06
Возраст : 36
Откуда : Сибирь

http://tux.nsk.ru/

Вернуться к началу Перейти вниз

функция Cast Empty Re: функция Cast

Сообщение  Eric-S Вт Дек 30, 2008 9:35 am

Написано-написано. Если не заметили, то по английский написано.

Tux спасибо. Я понял.
У меня кстати присваивание работает.
oneByte = cast( Ubyte, oneWCharCode )
Вероятно тип данных должен быть соответствующий.

А вообще-то я раньше такое делал напрямую.
oneByte = oneWCharCode
Причём тоже прокатывало.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 40
Откуда : Россия, Санкт-Петербург

http://eric50.narod.ru

Вернуться к началу Перейти вниз

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения