16 進形式を使用してループを増分するにはどうすればよいですか?こんにちは、
リストを作成し、次のエントリを入力します: AB63、AB64、... AB79、AC63、...AZ79。
残念ながら、16進数で増分する方法がわかりません(「J」= Hex(4A) など)。
そのため、文字 JO (Hex4A - Hex4F) については、非常に面倒な個別のループを作成しました。
これをすべて 1 つのループ内に収めることができるように、16 進数で増分する方法を知っている人はいますか?
助けてくれてありがとう。
ケビン
JMP17
// Loop rows AB-AI; loop columns 63-79
// A = ASCII (41)
// I = ASCII (49)
For( firstChar = 41, firstChar < 42, firstChar++,
For( secondChar = 41, secondChar < 50, secondChar++,
For( number = 63, number < 80, number++,
// Build the list element
firstCharVal = Hex To Char( Char( firstChar ) );
secondCharVal = Hex To Char( Char( secondChar ) );
dataList[listIndex] = firstCharVal || secondCharVal || Char( number );
// Increase the index
listIndex++;
);
);
);
// Loop row AJ; loop columns 63-79
// J = ASCII (4A)
For( firstChar = 41, firstChar < 42, firstChar++,
For( number = 63, number < 80, number++,
// Build the list element
firstCharVal = Hex To Char( Char( firstChar ) );
dataList[listIndex] = firstCharVal || Hex To Char( "4A" ) || Char( number );
// Increase the index
listIndex++;
);
);
自動化とスクリプトRe: 16 進形式を使用してループを増分するにはどうすればよいですか?For Each() ループ構造を見てみるとよいでしょう。これは、はるかに柔軟なインデックス構造を持っています。
Re: 16 進形式を使用してループを増分するにはどうすればよいですか?ForEach は良い選択ですね!
first = {"A", "B"};
second = {"D", "E", "F"};
number = 9 :: 11;
For Each( {f}, first, //
For Each( {s}, second, //
For Each( {n}, number, //
Write( Eval Insert( "\!n^f^^s^^right(char(/*6 digits of leading zeros*/1e6+n),2)^" ) )
)
)
);
西暦09年
西暦10年
西暦11年
AE09
AE10
AE11
AF09
AF10
AF11
BD09
BD10
BD11
BE09
BE10
BE11
BF09
BF10
BF11
Re: 16 進形式を使用してループを増分するにはどうすればよいですか?クレイグ
わあ、どうもありがとうございます。もう少し時間をかけて「Write」行を理解したいと思います。ご協力に感謝します。
ケビン
Re: 16 進形式を使用してループを増分するにはどうすればよいですか?txt="hex";first = {"A", "B"};
second = {"D", "E", "F"};
number = 9 :: 11;
For Each( {f}, first, //
For Each( {s}, second, //
For Each( {n}, number, //
txt=txt||( Eval Insert( "\!n^f^^s^^right(char(1e6+n),2)^" ) )
)
)
);
d1=Open( Char To Blob(txt), "text" );専門家の皆さん、ありがとう!
Re: 16 進形式を使用してループを増分するにはどうすればよいですか?@lala - 興味深い例です。説明: open 関数は通常、最初のパラメータにファイル名を使用しますが、実際のデータの blob パラメータを取ることもできます。この場合、ファイル拡張子がないため、2 番目のパラメータが必要になります。「text」は、データをテキスト ファイルとして解釈することを意味します。つまり、CSV のようなファイルです。この CSV には、1 行に 1 つの値があり、カンマはありません。
Re: 16 進形式を使用してループを増分するにはどうすればよいですか?クレイグさんありがとう!
