プロセルピナ
Top Internet
Mail
Private
Proxy
Capture
Device
Download Config
and
Words
Online
Help
Online
Home
[BACK]
Top > FileDownload > Macro > Ex: Command > InputForm

 
 Ex:InputFormコマンド
Download Top | Macro Top | Command | ExCommand  


 

書式


  Ex:InputForm: (Parameters)  

パラメータ :
outfile= : string, 結果を出力するファイル名
message= : string, 表示するメッセージ (optional)
title= : string, タイトル(フォームの上端に表示されるメッセージ) (optional)
picture= : string, 表示する画像のフルパス (optional)
waitSec= : int, 自動クローズまでの秒数(3~)、省略時は自動クローズしない (Optional)

dialog : flag-string, フォームをdialogモードで表示 (自動クローズ時のみ有効)
topmost : flag-string, フォームをtopmostモードで表示 (自動クローズ時のみ有効)
toplevel : flag-string, フォームをtoplevelモードで表示 (自動クローズ時のみ有効)
alone : flag-string, フォームを親フォームから切り離して表示 (自動クローズ時のみ有効)

inp1= : string, 入力項目1の項目名 (optional)
inp2= : string, 入力項目2の項目名 (optional)
inp3= : string, 入力項目3の項目名 (optional)

inp1.value= : string, 入力項目1のセレクタに設定する選択候補 (;;区切り) (optional)
inp2.value= : string, 入力項目2のセレクタに設定する選択候補 (;;区切り) (optional)
inp3.value= : string, 入力項目3のセレクタに設定する選択候補 (;;区切り) (optional)

inp1.type= : string, 入力項目1のタイプ(ファイル選択、フォルダ選択) (optional)
inp2.type= : string, 入力項目2のタイプ(ファイル選択、フォルダ選択) (optional)
inp3.type= : string, 入力項目3のタイプ(ファイル選択、フォルダ選択) (optional)

cBox= : string, チェックボックスの項目名 (optional)
cBox.value= : string, チェックボックス初期値、true または false の文字列で指定 (optional)

helppage= : string, [Help]リンクのクリックで表示するページ (optional)
form.width= : int, フォームの幅 (Optional)
form.height= : int, フォームの高さ (Optional)

 

機能


ユーザーが対話型で項目を入力・選択できるダイアログを開きます。
ファイルやフォルダの選択用に指定することもできます。

マクロを記述する場合、このコマンドの後に、 Ex:InputForm.Waitコマンド を記述し、ユーザーの操作を待たなければいけません。

picture= を指定して画像を表示する場合は 入力項目は inp1 の1つだけになります。
指定しない場合は inp1 inp2 inp3 の最大3項目を使用できます。

inp1=inp3= には、入力項目の項目名を指定します。
項目名を指定した項目のみが有効になります。 例えば、 inp1=inp3= のみを指定した場合は、 入力項目1と3が使用できるダイアログが開きます。この場合、入力項目2は表示されません。
ユーザーからの入力を必須にしたい項目は、項目名の先頭に  ! 記号 を付与します。 この先頭の  ! 記号 はダイアログ画面には表示されませんが、その項目は必須項目となり、 何も入力しないままダイアログを終了することはできなくなります。

各入力欄には選択候補を指定できます。 候補は ;; で区切ります。 例えば、inp1 の入力欄に AAA, BBB, CCC の3つの候補を設定する場合は、
  inp1.value="AAA;;BBB;;CCC"
と指定します。 この場合、inp1 の入力欄は、初期状態で AAA が設定されます。
選択候補からの選択のみ可にし、自由入力を禁止したい場合(SelectOnly)は先頭に
  SO☊
の3文字を付与してください。例えば、
  inp1.value="SO☊AAA;;BBB;;CCC"
のように記述します。

選択候補を指定して、かつ、初期状態を空白にしておきたい場合は先頭に区切り記号を置きます。 例えば、inp1 の入力欄に AAA, BBB, CCC の3つの候補を設定して、最初は空白にしておきたい場合は、
  inp1.value=";;AAA;;BBB;;CCC"
