Быстродействие
#1
Отправлено 11 июля 2005 - 04:55
Вот такая проблема...
вернее вопрос.
От чего зависит быстродействие выполнения скрипта, то есть написал скрипт кторый берет значения из текстового файла и забивает их в таблицу, вроде не пишу ничего лишнего - делаю все это в цикле, только меняю поля, однако скрипт выполняется медленне даже если бы я вбивал все руками...
Подскажите как оптимизировать.
-----------------------
repeat
m := w.Window('TfmBrowser', '*');
m.Activate;
m.Window('TPageControl').Click();
str:=stroki[l,1];
m.Window('StringView', '', naimind+2).Click();
Sys.Keys(str);
str:=stroki[l,3];
m.Window('StringView', '', naimind).Click();
Sys.Keys(str);
str:=stroki[l,4];
m.Window('ComboBoxView', '', rezind).Click(str);
Sys.Keys(str);
str:=stroki[l,5];
m.Window('NumericView', '', rnnind).Click();
Sys.Keys(str);
l:=l+1;
naimind:=naimind-5;
rezind:=rezind-3;
rnnind:=rnnind-2;
until naimind<13;
end;
-----------------------
#2
Отправлено 11 июля 2005 - 06:17
#3
Отправлено 11 июля 2005 - 08:25
А где именно проявляется "медленность"? При забитии информации в поля или при клике мыши? Может скрипт "тормозит" только на каком-нибудь одном клике?
А если перекомпилировать приложение как Open, то скрипт тоже медленно выполняется?
Да, кстати, для Open приложения вы сможете значения класть непосредственно в соответствующие нативные свойства контролов (Text, Value и т.д.).
Дмитрий
#4
Отправлено 11 июля 2005 - 09:13
Здравствуйте.
А где именно проявляется "медленность"? При забитии информации в поля или при клике мыши? Может скрипт "тормозит" только на каком-нибудь одном клике?
А если перекомпилировать приложение как Open, то скрипт тоже медленно выполняется?
Да, кстати, для Open приложения вы сможете значения класть непосредственно в соответствующие нативные свойства контролов (Text, Value и т.д.).
Здравствуйте!
Мое предположение (не знаю как это отследить), но тем не менее я думаю, что тормозит именно при обращении к объекту (полю). Забивает в поля быстро.
Перекомпилировал приложение но тогда возникает другая проблема - как обращаться к элементам в цикле? Не нашел я кого нибудь свойства по которомуможно идентифицировать объект (кроме handle конечно), вернее есть там свойства - типа Index но только это строковая переменная и вклинить туда переменную никак - делаю так ....'+inttostr(i)+'.....
вот в таком случае..
m.pBrowser.TPageControl_1.TTabSheet_1.TScrollBox_1.StringView_108.Click(44, 12);
Именно 108 и надо менять в цикле......
Как быть в таком случае?
#5
Отправлено 12 июля 2005 - 08:20
#6
Отправлено 12 июля 2005 - 11:14
Вы можете обращаться к ним так же как и раньше - используя метод Window, так как параметры WndClass, WndCaption и WndIndex у котролов остались те же.Перекомпилировал приложение но тогда возникает другая проблема - как обращаться к элементам в цикле?
Дмитрий
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных