1

Ini ファイルから配列への一連のファイル拡張子を含む文字列を取得します。基本的に、変数 %ext% が配列内のこれらのファイル拡張子のいずれかと等しいかどうかを確認したいと考えています。明確にするために、アイテムがいくつになるかは前もってわかりません。

私はこれをうまく説明していないことを知っているので、疑似コードでいくつかの光を当てようとします

ext := jpg ;(for example)
IniRead, extsFromFile, data.ini, Images, Extensions
StringSplit, allExts, extsFromFile, `,
If (ext = <any of the elements in the array allExts>)
    doStuff()

Autohotkey でこれを解決する方法について空白を描いています。私は自分が望むほどその言語に精通していません。

4

2 に答える 2

0

StringSplitは、最後の要素のインデックス(または、見方によっては長さ)をOutputVar0の形式で提供します。組み込みのA_Index変数を使用してループし、各要素が一致するかどうかを確認できます。

ext := "jpg" ;(for example)
IniRead, extsFromFile, data.ini, Images, Extensions

; For debugging/testing purposes
extsFromFile = png,bmp,tiff,jpg


StringSplit, allExts, extsFromFile, `,
Loop %allExts0% 
    If (ext = allExts%A_Index%) 
        MsgBox Match! We have %allExts0% extensions and "%ext%" was the %A_Index%th

与える

マッチ!4つの拡張子があり、「jpg」は4番目でした

于 2012-10-11T03:53:05.930 に答える