Запоминание переменных

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Запоминание переменных

Сообщение KPEATOP » 06.08.2008 (Ср) 12:19

У меня вот такая функция:

Function bessk0(X As Double)
Dim p1, p2, p3, p4, p5, p6, p7, Y

p1 = -0.57721566: p2 = 0.4227842: p3 = 0.23069756: p4 = 0.0348859: p5 = 0.00262698: p6 = 0.0001075: p7 = 0.0000074
.............
.............
End Function

То же самое на Фортране:
FUNCTION bessk0(x)
IMPLICIT DOUBLE PRECISION bessk0,x
DOUBLE PRECISION p1,p2,p3,p4,p5,p6,p7,y
SAVE p1,p2,p3,p4,p5,p6,p7
DATA p1,p2,p3,p4,p5,p6,p7/-0.57721566d0,0.42278420d0,0.23069756d0,
*0.3488590d-1,0.262698d-2,0.10750d-3,0.74d-5/
...........
............
END

Обратите внимание на строку Save p1, p2, p3, p4, p5, p6, p7. Я вычитал, что на Фортране, если к этой функции обратиться еще раз, Save запоминает присвоенные величины. Это очень ускоряет процесс выполнения программы. Я хотел узнать, есть ли в Visual Basic что-нибудь подобное?
Вечность пахнет нефтью

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.08.2008 (Ср) 12:23

Что именно?
Lasciate ogni speranza, voi ch'entrate.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 06.08.2008 (Ср) 13:02

KPEATOP
Если я правильно понял, то тебе нужен Static
Код: Выделить всё
Function bessk0(X As Double)
Static p1 As Double, p2 As Double, p3 As Double, p4 As Double, p5 As Double, p6 As Double, p7 As Double, Y  As Double

p1 = -0.57721566: p2 = 0.4227842: p3 = 0.23069756: p4 = 0.0348859: p5 = 0.00262698: p6 = 0.0001075: p7 = 0.0000074
.............
.............
End Function
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.08.2008 (Ср) 13:08

Нет.
Lasciate ogni speranza, voi ch'entrate.

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Сообщение KPEATOP » 06.08.2008 (Ср) 13:10

точно!!!!...как это я сразу не просек.....Static же сохраняет переменные.
Спасибо
Вечность пахнет нефтью

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Сообщение Proxy » 06.08.2008 (Ср) 13:16

Либо Static, либо объявляй их не в теле функции. И то и то сохранит значения переменных на период выполнения.
Follow the white rabbit.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 06.08.2008 (Ср) 14:01

А Const уже не катит?
Лучший способ понять что-то самому — объяснить это другому.

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Сообщение Proxy » 06.08.2008 (Ср) 18:34

если к этой функции обратиться еще раз, Save запоминает присвоенные величины. Это очень ускоряет процесс выполнения программы. Я хотел узнать, есть ли в Visual Basic что-нибудь подобное?

А Const уже не катит?

не катит как видишь. О чём просили - то и дал.
А насчёт примера: там видимо речь идёт о const.
Follow the white rabbit.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 59

    TopList