Author Topic: setvar и строки  (Read 1749 times)

0 Members and 1 Guest are viewing this topic.

i0

  • Оплот сообщества
  • ****
  • Posts: 353
  • CMann 4.13.014 final, ie, presto, win7 x86, x64
    • View Profile
setvar и строки
« 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 :(

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: setvar и строки
« Reply #1 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

i0

  • Оплот сообщества
  • ****
  • Posts: 353
  • CMann 4.13.014 final, ie, presto, win7 x86, x64
    • View Profile
Re: setvar и строки
« Reply #2 on: July 01, 2018, 09:08:34 AM »
о, спасибо за обход. всё время про хэши забываю, сейчас так и переделаю

но всё же в setvar ошибка. imho

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: setvar и строки
« Reply #3 on: July 02, 2018, 01:45:23 PM »
setvar сама по себе ошибка  :)