|
05.08.2013, 02:16
|
#241
|
Чудо-кот
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений (для 1,471 пользователей)
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Срочно понадобился простейший HTTP Get.
Это и это не работает, больше ничего не нагуглил.
Пожалуйста, скиньте, если у кого есть.
|
(Offline)
|
|
05.08.2013, 04:37
|
#242
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений (для 6,853 пользователей)
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Метод в лоб. Не везде прокатит - веб сервер может дропнуть соединение из-за отсутствия юзер агента и прочих ненужных заголовков.
Local lines:String = LoadString("http::forum.boolean.name")
Print lines
Метод для бацек
Global HttpHost:String = "forum.boolean.name" ' Именно хост. Без всяких там http и указания пути
Global HttpPort:Int = 80 ' Ну тут понятно
Global HttpGet:String = "/" ' Собсно гет запрос
'# Соединяемся
Local sock:TSocket = CreateTCPSocket()
If Not sock.Connect(HostIp(HttpHost), HttpPort) Then
RuntimeError("OH SHI~~!") ' хуИта
EndIf
Local stream:TSocketStream = CreateSocketStream(sock)
' # Шлём
WriteLine(stream, "GET /" + HttpGet + " HTTP/1.0~nHost: " + httpHost + "~nUser-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0~n~n")
' # Принимаем ответ
Local buff:String
While Not Eof(stream)
buff:+ReadLine(stream) + "~n"
Wend
' # Открыл? Закрой!
sock.Close()
stream.Close()
'# Ну и чо там у нас
Print buff
Ток надо ещё будет заголовки отпилить. Ориентируйся на первую пустую строку.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
01.03.2014, 11:37
|
#243
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Как юзать шрифты в БлитзМаксе?
LoadFont есть, но это как вспомогательная функция. Сам шрифт это как я понял модуль brl.freetypefont?
Загружаю свой шрифт, вывожу текст и возникают странные вещи.
Выводим текст из переменной и с кириллицей все "ок". Выводим текст из файла и с кириллицей борода - каракули в стиле ansi юникода. При использовании utf-8 тоже самое только каракули другие. При этом текст из файла в дебаге в нормальной кодировке.
Ради интереса скидываю русскоязычный текст из переменной в файл и в файле оказываются вообще непонятные символы. Текст "Автоматическая дверь" превращается в "2B><0B8G5A:0O 425@L".
Так же с файловой системой лажа какая то. Хочу открыть директорию и получить список файлов. ReadDir (CurrentDir ()) возвращает хендл директории, но NextFile () уже ничего не возвращает.
В общем как быть, как жить? Подскажите
|
(Offline)
|
|
01.03.2014, 16:52
|
#244
|
Дэвелопер
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений (для 886 пользователей)
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
1. Шрифт: подключён ли нужный модуль?
Import brl.freetypefont
Использование:
Global fontText:TImageFont = LoadImageFont("data\fnt\fontText.ttf", 13)
SetImageFont(fontText)
2. Текст: есть функции LoadText и SaveText. Просто сохраняй файлы с русскими буквами в utf-8, тогда LoadText прочитает нормально русский.
Требуется
Import brl.textstream
3. Файлы: модули подключены?
Import brl.stream
Import brl.filesystem
|
(Offline)
|
|
02.03.2014, 09:35
|
#245
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Сообщение от Жека
1. Шрифт: подключён ли нужный модуль?
Import brl.freetypefont
Использование:
Global fontText:TImageFont = LoadImageFont("data\fnt\fontText.ttf", 13)
SetImageFont(fontText)
2. Текст: есть функции LoadText и SaveText. Просто сохраняй файлы с русскими буквами в utf-8, тогда LoadText прочитает нормально русский.
Требуется
Import brl.textstream
3. Файлы: модули подключены?
Import brl.stream
Import brl.filesystem
|
Все нужные модули подключены. Файлы в директории все равно не читает.
LoadText ( url:Object)
Как это понимать? Почему url не String или TStream? И что передавать в этот параметр?
надо наверно на манки переходить...
|
(Offline)
|
|
03.03.2014, 07:54
|
#246
|
Дэвелопер
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений (для 886 пользователей)
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
>> Все нужные модули подключены. Файлы в директории все равно не читает.
Путь содержит русские символы? Если да то увы, с русскими не пашет.
>> LoadText (url:Object)
Local text$ = LoadText("data.txt")
Ещё на всякий случай: Если у тебя задумка читать из файла названия других файлов и открывать их, то пригодится TRIM:
Local text:String = LoadText("data.txt")
Local arr:String[] = text.Split("~r~n")
For Local k:Int = 0 Until arr.Length
Local s:String = Trim(arr[k])
Local file:TStream = ReadFile(s)
'
'
CloseFile(file)
Next
>> надо наверно на манки переходить...
там с файлами особо ничего не поделаешь, нет таких функций.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
04.03.2014, 15:26
|
#247
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Сообщение от Жека
Путь содержит русские символы? Если да то увы, с русскими не пашет.
|
Путь из английских символов.
Вот код из хелпа:
' readdir.bmx
dir = ReadDir("C:")
If Not dir RuntimeError "failed to read current directory"
Repeat
t:String = NextFile(dir)
DebugLog t
If t="" Exit
If t="." Or t=".." Continue
Forever
CloseDir dir
Возвращает только хенлд директории и все. Цикл на первом же проходе прекращается. t ничему не равно. Пробовал даже запускать с админ правами.
Сообщение от Жека
Ещё на всякий случай: Если у тебя задумка читать из файла названия других файлов и открывать их, то пригодится TRIM:
|
Из файла считываются путь до картинки объекта и описание предмета (Аптечка, Фонарик и тд.)
Обидно, что потратил много времени на написание парсера и теперь надо все переделывать либо ставить кучу костылей и потом об них же в будущем спотыкаться...
|
(Offline)
|
|
05.03.2014, 06:32
|
#248
|
Дэвелопер
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений (для 886 пользователей)
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Да не должно костылей быть с файлами. У тебя БМакс новый? (хз может в каком-то билде была проблема)
1. Попробуй закомментировать подключение модулей, чтобы по дефолту подключались все, вдруг забыл какой-то.
2. Какую конкретно директорию ты пытаешься прочитать? Попробуй читать директорию из другого раздела диска, не из системного.
|
(Offline)
|
|
05.03.2014, 15:45
|
#249
|
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
1) Попробуй LoadDir()
2) FreeTypeFont - в топку. Есть мое решение шрифтов, более быстрое и с большими возможностями ( ищи в разделе "модули" )
|
|
|
12.05.2014, 05:07
|
#250
|
Мастер
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений (для 504 пользователей)
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
не актуально - проблема решена: http://forum.boolean.name/showthread...488#post280488
но архив у кого есть - можете передать?
ни у кого не осталось? PhysX архив примеров для BMax?
BMax examples and files: http://files.swargo.com/render/BMaxExemples.rar
нужно поглядеть на функцию (пример использования):
pxClothGetNormals (Cloth %, nbank *) - fills bank nbank with normals of Cloth vertices. It is used for an update of Cloth in BMax. See example!
Последний раз редактировалось LLI.T.A.L.K.E.R., 12.05.2014 в 07:50.
|
(Offline)
|
|
21.10.2014, 15:57
|
#251
|
AnyKey`щик
Регистрация: 21.10.2014
Сообщений: 2
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Не работают битовые операции как в Blitz3D.
Например: Print ($01 And $ff) = 1 (в Blitz3D)
в BM Print ($01 And $ff) = 255
Тут другие команды работы с битами?
Подскажите кто знает.
|
(Offline)
|
|
21.10.2014, 16:01
|
#252
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений (для 6,853 пользователей)
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Сообщение от Code013
Не работают битовые операции как в Blitz3D.
Например: Print ($01 And $ff) = 1 (в Blitz3D)
в BM Print ($01 And $ff) = 255
Тут другие команды работы с битами?
Подскажите кто знает.
|
And = &
Or = |
Xor = ~
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
21.10.2014, 16:06
|
#253
|
AnyKey`щик
Регистрация: 21.10.2014
Сообщений: 2
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Спасибо Randomize!
|
(Offline)
|
|
18.11.2014, 20:51
|
#254
|
Нуждающийся
Регистрация: 18.06.2009
Сообщений: 51
Написано одно полезное сообщение
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Всем привет. 2 года назад изучал Blitz3D и с сетью проблем не возникало.Сейчас решил пощупать BlitzMax и не как не разберусь с сетью.
Помогити,напишите простой пример сервера и клиента с коментариями,что бы я смог понять от чего отталкиваться.
пример: запущен сервер и клиент.Клиент говорит серверу что хочет кинуть игральный кубик.Сервер принемает запрос на бросание кубика и бросает его,а результат отправляет клиенту.
Весь форум прочесал но точного понятия что к чему не нашел.
Буду очень блогодарен.
|
(Offline)
|
|
18.11.2014, 23:33
|
#255
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Вопрос-Ответ (для новичков BlitzMax)
Код за тебя я думаю мало кто писать будет.
А вот помочь с конкретными проблемами - думаю сможем.
Главное начни с простого, сделай два новых приложения, сервер и клиент (пустых), и создай сокет на сервере по порту, и соедени клиент с сервером.
Далее, подумай как логически поддерживать несколько клиентов. Это чисто логика.
Затем уже думай на счет игрового цикла на сервере и клиенте и синхронизации данных.
Начни с простого, по чуток пиши, не спеши. Как будут проблемы, попробуй 5 раз по разному, если не получилось, иди выпей чаю, и снова по разному попробуй, 10 в этот раз. Ну если реально совсем ничего не выходит. То либо стоит бросить это дело (слабый вариант), либо попробовать еще 20 раз, и уж потом постить на форум конкретно сформулированный вопрос о том что и как не выходит, с конкретным кодом (не 100500 строк, а минимум, меньше - лучше), и описанием конкретной проблемы, что пробовал для решения и где думаешь проблема.
По факту скажу, если ты начнешь следовать подобному методу в разработке как начинающий, то у тебя и вопросов по сути возникать не будет, т.к. ты просто будешь сам находить решение, получать опыт и т.п.
Но если ты не будешь пытаться сам, то да, будут вопросы типа: "сделайте мне игру", или "сделайте мою домашнюю работу".
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 12:04.
|