と指定します。
途中にある選択項目を初期状態の選択項目にしたい場合は、その項目に $$SELECTED: のプレフィクスを付与します。
例えば、BBB の項目を初期状態の選択済みにするには、
  inp1.value=";;AAA;;$$SELECTED:BBB;;CCC"
と指定します。

コマンドの結果は outfile= で指定したファイルに設定されます。
読み取りは、 Ex:InputForm.Waitコマンド で行います。 Ex:InputForm.Waitコマンドoutfile=パラメータ に、このコマンドのoutfile=パラメータで指定した値を設定すると、 グローバル文字列変数
  str["1.value"]
  str["2.value"]
  str["3.value"]
  str["check"]   (チェックボックス、1=チェック入、0=無し、-1=未使用)
に1~3の項目の設定結果が設定されます。
result.prefix= を指定していた場合は、"1.value" などの前にその文字列が設定されます。
例えば、 result.prefix="結果." を指定していた場合は、それぞれ、
  str["結果.1.value"]
  str["結果.2.value"]
  str["結果.3.value"]
  str["結果.check"]
になります。

コマンド実行結果は、 O:result= で指定した文字列変数に設定されます。
結果が OK: の3文字で始まる文字列の場合はコマンドは正常終了しています。 結果が NG: の3文字で始まる文字列の場合はコマンドは正しく終了していません。

ユーザーがこのコマンドで開いたダイアログを使用して選択処理を行っているときは、 既にコマンドは終了して O:result= は設定されています。 ダイアログでユーザーがキャンセルを選択したかどうかが O:result= で指定した変数に設定されるわけではないことに注意してください。
ユーザーがキャンセルしたかどうかは、 Ex:InputForm.Waitコマンド で取得します。

 

FTPのユーザ、パスワード入力で使用する例




【簡単な説明】
Ex:InputFormコマンドにより 入力フォームが開き、そのフォームに対してユーザーは inp1 にユーザー名を、 inp2 にパスワード を設定します。
Ex:InputForm.Waitコマンドのパラメータ waitSec=60 により、 マクロは60秒間 ユーザーの入力を待ちます。

Ex:InputFormコマンドとEx:InputForm.Waitコマンドは、 work.tmp のファイルを使って情報を伝達します。 work.tmp のファイルは、事前に file deleteコマンド で削除しておきます。 削除しておかないと、 Ex:InputForm.Waitコマンド が、ユーザーの入力を待たずに終了してしまいます。

Ex:InputForm.Waitコマンドの処理により、 inp1 に入力された文字列は str["1.value"] に、 inp2 に入力された文字列は str["2.value"] に 固定的に設定されますので、 それを Ex:Ftp.Uploadコマンドで使用します。

 

typeの指定 (ファイル選択、フォルダ選択)


typeを設定することで、ファイルやフォルダを選択する  参照 ボタン を、入力項目の右側に表示することができます。
入力項目1 のtypeの指定は、 inp1.type= に指定します。 入力項目2 の場合は、 inp2.type= です。

ファイルを選択する場合は FileSelect、 フォルダを選択する場合は Dir、 保存先ファイルを選択する場合は SaveFile を指定します。
入力項目2 に、フォルダを選択するボタンを付与する場合は、
  inp2.type="Dir"
と記述します。
入力項目2 に、ファイルを選択するボタンを付与する場合は、
  inp2.type="FileSelect"
と記述します。

この他に、 @FileSelect@Dir@Filename を指定できます。
@FileSelectは、既存のファイルを選択しない限り  OK ボタン でダイアログを終了できなくします。
@Dirは、既存のフォルダを選択しない限り  OK ボタン でダイアログを終了できなくします。
@Filenameは、ファイル名で使用できない文字が含まれていると  OK ボタン でダイアログを終了できなくします。

何か文字列が設定されているときは既存のファイル名でなければならなくても 空白設定は特別に許容するときは @Filename+empty を指定します。
何か文字列が設定されているときは既存のフォルダ名でなければならなくても 空白設定は特別に許容するときは @Dir+empty を指定します。

 参照 ボタン で最初に開くフォルダを指定することもできます。 FileSelect などの指定に続いて  ; 記号 の後に記述します。例えば、 C:\Work を指定する場合は、
  FileSelect;C:\Work
