Перейти к содержимому

Фотография

по строковому имени процесса сделать действие


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 Rumata

Rumata

    Новый участник

  • Members
  • Pip
  • 66 сообщений
  • Город:Астана

Отправлено 06 ноября 2007 - 11:15

delphiscript
tc 5.12


Привет Всем
Проблема вот в чём:

Есть файл 123.txt
в нём написаны имена процессов:
Sys.Process('calc').Window('SciCalc', 'Калькулятор').Window('Button', 'CE')
Sys.Process('calc').Window('SciCalc', 'Калькулятор').Window('Button', '7')
Sys.Process('calc').Window('SciCalc', 'Калькулятор').Window('Button', '8')
Sys.Process('calc').Window('SciCalc', 'Калькулятор').Window('Button', '9')
и так далее
теперь в скрипте я считываю имена процессов в массив(olevariant)

mass_obj := BuiltIn.CreateVariantArray(1, kk); // присваиваю массиву длину
while not eof(f) do
begin
kk := kk + 1;
readln( f, s);
mass_obj[kk] := s;
end;

потом в другой процедуре пытаюсь кликнуть
l_mass_obj := BuiltIn.CreateVariantArray(1, dl_mass); // присваиваю массиву длину
l_mass_obj := mass_obj;
tpm := l_mass_obj[l_i];
tpm.click();

tc ругается на неизвестное имя click
подскажите пжл как можно сделать то что я хочу
  • 0

#2 Genka

Genka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 06 ноября 2007 - 11:39

delphiscript
tc 5.12
tc ругается на неизвестное имя click
подскажите пжл как можно сделать то что я хочу


т.е. вы пытаетесь из строк сделать объекты?
это, конечно, возможно, но не так, как вы пытаетесь сделать (через VariantArray)

если я правильно понял, задача звучит так: есть текстовый файл, в котором хранятся имена объектов, по которым надо кликать. Хранятся в текстовом виде.

Вам проще сделать так: считать содержимое файла в массив, а затем для каждого элемента массива делать так
допустим, массив строк называется arr

Evaluate (arr[i] + '.Click();')
не уверен, но по-моему знак "+" в делфискрипте означает конкатенацию строк.
Основной момент здесь - это использование функции Evaluate, которая позволяет выполнить любой кусок текста, как код скрипта
  • 0

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest


#3 Rumata

Rumata

    Новый участник

  • Members
  • Pip
  • 66 сообщений
  • Город:Астана

Отправлено 06 ноября 2007 - 12:03

delphiscript
tc 5.12
tc ругается на неизвестное имя click
подскажите пжл как можно сделать то что я хочу


т.е. вы пытаетесь из строк сделать объекты?
это, конечно, возможно, но не так, как вы пытаетесь сделать (через VariantArray)

если я правильно понял, задача звучит так: есть текстовый файл, в котором хранятся имена объектов, по которым надо кликать. Хранятся в текстовом виде.

Вам проще сделать так: считать содержимое файла в массив, а затем для каждого элемента массива делать так
допустим, массив строк называется arr

Evaluate (arr[i] + '.Click();')
не уверен, но по-моему знак "+" в делфискрипте означает конкатенацию строк.
Основной момент здесь - это использование функции Evaluate, которая позволяет выполнить любой кусок текста, как код скрипта



ОГРОМНОЕ СПАСИБО!!!
РАБОТАЕТ!!!
правда нужно изменить на
Evaluate (arr[i] + '.Click;')

  • 0

#4 Genka

Genka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 328 сообщений
  • ФИО:Геннадий Алпаев
  • Город:Украина, Днепр


Отправлено 06 ноября 2007 - 12:29

ОГРОМНОЕ СПАСИБО!!!
РАБОТАЕТ!!!
правда нужно изменить на

Evaluate (arr[i] + '.Click;')


да, в ДелфиСкрипте я не силен, однако. Ну, работает - и отлично
  • 0

TestComplete для начинающих (видеозаписи курса)

Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)

Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest


#5 Rumata

Rumata

    Новый участник

  • Members
  • Pip
  • 66 сообщений
  • Город:Астана

Отправлено 07 ноября 2007 - 02:53

ОГРОМНОЕ СПАСИБО!!!
РАБОТАЕТ!!!
правда нужно изменить на

Evaluate (arr[i] + '.Click;')


да, в ДелфиСкрипте я не силен, однако. Ну, работает - и отлично


Нет, вы правильно написали, по идее у события "клик" есть параметры, а если их не указывать то можно ставить пустые скобки, но видимо сама функция "Evaluate" чего то там преобразовывает и поэтому потом ругается на эти самые скобки
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных