forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=109)
-   -   Пути (http://forum.boolean.name/showthread.php?t=4254)

elmortem 26.08.2007 00:24

Пути
 
Назрел вопрос. Точнее несколько.
Существует ли в идеологии МакОсь понятие "Мои Документы"? И есть ли универсальная функция, возвращающая путь к "Моим Документам" в Винде и Маках? Естественно для текущего пользователя. Важна поддержка Висты.

Спасибо. :wallbash:

moka 26.08.2007 01:28

Re: Пути
 
Хм, в б3д была комманда GetEnv(...$) Нужно было только знать константу. Тут же, перерыл модули, не нашёл. :(

elmortem 26.08.2007 02:41

Re: Пути
 
Так значит в МакОси тоже есть спец.папка?

moka 26.08.2007 03:57

Re: Пути
 
elmortem, б3д на маках и линуксах не работает т.к. там д3д. А в бм огл - мультиплатформенно - и форточки и яблочки и пингвины :)

elmortem 26.08.2007 04:46

Re: Пути
 
Именно поэтому я пытаюсь заюзать Макс и именно поэтом пишу в этом подразделе.
Так есть кроссплатформенная функция определения пути к юзерским документам? ^__^

johnk 26.08.2007 08:34

Re: Пути
 
http://www.boolean.name/showthread.php?t=4355
А я старалсо :)

elmortem 26.08.2007 16:55

Re: Пути
 
JohnK
Нет там такой функции.
Под винд вопрос решается написанием дополнительного модуля (осталось только научить IDE замечать MinGW), но про Маки я вообще ничего не знаю, поэтому не смог сделать ничего подобного...

Есть варианты?

elmortem 28.08.2007 21:15

Re: Пути
 
Та-да-дааам! (:
Нашёл функцию getenv_:String(envvar:String), как минимум в винде работает как надо... У кого-нибудь есть под рукой МакОсь и Линукс чтобы затестить?
И Родина вас не забудет. (:

jimon 29.08.2007 01:29

Re: Пути
 
ну у меня ubuntu (линукс такой) с настроеным blitzmaxом есть :) кидай код ... там посмотрим

elmortem 29.08.2007 01:55

Re: Пути
 
Убунту знаю, даже трогал её пару раз за разное. (:
По возможности резульататы теста выложи сюда.
Вот код:
Код:

' getenvtest.bmx

SuperStrict

?Win32
Framework brl.D3D7Max2D
?MacOs
Framework brl.GLMax2D
?Linux
Framework brl.GLMax2D
?

Import brl.filesystem

Function _testgetenv(file:String)
        Local _logfile:TStream = OpenFile(file, False, True)
       
        _logfile.WriteLine("APPDATA = '"+getenv_("APPDATA")+"'")
        _logfile.WriteLine("OS = '"+getenv_("OS")+"'")
        _logfile.WriteLine("SYSTEMROOT = '"+getenv_("SYSTEMROOT")+"'")
        _logfile.WriteLine("NUMBER_OF_PROCESSORS = '"+getenv_("NUMBER_OF_PROCESSORS")+"'")
        _logfile.WriteLine("PROCESSOR_IDENTIFIER = '"+getenv_("PROCESSOR_IDENTIFIER")+"'")

        CloseFile(_logfile)
EndFunction

Graphics(800, 600, 0)

_testgetenv("getenv.txt")

End


jimon 30.08.2007 11:46

Re: Пути
 
вот так вот :
Цитата:

APPDATA = ''
OS = ''
SYSTEMROOT = ''
NUMBER_OF_PROCESSORS = ''
PROCESSOR_IDENTIFIER = ''
--------------
USERPROFILE = ''
HOME = '/home/jimon'
ps. и не надо в таких программах graphics писать ... все и без него работать будет
ps2. http://www.comptechdoc.org/os/linux/...vironment.html

elmortem 30.08.2007 12:18

Re: Пути
 
Ясно, значит нужно писать обёртку этой функии с подменой входящий значений в зависимости от ОС...
P.S. ок
P.S.2. Спасибо за инфу, будет полезна при написании обёртки.


Часовой пояс GMT +4, время: 13:42.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot