TYPE - для чего?

Предыдущая тема Следующая тема Перейти вниз

TYPE - для чего?

Сообщение  Gena в Сб Ноя 08, 2008 4:46 pm

Я довольно эфемерно представляю назначение оператора Type. Расскажите пожалуста исполняемые им функции. И приведите примеры, плиз. Особенно меня интересуют операции с переменными, которым присвоен определённый тип. Заранее спасибо.

Gena

Сообщения : 182
Дата регистрации : 2008-11-05
Возраст : 24
Откуда : Москва

Посмотреть профиль

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

Re: TYPE - для чего?

Сообщение  tux в Сб Ноя 08, 2008 8:34 pm

такс... приступим
начнем с примерчика
Код:

type ttMyType as string
dim pStr as ttMyType
pStr="hi"
print pStr
Ну както так, а теперь подробней.
У FB существует несколько типов переменных (integer, byte, string и пр), однако иногда их недостаточно и требуется создавать свои. Оператор type какраз и позволяет сделать, те в первой строчке мы создали новый тип переменной ttMyType, структуру его мы сделали из типа string, следовательно мы получили тип подобный string-у. Реально практической пользы от етого почти нет, поетому обычно его используют немного подругому:
Код:
type ttMyType
  pInt as byte
  pStr as string
end type
теперь наш тип состоит из нескольких элементов, создаем переменную такова типа
Код:
dim tMyVar as ttMyType
теперь мона обращаться к переменным так:
Код:
tMyVar.pInt=50
tMyVar.pStr="Hello"
print tMyVar.pStr
теперь зачем ето нужно...
Обычно используется для группировки свойств каких либо элементов программы, иногда подобные структуры называют элементом ООП. На практике используют обычно для передачи параметров в функции. Допустим надо передать многочисленные свойства, и для того чтобы не писать передают одной переменной типа структуры, которая и содержит все. Но ето пол беды, при желании моно и описать каждый в отдельности, но как мы знаем, функция может возвращать только одну переменною, вот тут то и удобно передавать все разом (правда можно выкрутиться через передачу параметров по ссылке, но ето уже другая история) Ну и примерчик.
Код:
type ttMyType
  pInt as byte
  pStr as string
end type

function fGetString() as ttMyType
  dim tTmp as ttMyType
  tTmp.pStr="qwerty"
  tTmp.pInt=len(tTmp.pStr)
function=tTmp
end function

dim tMyVar as ttMyType
tMyVar=fGetString
print tMyVar.pStr, tMyVar.pInt
вооот...
avatar
tux

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

Посмотреть профиль http://tux.nsk.ru/

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

Re: TYPE - для чего?

Сообщение  Gena в Сб Ноя 08, 2008 8:45 pm

Вот спасибо, чел! вот удружил! То-то раньше в играх я писал ZiznMonstra(kolvo),BronyaMоnstrа(kolvo) и т.д. а всё было так просто =) =) =)

Gena

Сообщения : 182
Дата регистрации : 2008-11-05
Возраст : 24
Откуда : Москва

Посмотреть профиль

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

Re: TYPE - для чего?

Сообщение  Спонсируемый контент


Спонсируемый контент


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

Предыдущая тема Следующая тема Вернуться к началу


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