Что нового

Увеличение числовой строки в цикле, на единицу

[email protected]

Новичок
Сообщения
15
Репутация
0
Доброго дня.
Не могу никак решить вопрос ...

Есть строка - АХ10-1DАА0B1СF32В-00001. Подается в подпрограмму, как один из аргументов (как строковой параметр). По выходу, если результат FALSE, надо увеличить последний блок (00001) на единицу. И так в цикле, пока не будет результат TRUE. Все сделал, но решить вопрос, как увеличивать каждый раз на единицу, так и не могу.
Перевожу в бинарные данные (StringToBinary), получаю "0xC0D531302D3144C0C0304231D1463332C22D3030303031", прибавляю 1 или 0х01 или 0х31, но на выходе имею = 1. Как будто не складывает, а перезаписывает. А надо, чтобы стало - 0xC0D531302D3144C0C0304231D1463332C22D3030303032. А после и 3 ... Подскажите, где собака зарыта ...?
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Не понял про бинарные данные, но, если уж вы работаете со строкой, то, может, и так сойдёт? :smile:
Код:
$s = "АХ10-1DАА0B1СF32В-"
For $i = 1 To 99999
  If test($s & StringFormat("%05d", $i)) Then ExitLoop
Next
ConsoleWrite($i & @CRLF)

Func test($v)
  If $v = "АХ10-1DАА0B1СF32В-00111" Then Return 1
EndFunc
 
Автор
M

[email protected]

Новичок
Сообщения
15
Репутация
0
Ну про бинарные я наверно перегнул палку. Просто голову сломал, как счетчиком довести значение последнего блока с 00001 до 99999, с шагом 1.
 
Верх