Wie erhöhe ich eine Schleife im Hexadezimalformat?Hallo,
Ich möchte eine Liste erstellen und sie mit den folgenden Einträgen füllen: AB63, AB64, ... AB79, AC63, ... AZ79.
Leider konnte ich nicht herausfinden, wie man hexadezimal hochzählt ("J" = Hex(4A) usw.).
Also habe ich für die Buchstaben JO (Hex4A – Hex4F) separate Schleifen erstellt, was sehr umständlich ist.
Kennt jemand eine Möglichkeit, hexadezimal zu erhöhen, sodass ich das alles in einer Schleife behalten kann?
Ich danke Ihnen für Ihre Hilfe.
Kevin
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++;
);
);
Automatisierung und SkriptingBetreff: Wie erhöhe ich eine Schleife im Hexadezimalformat?Sie können sich die For Each()-Schleifenstruktur ansehen. Sie verfügt über eine viel flexiblere Indexierungsstruktur.
Betreff: Wie erhöhe ich eine Schleife im Hexadezimalformat?guter Ruf bei 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)^" ) )
)
)
);
AD09
AD10
AD11
AE09
AE10
AE11
AF09
AF10
AF11
BD09
BD10
BD11
BE09
BE10
BE11
BF09
BF10
BF11
Betreff: Wie erhöhe ich eine Schleife im Hexadezimalformat?Craig,
Wow, vielen Dank. Ich werde mir noch etwas Zeit nehmen, um die Zeile „Schreiben“ zu verstehen. Ich weiß Ihre Hilfe zu schätzen!
Kevin
Betreff: Wie erhöhe ich eine Schleife im Hexadezimalformat?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" );Danke, Experten!
Betreff: Wie erhöhe ich eine Schleife im Hexadezimalformat?@lala – interessantes Beispiel. Erklärung: Die Open-Funktion verwendet normalerweise einen Dateinamen als ersten Parameter, kann aber einen Blob-Parameter der tatsächlichen Daten annehmen, der einen zweiten Parameter erfordert, da keine Dateierweiterung vorhanden ist. „Text“ bedeutet, die Daten als Textdatei zu interpretieren, also als CSV-ähnliche Datei. Diese CSV hat einen Wert pro Zeile und keine Kommas.
Betreff: Wie erhöhe ich eine Schleife im Hexadezimalformat?Danke, Craige!
