|
18.02.2010, 14:07
|
#706
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
А как содержимое банка записать в файл?
|
(Offline)
|
|
18.02.2010, 14:36
|
#707
|
Кодер "win" ЭВМ
Регистрация: 10.11.2009
Адрес: ЖуковSKY
Сообщений: 194
Написано 77 полезных сообщений (для 155 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
А как содержимое банка записать в файл?
|
Почитай вот эту полезную статейку:
http://blitzetc.blitzmax.ru/index.ph...online-updater
Там будет упоминание о банках и запись их в поток\файл
__________________
Жизнь игра, задумка дурацкая но графика ...
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо BlackOut за это полезное сообщение:
|
|
18.02.2010, 14:59
|
#708
|
Бывалый
Регистрация: 17.05.2009
Адрес: Днепропетровск
Сообщений: 672
Написано 180 полезных сообщений (для 428 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
подскажите ссылку на булке. Помню была тема где чел соеденял 3д объекты лайнами.
|
(Offline)
|
|
19.02.2010, 08:18
|
#709
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Сообщение от BlackOut
|
Ну прочитал и все про что я там понял про банки я в хелпе видел...
У меня почему при попытке скинуть банк в файл вылазит ошибка, что банк не найден. Банк я создавал в функции и добавил его в глобал, но все равно не находит.
|
(Offline)
|
|
19.02.2010, 09:28
|
#710
|
Дэвелопер
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений (для 886 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Nex, посмотри пример ниже, может в нём то, что тебе надо.
Local size = 20
Local bank = CreateBank (size) ;создаём банк
Local offset = 0
;записываем данные в банк
For k=1 To size/2
PokeShort (bank, offset, Rand (0,30000))
offset = offset + 2
Next
;открываем файл для записи данных
Local file = WriteFile ("data.txt")
WriteLine (file, "bank data")
WriteBytes (bank, file, 0, size) ;записываем из банка в файл
;закрываем файл
CloseFile (file)
End
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
19.02.2010, 10:05
|
#711
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Сори, все разобрался. В одной строчке не много напутал.
|
(Offline)
|
|
20.02.2010, 17:32
|
#712
|
Дэвелопер
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений (для 1,985 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Считываю из файла TotalEdges и TotalVertex, и задаю по этим величинам массивы в типе. Тут компилятор заявляет мне "blitz array sizes must be a constant". Ну я понял намек, поменял на прочтение из файла Const TotalEdges и Const TotalVertex. Опа, опять: Expression must be a constant. Хотелось бы узнать что делать с константами которые не хотят принимать значение переменных, либо как задать размер массива в типе переменной. При брутальном варианте а-ля "Тупо задать размер массива" все работает, но мне нужен именно размер взятый из файла.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
20.02.2010, 18:07
|
#713
|
ПроЭктировщик
Регистрация: 04.08.2007
Сообщений: 192
Написано 44 полезных сообщений (для 58 пользователей)
|
Re: Вопрос-Ответ (для новичков)
В блице нет массивов переменной длинны. Размер массива задается при компиляции и не может быть изменен во время выполнения программы.
Можешь задать с запасом, если есть лишняя память. Или использовать типы.
|
(Offline)
|
|
20.02.2010, 18:26
|
#714
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
dim !
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
20.02.2010, 19:05
|
#715
|
Дэвелопер
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений (для 1,985 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Спасибо за совершенно бесполезные ответы
Мне нужно чтобы для уровня был массив длины x. Массив этот задан в типе, и поэтому идея вставить тип в тип - незачет. Вот таким куском кода я инициализирую этот массив
mapfile=ReadFile("mapfile.wp")
TotalVertex=Int(Readln(mapfile))
Type EnemyTank
Field адын
Field два
....
Field n
Field MASSIVKOTORIINERABOTAET![TotalVertex]
End Type
Тут компилятор заявляет мне "blitz array sizes must be a constant". Тогда я перед TotalVertex=Int(Readln(mapfile)) вставляю Const и получаю ошибку Expression must be a constant.
Мне совершенно не подходит dim, поскольку мне нужен ОТДЕЛЬНЫЙ МАССИВ под каждый элемент типа. Прошу мне помочь найти возможность создать массив длины x, в типе.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
20.02.2010, 19:33
|
#716
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
локальный массив должен быть четко задан в начале программы числом, иначе юзай глобальный массив dim.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо H@NON за это полезное сообщение:
|
|
20.02.2010, 20:00
|
#717
|
Дэвелопер
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений (для 1,985 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Чтото я никак не пойму, мне что так делать:
Readline(mapfile,TotalVertex)
Select TotalVertex
Case 1
Const konstant=1
Case 2
Const konstant=2
Должен же быть какой-то выход, врятли блиц делали через жопу(правда начинаю в этому сомневатся)
|
(Offline)
|
|
20.02.2010, 20:16
|
#718
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
А так сделать не судьба?
Type EnemyTank
Field адын
Field два
....
Field n
Field MASSIVKOTORIINERABOTAET![2147483647], TotalVertex
End Type
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
20.02.2010, 20:50
|
#719
|
Дэвелопер
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений (для 1,985 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Эт ты жирно. Ну так и быть, зарезервирую лишних слотов сколько положено, но вопрос все ещё открыт
|
(Offline)
|
|
20.02.2010, 22:54
|
#720
|
Оператор ЭВМ
Регистрация: 13.01.2010
Сообщений: 35
Написано 3 полезных сообщений (для 4 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Хм, у меня в одном коде считывалась переменная StCount% а потом после считывания из файла Dim TStrings(StCount), ну а потом забивал массив строками. Даже сейчас пашет без проблем версия блица 1.103. Попробуй!
пример моего кода
;чтение файла конфига в массив
flin=ReadFile("config.cfg")
StCount%=ReadInt(flin)
Dim TStrings(StCount%-1)
For i=0 To StCount%-1
TStrings(i)=ReadString(flin)
Next
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:50.
|