と記述します。これを入力項目2のパラメータに指定する場合は、
  inp2.type="FileSelect;C:\Work"
となります。

ファイル拡張子のマスク・セレクタを指定することもできます。これは、  ☊ 記号 で区切って記述します。
例えば、txtの拡張子のファイルを選択する場合は、
  FileSelect;C:\Work☊テキストファイル;txt
と記述します。  ; 記号 より手前の 「テキストファイル」 の部分は任意です。 状況に応じてわかりやすい名称を指定します。
これを入力項目3のパラメータに指定する場合は、
  inp3.type="FileSelect;C:\Work☊テキストファイル;txt"
となります。
拡張子が text になっているテキストファイルのマスク・セレクタも追加したい場合は、
  inp3.type="FileSelect;C:\Work☊テキストファイル;txt,text"
と、txt の後ろに  , 記号 で区切って追記します。
Jpegファイル(拡張子が jpg, jpeg, jpe の3種類)を選ぶ場合は 次のようになります。
  inp1.type="FileSelect☊Jpeg画像;jpg,jpeg,jpe"
JpegファイルとGifファイル(拡張子が gif)を選ぶ場合は 次のようになります。
  inp1.type="FileSelect☊Jpeg画像;jpg,jpeg,jpe☊Gif画像;gif"

フォルダ内の全てのファイルを表示するマスク・セレクタを追加する場合は、
  inp1.type="FileSelect☊Jpeg画像;jpg,jpeg,jpe☊Gif画像;gif☊すべてのファイル;*"
のように  * 記号 を指定します。

 

サンプル 1: 画像と入力項目のあるダイアログ


このサンプルのダウンロードマクロは、 最初のパラメータ(input[0])に表示する画像のフルパス、 次のパラメータ(input[1])に表示するメッセージを指定して起動します。
結果として、ダイアログで指定した文字列を表示します。



このマクロに指定するパラメータと、 マクロを実行して開くダイアログの例を 次に示します。

(クリックで拡大)
マクロのパラメータと、Ex:InputFormコマンドで開いたダイアログ

【簡単な説明】
Ex:InputForm.Waitコマンドの waitSec=30 の指定により、 ダイアログの入力待ち時間は30秒に設定されています。
ダイアログが開いてから30秒が経過すると、マクロは自動的にキャンセルされ、終了します。 キャンセルされてもダイアログは開いたままですが、 この状態から、ダイアログに値を設定して[OK]ボタンを押しても、何も起こりません。

 

サンプル 2: 選択した画像を表示する


このサンプルは、 ユーザーがダイアログ(Ex:InputFormコマンドで開いたもの)で選択した画像を、 Ex:ShowRSSコマンドで表示します。
ダイアログが持つ3つの入力項目のうち、入力項目1と入力項目2を使用します。

ダイアログの 入力項目1 をファイルを選択する項目にする場合は、 inp1.type= に、 FileSelect を指定します。
このサンプルでは  参照 ボタン で開く初期フォルダを、 マイピクチャのフォルダ(Dir.MyPic) に指定しています。



【簡単な説明】
Ex:InputFormコマンドで指定しているパラメータ、
  inp2.value="SO☊Yes;;No"
により、入力項目2は Yes または No の選択だけができて、自由入力ができないようになっています。
このマクロの処理では Yes が選択されたときに、 Ex:ShowRSSコマンドで画像を表示します。

inp1パラメータで指定している文字列 "!画像選択" の先頭が  ! 記号 なので、ユーザーは入力項目1の入力を省略(空白)したまま ダイアログを閉じることができないようになっています。
ただしこのマクロの例では、inp1.typeのパラメータに FileSelect ではなく、 @FileSelect が指定されています。これにより、 ユーザーは入力項目1に既存のファイル以外を指定できなくなるので、 inp1パラメータで指定されている文字列が  ! 記号の無い "画像選択" でも問題ありません。

Ex:InputForm.Waitコマンドにより、 ダイアログの 入力項目1 で選択されたファイルは、 str["1.value"] に、 ダイアログの 入力項目2 で選択されたファイルは、 str["2.value"] に 設定されます。

(クリックで拡大)
サンプル2 Ex:InputFormコマンドで開いたダイアログ

[BACK]
プロセルピナ