2015-03-20 7 views
1

У меня наконец-то было время, чтобы начать играть с Haxe, я нахожу это отличной концепцией, но у меня возникают проблемы с попыткой определить, как я буду получать информацию о текущем имени пользователя системы или «специальной папке» "местоположения.Получить стандартную информацию о пользователе в Haxe

В моем случае, домашняя папка пользователя, папка документов или папка обновления. Мой целевой язык - это Java, а возможно и более поздний C# ... Но я не нашел реального способа напрямую запросить систему для этой информации. Все, что я нашел до сих пор, заключается в том, как запрашивать переменные окружения ... У кого тонна изменчивости.

ответ

1

Haxe std lib не предоставляет такую ​​специфическую функцию. Однако это не мешает нам использовать целевые API.

#if java 
import java.lang.System; 
#elseif cs 
import cs.system.Environment; 
import cs.system.Environment.Environment_SpecialFolder; 
#end 
class Test { 
    static function main() { 
     #if java 
      //http://docs.oracle.com/javase/6/docs/api/java/lang/System.html#getProperties%28%29 
      trace(System.getProperty("user.home")); //Test.hx:11: C:\Users\Andy 
     #elseif cs 
      //https://msdn.microsoft.com/en-us/library/system.environment.specialfolder 
      trace(Environment.GetFolderPath(Environment_SpecialFolder.UserProfile)); //Test.hx:14: C:\Users\Andy 
     #end 
    } 
} 

build.hxml:

-main Test 
-java bin 
-cmd java -jar bin/Test.jar 

--next 

-main Test 
-cs bin 
# Environment_SpecialFolder.UserProfile is available since .net 4.0 
-D net-ver=40 
-cmd bin\bin\Test.exe 
+0

я боялся. Так много для надежд. Мой друг вернулся с тем же результатом. Я правильно ответил на ваш ответ. – grmartin