Доброе время суток. Спасибо за быстрый ответ.
сегодня только добрался до "самообразования" ::smile24.gif::
что-то у меня ничего не получается, не могу разобраться с пунктуацией и форматами.
вот "часть моих трудов"...
CODE:string text_KIB;
loadsymbolbase("E:\kibor_set\FF\BazaPrimers.sib");
string text, num1, num2, znak;; //пробовал и не объявлять эти переменные
win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int sx_KIB, sy_KIB;
start_();
sleep(100);
readtext(NUM | MARK, #text_KIB, 8, 1, -1, -1, -1, -1, -1, 0, -1, sx_KIB+466, sy_KIB+360, sx_KIB+530, sy_KIB+376, -1);
messagebox(text_KIB)
вот мое начало. результат распознавания 57 - 39, соответствует предоставленному.
далее:
CODE:string Text=text_KIB;
int x=func(Text);
messagebox(x);
здесь получается -842150451
CODE:function func(string s)
{
string num1, num2, znak;
if(regexreplace(1, #num1, s, "^\s*(\d+)\s*([\+\-\*\/])\s*(\d+)\s*$", "$1")==0)return -10011001;
messagebox(num1);
if(regexreplace(1, #znak, s, "^\s*(\d+)\s*([\+\-\*\/])\s*(\d+)\s*$", "$2")==0)return -10011001;
messagebox(znak);
if(regexreplace(1, #num2, s, "^\s*(\d+)\s*([\+\-\*\/])\s*(\d+)\s*$", "$3")==0)return -10011001;
messagebox(num2);
if(znak=="+")return formatsn(num1) + formatsn(num2);
if(znak=="-")return formatsn(num1) - formatsn(num2);
if(znak=="*")return formatsn(num1) * formatsn(num2);
if(znak=="/")return formatsn(num1) / formatsn(num2);
return -10011001;
}
а вот здесь выдает "Ошибка: в STRINGS[7]=Text"
удаление пробелов вообще не понял в какой участок кода вставлять.
может я не правильно задавал вопрос???
(Добавление)
И еще один вопрос можно ли в функцию, вставит еще одну функцию ???
Спасибо.