POS

構文
POS( 探す文字, 探される文字列, [n個目] )
引数
探す文字
探したい文字列
探される文字列
探される文字列
n個目
nを指定するとn個目の文字位置を返す(マイナス値で指定すると後ろからサーチ)
戻値

見つかった位置 (1から)

(見つからなければゼロを返す)

(大文字,小文字の区別はしません)

※ANSI(バイト)処理の場合は POSB

プログラム実行例

無線LANのインターフェイス情報を取得

HASHTBL LAN str = SPLIT(DOSCMD("netsh wlan show interface"), "<#CR>") FOR n = 0 TO UBound(str) IFB POS(":", str[n]) THEN arr = SPLIT(str[n], ":") LAN[TRIM(arr[0])] = TRIM(arr[1]) ENDIF NEXT DIM items[] = "名前", "説明", "GUID", "物理アドレス", "状態", + _ "SSID", "BSSID", "ネットワークの種類", "無線の種類", "認証", + _ "暗号", "接続モード", "チャネル", "受信速度 (Mbps)", "送信速度 (Mbps)", + _ "シグナル", "プロファイル", "ホストされたネットワークの状態" FOR item IN items PRINT item + ":" + LAN[item] NEXT ////////////////////////////////////////////////// // 【引数】 // 配列 : 上限値を求める配列 // 【戻値】 // 配列の上限値 ////////////////////////////////////////////////// FUNCTION UBound(array[]) RESULT = RESIZE(array) FEND
結果
名前:ワイヤレス ネットワーク接続
説明:Intel(R) WiFi Link 1000 BGN
GUID:***
物理アドレス:74
状態:接続されました
SSID:***
BSSID:18
ネットワークの種類:インフラストラクチャ
無線の種類:802.11n
認証:WPA2-パーソナル
暗号:CCMP
接続モード:自動接続
チャネル:10
受信速度 (Mbps):72
送信速度 (Mbps):72
シグナル:80%
プロファイル:***
ホストされたネットワークの状態:利用不可

ユーザー名を取得

HASHTBL ENV str = SPLIT(DOSCMD("SET"), "<#CR>") FOR n = 0 TO UBound(str) IFB POS("=", str[n]) THEN arr = SPLIT(str[n], "=") ENV[TRIM(arr[0])] = TRIM(arr[1]) ENDIF NEXT PRINT ENV["USERNAME"] ////////////////////////////////////////////////// // 【引数】 // 配列 : 上限値を求める配列 // 【戻値】 // 配列の上限値 ////////////////////////////////////////////////// FUNCTION UBound(array[]) RESULT = RESIZE(array) FEND

デフォルトプリンターを取得

CONST ssfPRINTERS = 4 DIM Shell = CREATEOLEOBJ("Shell.Application") DIM Folder = Shell.NameSpace(ssfPRINTERS) DIM FolderItems = Folder.Items HASHTBL iColumn FOR n = 0 TO 350 iColumn[Folder.GetDetailsOf(EMPTYPARAM, n)] = n NEXT FOR n = 0 TO FolderItems.Count - 1 DIM FolderItem = FolderItems.Item(n) DIM PrinterName = Folder.GetDetailsOf(FolderItem, iColumn["名前"]) FOR i = 0 TO FolderItem.Verbs.Count - 1 IF POS("通常使うプリンターに設定", FolderItem.Verbs.Item(i).Name) <> 0 THEN CONTINUE 2 NEXT PRINT PrinterName BREAK NEXT
結果
Brother DCP-J963N Printer

この記事は役に立ちましたか?
役に立った 役に立たなかった