|
20.09.2007, 16:11
|
#16
|
Знающий
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений (для 133 пользователей)
|
Re: Загрузка
Ты недочитал - (например как у визуальных языков).
Имеется ввиду таймер-прерывание. Ставишь ему интервал скажем 1000мс и его функция (в д. случае обновление статуса) вызывается независимо ни от каких процессов 1 раз в секунду, на блице таких нет, а жаль...
|
(Offline)
|
|
20.09.2007, 16:31
|
#17
|
Оператор ЭВМ
Регистрация: 16.09.2007
Сообщений: 22
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Загрузка
а что кто может кратко рассказать о программировании для двух потоков? (можем отступить от B3D, но тогда только пинципы, а то с семантикой языков бедновато)
|
(Offline)
|
|
20.09.2007, 16:54
|
#18
|
Знающий
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений (для 133 пользователей)
|
Re: Загрузка
Принципы просты - объектно ориентированное программирование
Если в блице программа идет от строчки к строчке, то в ооп делаются прерывания на какие-то события.
Блиц тоже частично ооп, но не так продвинут по этой части как допустим его коллега вижуал бэйсик.
Где-то даж тема была, что есть dll позоляющая грузить ресурсы отдельным потоком, но ограничений много и неудобств.
|
(Offline)
|
|
20.09.2007, 17:02
|
#19
|
Оператор ЭВМ
Регистрация: 16.09.2007
Сообщений: 22
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Загрузка
"в ооп делаются прерывания на какие-то события" сокраментальная для меня фраза, вот где мезаханизм то )) thnks
|
(Offline)
|
|
20.09.2007, 18:32
|
#20
|
Мастер
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений (для 252 пользователей)
|
Re: Загрузка
При чем здесь прерывания на какие-то события? Бмакс ООП язык, а Б3Д - не ООП. вот и всё.
|
(Offline)
|
|
20.09.2007, 18:35
|
#21
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: Загрузка
Noah, юзай goto !!
|
(Offline)
|
|
20.09.2007, 18:41
|
#22
|
Оператор ЭВМ
Регистрация: 16.09.2007
Сообщений: 22
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Загрузка
Кстати goto ) никогда не пользовал
Я о прнципиальной схеме выполнния кода:
не ООП - последовательное выполнение
ООП - есть контролирующая процесс оболочка реализцющая возможность прерываний
(на сколько понял; поправьте если что или отошлите к инфе раскрывающей этот вопрос)
|
(Offline)
|
|
20.09.2007, 18:48
|
#23
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: Загрузка
|
(Offline)
|
|
20.09.2007, 18:55
|
#24
|
|
Re: Загрузка
блин, "идиоты !"
возможность программы работать с несколькими потоками
ну скажите мне хоть одну вещь которая относится здесь К ООП ?!
блин, ваще ... в блице3д просто нету встроенных средств
управления мультипоточностью
а так мультипоточность не зависит от возможностей языка на прямую
что у меня :
в TGui запихан такой код :
Field LoadingCurrentState%
Field LoadingMaxState% = 130
Field LoadingCountStates% = 0
Field LoadingBarGui:TGuiProgressBar
Field LoadingImage:TResourceImage
Function LoadingBarInit()'draw first loading screen
SetClsColor 0,155,208
Cls
Flip 0
End Function
Method LoadingBar(StateValues% = 1)'work with loading screen
'if loading bar isnt ever created - please create them
If LoadingBarGui = Null Then
LoadingBarGui = TGuiProgressBar.Create(GraphicsWidth() / 2 - 100,GraphicsHeight() / 2 + 32,200,20)
End If
If LoadingImage = Null Then
LoadingImage = GetResImage("Menu_PleaseWaitLoading")
End If
'add states
LoadingCurrentState:+StateValues
'check if max states < current states .. them recalculate max states
If LoadingCurrentState > LoadingMaxState Then
LoadingMaxState = LoadingCurrentState
End If
'setup progress bar values
LoadingBarGui.SetValue(LoadingCurrentState,LoadingMaxState)
'update gui module
Gui.Update()
'draw loading screen
SetClsColor 0,155,208
Cls
DrawImage LoadingImage.Image(),GraphicsWidth() / 2,GraphicsHeight() / 2
Gui.Draw()
Flip
'If KeyHit(key_f6) Game.ScreenShot()
End Method
Method LoadingBarClose() 'close loading bar
'free loading bar
LoadingBarGui.Free()
LoadingImage = Null
'if we need to calculate this shit - get fuck out message
If LoadingCountStates = 1 Then
RuntimeError "LoadingBar Maximum up to "+LoadingMaxState+" !!!"
End If
'clear screen
Cls
Flip 0
End Method
потом загрузка :
1) Инит екрана
2) создает ресур манагер
3) грузит ресурсы нужные для ядра
4) создает гуи
5) создает екран загрузки
6) все остальное
просто при каждой загрузке ресурса стоит вызов Gui.LoadingBar()
и все
|
|
|
20.09.2007, 19:29
|
#25
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Re: Загрузка
что то смахивает на флейм
__________________
|
(Offline)
|
|
21.09.2007, 01:07
|
#26
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Загрузка
ну блин, есть же либа для б3д - для мультиипоточности.
авоторы чо, зря ночами неспали разрабатывая сие чудо?
и уже в отдельной, выведенной в отдельной поток ф-ии пишеш чо те нада.
|
(Offline)
|
|
21.09.2007, 10:12
|
#27
|
Знающий
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений (для 133 пользователей)
|
Re: Загрузка
" При чем здесь прерывания на какие-то события? "
Как причем...? Привсем. Это главный принцип ооп. Есть событие - есть работа, нет - цпу простаивает.
В ооп все функции (окна, кнопки, поля ввода и .т.д.) явл. грубо говоря отдельными прогами (объектами) делящими между собой цпу и общие переменные, и вызываемые ТОЛЬКО по событию (нажатие кнопки, открытие сдрома, истечение интервала таймера).
Прерываение.. не имею ввиду int , и на самом-то деле ни каких параллельных потоков нет... просто время проца делится между всеми поочереди.
|
(Offline)
|
|
21.09.2007, 11:11
|
#28
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: Загрузка
to HolyDel, что за лыба ??
дай ссылу плиз !!
|
(Offline)
|
|
21.09.2007, 11:57
|
#29
|
Оператор ЭВМ
Регистрация: 16.09.2007
Сообщений: 22
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Загрузка
Хотя бы название
всёж не спроста у меня голова на плечах )
|
(Offline)
|
|
21.09.2007, 13:49
|
#30
|
Мастер
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений (для 252 пользователей)
|
Re: Загрузка
Сообщение от Damp
" При чем здесь прерывания на какие-то события? "
Как причем...? Привсем. Это главный принцип ооп. Есть событие - есть работа, нет - цпу простаивает.
|
Это не главный принцип ООП, да и не принцип ООП вовсе. Работу с таймерами и прерваниями можно сделать и "процедурно программируя". Почитай про ООП. Вот его основные принципы: инкапсуляция, наследование и полиморфизм. http://licrym.org/samouch/7/36/gl10/gl10_1.html
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:49.
|