Mac OS Xで短いユーザー名を取得する
日付 | 2010/12/28 |
---|---|
ID | 76222 (英語原文参照) |
バージョン | v11 |
プラットフォーム | Mac/Win |
Current machine ownerコマンドは, 4D 2004以前のバージョンでMac OS Xの短いユーザー名を返していました。4D v11 SQL以降では, マシンのカレントユーザーアカウントで設定されたフルネームが返されるようになりました。
短いユーザー名が必要であれば, ディレクトリパスから正規表現で切り出すことができます。
If (True) If (False) //************************************************************************* // // Current_Machine_User // // Purpose: To return the Mac OS X current users name. // Acquire the current users name from the directory path to the // Active 4D folder which is created by default on Mac OS at: // {Disk}:Users:Current user:Library:Preferences:4D // // $0 - TEXT - current users name // //************************************************************************* End if C_TEXT($MethodName_T) $MethodName_T:=Current method name //===================== Declare Variables ================================== //method_parameters_declarations C_TEXT($0) //------------------------------------------------------------------------ //method_wide_constants_declarations //------------------------------------------------------------------------ //local_variable_declarations C_LONGINT($From_L;$Len_L) C_TEXT($LookBk_T;$LookFwd_T;$RegExPat_T;$UserName_T) End if //====================== Initialize and Setup ================================ // The "Lookback" pattern // $LookBk_T:="(?<=Users:)" // The "Lookahead" pattern // $LookFwd_T:="(?=:Library)" // The Regex "Lookaround" pattern // \w matches any word character (alphanumeric & underscore). // \ escape char has to be escaped in 4D, hence \\. // $RegExPat_T:=$LookBk_T+"\\w+"+$LookFwd_T // Get the Active 4D Folder // $Path_T:=Get 4D folder(Active 4D Folder) //======================== Method Actions ================================== If (Match regex($RegExPat_T;$Path_T;1;$From_L;$Len_L)) $UserName_T:=Substring($Path_T;$From_L;$Len_L-1) End if //======================== Clean up and Exit ================================= $0:=$UserName_T