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

Основной раздел => Ошибки => Topic started by: ya12 on December 31, 2018, 09:42:59 PM

Title: Символ с кодом 39->' при сравнении строк приводит к ошибке
Post by: ya12 on December 31, 2018, 09:42:59 PM
Есть список нужных имен. Из памяти процесса по 2 байта читаются коды букв, до тех пор пока не 00 00. Преобразуются в символы и объединяются в $_name.
Если присутствует символ с кодом 39->' сравнение строк приводит к ошибке. Приходится его пропускать.

Кусок кода
Code: (clickermann) [Select]
                     $_name = ""
                     $_kb = readmem($_pid, ($_addr_zap4 + 0x0000001C), 2)
                     $b = 0
                     WHILE ($_kb != 0)
                        if($_kb!=39)  //  <--- см тут
                           $_bukva = char($_kb)
                           $_name = strconcat ($_name, $_bukva)
                        end_if
                        $b = $b + 2
                        $_kb = readmem($_pid, ($_addr_zap4 + 0x0000001C + $b), 2)
                     end_cyc
                     
                     for($r=0, $r < $_kol_name)  //несколько имен
                        if($arr_name[$r] = $_name) //проверка на совпадение<--см тут
Title: Re: Символ с кодом 39->' при сравнении строк приводит к ошибке
Post by: Oraven on January 01, 2019, 07:43:33 AM
А если добавить INT
Code: (clickermann) [Select]
$_kb = INT(readmem($_pid, ($_addr_zap4 + 0x0000001C + $b), 2))
Title: Re: Символ с кодом 39->' при сравнении строк приводит к ошибке
Post by: ya12 on January 01, 2019, 10:45:32 AM
Не помогло. Есть символ с кодом 39, есть ошибка. Нет символа, нет и ошибки.