Всем привет, столкнулся с такой проблемой... В самом начале кода у меня список переменных, которым присваивается рандомное значение. Каждой переменной рандомное значение может присваиваться из одной и той же функции. Далее, это присвоенное рандомное значение должно быть постоянным на протяжение выполнения всего кода. Код весь состоит из условий if, else, sleep(), записей в фаилы значений переменных и передачи разных параметров другим программам с использованием этих же переменных. Никаких циклов\возвратов и т.п. Последовательное выполнение с сначала и до конца. И проблема заключается в том, что переменные "сбиваются" в некоторых местах выполнения кода. Например param1 может присвоить значение param2, а param2 присвоить значение param1. Либо param1 может взять новое значение из рандома на выполнение команды, а затем вернуться к старому значению.
Например в таких случаях может произойти "сбой":
Скопировать может правильно и с теми же значениями переменных, а в фаил записать уже другие или перепутанные друг с другом, либо наоборот и т.п.
Из мыслей в чем может быть дело - индивидуальную функцию рандома для каждой переменной нужно может? Или возможно, что Global использую там, а при записи Local? Просто много правок в код нужно вносить, чтобы проверить эти догадки... :-\ :(
Не большой пример кода:
Например в таких случаях может произойти "сбой":
Код:
FilyCopy("d:\1.txt,"d:\doc\"&$param1&"\"¶m5&".txt")
Local $file = "d:\doc\"&$param1&"\"¶m5&".txt"
Local $file_o = FileOpen("d:\test.txt", 17)
FileWrite($file_o, $file)
FileClose($file_o)
Скопировать может правильно и с теми же значениями переменных, а в фаил записать уже другие или перепутанные друг с другом, либо наоборот и т.п.
Из мыслей в чем может быть дело - индивидуальную функцию рандома для каждой переменной нужно может? Или возможно, что Global использую там, а при записи Local? Просто много правок в код нужно вносить, чтобы проверить эти догадки... :-\ :(
Не большой пример кода:
Код:
Global $param1 = _random1()
Global $param2 = _random1()
Global $param3 = _random1()
Global $param4 = _random2()
Global $param5 = _random2()
Global $param6 = _random2()
Global $param7 = _random3()
Global $param8 = _random3()
Global $param9 = _random3()
Func _random1()
$param = ''
Switch Random(1, 5, 1)
Case 1
$param &= "Папка 1"
Case 2
$param &= "Папка 2"
Case 3
$param &= "Папка 3"
Case 4
$param &= "Папка 4"
Case 5
$param &= "Папка 5"
EndSwitch
Return $param
EndFunc
Func _random2()
$param = ''
Switch Random(1, 5, 1)
Case 1
$param &= "Фаил 1"
Case 2
$param &= "Фаил 2"
Case 3
$param &= "Фаил 3"
Case 4
$param &= "Фаил 4"
Case 5
$param &= "Фаил 5"
EndSwitch
Return $param
EndFunc
Func _random3()
$rnmRANm = Random(5,10,1)
$iLen = $rnmRANm
$sString = ''
For $i = 1 To $iLen
Switch Random(1, 3, 1)
Case 1
$sString &= Chr(Random(48, 57, 1)) ;0-9
Case 2
$sString &= Chr(Random(65, 90, 1)) ;A-Z
Case 3
$sString &= Chr(Random(97, 122, 1)) ;a-z
EndSwitch
Next
Return $sString
EndFunc