Ja genau. Aber es ist doch einfach zu verstehen. Die Namen bauen sich (logischerweise) so auf:
Button
XABC
...
Button
XXABC
Nun schaue ich (nach obigem Beispiel) ob an 8. Stelle eine Zahl ist. Wenn ja, dann ist an der 7. Stelle auch eine Zahl und somit sind wir im Bereich 10-99. Andernfalls sind wir im Bereich 0-9.
Oder Andres gesagt: Versucht er bei "Button
XABC" sonst das "A" in eine Zahl zu wandeln, was nicht geht ->
exception -> anderes Handling.
Delphi-Quellcode:
try
StrToInt(copy(Name, 8, 1));
//1-Stellig (0-9)
except
//2-Stellig (10-99)
end;
Alternativ hätte man auch generell 2-Stellig arbeiten können:
Button
0XABC
...
Button
XXABC
Dann bräuchte man nur prüfen ob an 7. Stelle eine "0" vorhanden ist und dementsprechend ableiten, also:
Delphi-Quellcode:
if Name[7] = '0' then
//1-Stellig (0-9)
else
//2-Stellig (10-99)