INPUT

インプットボックスを表示します。第一引数に表示するメッセージ、第二引数にデフォルト値、第三引数にアスタリスク表示にするかのBoolean値を指定します。

構文
  1. return = INPUT( 表示メッセージ, [デフォルト値, パスワードフラグ, X, Y] )
引数
表示メッセージ
インプットボックスに表示するメッセージ
デフォルト値
デフォルトの値 として表示
パスワードフラグ
TRUE にすると文字は全てアスタリスク表示 (デフォルト FALSE)
X, Y
表示位置(デフォルトは中央、-1, -1にて前回位置)
戻値

入力されたデータ(キャンセル時はEMPTY)

ファイルドロップによりファイル名の設定可(複数選択時はタブにて結合される)

  1. ANSI文字列(AnsiString)
  2. UNICODE文字列(UString)

プログラム実行例

パスワードを生成

パスワードを10個生成します。

結果は実行する度に変わります。

// 数値が入力されるまで繰り返す REPEAT res = INPUT("何桁のパスワード?") IF res = EMPTY THEN EXIT UNTIL CHKNUM(res) FOR num = 0 TO 10 DIM password = "" FOR n = 0 TO res // ランダムで1文字取得 SELECT RANDOM(3) // 数字 CASE 0 password = password + CHR(RANDOM(10) + 48) // アルファベット大文字 CASE 1 password = password + CHR(RANDOM(26) + 65) // アルファベット小文字 CASE 2 password = password + CHR(RANDOM(26) + 97) SELEND NEXT PRINT password NEXT
結果
D659nv9Z6Q1t1MXjXfPUMMe35r012a639
XsQg7139wsUWF2q764f9AiopT451aULBC
A8a2t7Iq0Tl7Ij3W4p5RmQ97ElwvkWeG4
u8RTBF1aDt365Y436XC09Uo5X9kWHc4dS
AeCg2uNoUrCR9FsjYHtdhHg2bB6S92NhY
3eR4l89x7WGf1SZTlpDcIbBc25IbEgk4a
nuT94OR530poRBt9s0wF1b275qAfGDOHa
KTRa7wmEHjab2MopiT8u3aPwI6ntWmMt5
Bz626hGf9GS6yeZQyHrIAbEk1N0fs1ZL5
6Nze7rld3Rmd0tU0Y6kgP1AUwab0bjQlR
11C0x8862eOP1AVjVlXz7rEl4nKkR91Hf

デスクトップにフォルダを作成

CONST ssfDesktop = 0 DIM Shell = CREATEOLEOBJ("Shell.Application") DIM Folder = Shell.NameSpace(ssfDesktop) DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject") WITH FSO .CreateFolder(.BuildPath(Folder.Self.Path, INPUT("デスクトップにフォルダを作成します。<#CR>ファイル名を入力してください。"))) ENDWITH

パス文字列を生成します

CONST ssfDesktop = 0 DIM Shell = CREATEOLEOBJ("Shell.Application") DIM Folder = Shell.NameSpace(ssfDesktop) DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject") PRINT FSO.BuildPath(Folder.Self.Path, INPUT("フォルダ名もしくはファイル名を入力してください。"))

指定したフォルダが存在するか

DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject") DIM FolderName = INPUT("フォルダ名を入力してください。") IFB FSO.FolderExists(FolderName) THEN MSGBOX("「" + FolderName + "」フォルダは存在します。") ELSE MSGBOX("「" + FolderName + "」フォルダは存在しません。") ENDIF

指定したファイルが存在するか

DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject") DIM path = INPUT("ファイルパスを入力してください。") IFB FSO.FileExists(path) = TRUE THEN MSGBOX("「" + path + "」は存在します。") ELSE MSGBOX("「" + path + "」は存在しませn。") ENDIF

Googleでの検索結果を取得

DIM IE = CREATEOLEOBJ("InternetExplorer.Application") IE.Visible = TRUE IE.Navigate("http://google.com") BusyWait(IE) IESETDATA(IE, INPUT("検索ワードを入力"), "q") IESETDATA(IE, TRUE, "btnK") BusyWait(IE) DIM elements = IE.document.getElementsByClassName("rc") FOR element IN elements PRINT element.getElementsByClassName("LC20lb").Item(0).textContent PRINT element.getElementsByClassName("s").Item(0).textContent PRINT "----------" NEXT IE.Quit ////////////////////////////////////////////////// // 【引数】 // IE : IEオブジェクト // 【戻値】 // ////////////////////////////////////////////////// PROCEDURE BusyWait(IE) TRY SLEEP(0.500) REPEAT SLEEP(0.010) UNTIL !IE.Busy AND IE.readyState = 4 EXCEPT SLEEP(5.000) ENDTRY FEND

入力した文字列をUTF8でURLエンコードする

PRINT ENCODE(ENCODE(INPUT("エンコードする文字列を入力してください。"), CODE_UTF8), CODE_URL)

アラビア数字をローマ数字に変換

HASHTBL Roman Roman[1] = "I" Roman[2] = "II" Roman[3] = "III" Roman[4] = "IV" Roman[5] = "V" Roman[6] = "VI" Roman[7] = "VII" Roman[8] = "VIII" Roman[9] = "IX" Roman[10] = "X" Roman[40] = "XL" Roman[50] = "L" Roman[90] = "XC" Roman[100] = "C" Roman[400] = "CD" Roman[500] = "D" Roman[900] = "CM" Roman[1000] = "M" DIM arr[] = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000 DIM num = INPUT("アラビア数字を入力して下さい。") // 0以下4000以上の数字は無理 IF num <= 0 OR num >= 4000 THEN EXIT DIM res = "" n = UBound(arr) REPEAT SELECT TRUE CASE num / Roman[n, HASH_KEY] >= 1 res = res + Roman[n, HASH_VAL] num = num - Roman[n, HASH_KEY] DEFAULT n = n - 1 SELEND UNTIL num = 0 PRINT res ////////////////////////////////////////////////// // 【引数】 // 配列 : 上限値を求める配列 // 【戻値】 // 配列の上限値 ////////////////////////////////////////////////// FUNCTION UBound(array[]) RESULT = RESIZE(array) FEND

MSGBOXの種別の数値から表示されるボタンを取得

HASHTBL type type[BTN_YES] = "はい" type[BTN_NO] = "いいえ" type[BTN_OK] = "OK" type[BTN_CANCEL] = "キャンセル" type[BTN_ABORT] = "中止" type[BTN_RETRY] = "再試行" type[BTN_IGNORE] = "無視" DIM num = INPUT("数値を入力してください。") IF VAL(num) = ERR_VALUE THEN EXIT PRINT num PRINT "----------" FOR n = 0 TO 6 IF (num AND POWER(2, n)) <> 0 THEN PRINT type[POWER(2, n)] NEXT MSGBOX("以下のボタンが表示されます", num)
結果
22
----------
キャンセル
はい
中止

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