Автокликер Clickermann :: Форум

Основной раздел => Ошибки => Topic started by: i0 on July 01, 2018, 08:51:17 AM

Title: setvar и строки
Post by: i0 on July 01, 2018, 08:51:17 AM
Code: (clickermann) [Select]
$sVar1="abcdefgh"
define($sVar2)
setvar("$sVar2", strconcat(" ", $sVar1))
$sAnswer= dialogbox("breakpoint", 0, 0)
if ($sVar2 ! " abcdefgh")
   print("i dunno")   
else
   print("string")   
end_if
$sAnswer= dialogbox("breakpoint", 0, 0)
halt
setvar помещает в переменную значение "без типа", несмотря на явное использование strconcat
и на этапе проверки получаем ошибку сравнения
соответственно, приходится после setvar впихивать жёсткую строку $sVar2= strconcat($sVar2), убивающую идею использования setvar :(
Title: Re: setvar и строки
Post by: Oraven on July 01, 2018, 09:02:57 AM
Если сравнивать хеши строк ошибок не будет.

Code: (clickermann) [Select]
$sVar1="abcdefgh"
define($sVar2)
setvar("$sVar2", strconcat(" ", $sVar1))
$sAnswer= dialogbox("breakpoint 1", 0, 0)
if (STRMD5($sVar2) ! STRMD5(" abcdefgh"))
   print("i dunno")
else
   print("string")
end_if
$sAnswer= dialogbox("breakpoint 2", 0, 0)
halt
Title: Re: setvar и строки
Post by: i0 on July 01, 2018, 09:08:34 AM
о, спасибо за обход. всё время про хэши забываю, сейчас так и переделаю

но всё же в setvar ошибка. imho
Title: Re: setvar и строки
Post by: Vint on July 02, 2018, 01:45:23 PM
setvar сама по себе ошибка  :)