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

Фотография

Как работать с датой?


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

#1 natali.ancharuk

natali.ancharuk

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

  • Members
  • Pip
  • 72 сообщений
  • ФИО:Анчарук Наталья Владимировна

Отправлено 08 июля 2005 - 10:12

У меня уйма вопросов.
Я тестирую на WinRunner. Тестируемое приложение написано на Делфи.
1) Не могу проверить дату на не больше сегодняшней и на соответствие формату. Какие функции использовать я уже все перепробовала не получается? объект называется "DataView". :dirol:
2) Как можно посмотреть, нажат CheckBox или нет? Пробую button_get_state не получается. обект наз - ся "CheckView_0". :ok:
3) Как записать (без пробелов). Типа "Trim". :good:
4) Как правильно объявить функцию а потом вызвать ее из другой процедуры.
Спасибо большое.
  • 0

#2 PavelB

PavelB

    Постоянный участник

  • Members
  • PipPipPip
  • 169 сообщений
  • Город:Санкт-Петербург

Отправлено 08 июля 2005 - 13:36

3-ий вопрос вообще не понял, если честно.

По поводу 4-го. Описываете функцию. Сохраняете тот файл, где она описана как Compiled Module. Затем загружаете его функцией reload(filename). После этого вызываете со спокойной совестью функцию в скрипте. В конце делаете unload.
  • 0

#3 natali.ancharuk

natali.ancharuk

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

  • Members
  • Pip
  • 72 сообщений
  • ФИО:Анчарук Наталья Владимировна

Отправлено 11 июля 2005 - 04:16

Может вы меня не поняли, но reload и Unload загружает и вы гружает модули.
А мне нужны функции или процедурки которые можно вызвать в ходе текста в одном проекте.
Я не работала раньше с си языком. А в VBScript это делается так:
'Объявляем
Sub A
.
.
end sub

Call A' Вызываем
Подскажите как в си такое прописать. у меня не получается.

А на счет 3 вопроса. НЕобходимо взять строку без пробелов. какой метод применить.
  • 0

#4 natali.ancharuk

natali.ancharuk

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

  • Members
  • Pip
  • 72 сообщений
  • ФИО:Анчарук Наталья Владимировна

Отправлено 11 июля 2005 - 05:08

Уффффффф.......
С функцией я разобралась(пришлось перечитать весь форум), а вот с датой еще нет.
Помогите плизззз.
  • 0

#5 natali.ancharuk

natali.ancharuk

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

  • Members
  • Pip
  • 72 сообщений
  • ФИО:Анчарук Наталья Владимировна

Отправлено 11 июля 2005 - 05:09

Уффффффф.......
С функцией я разобралась(пришлось перечитать весь форум), а вот с датой еще нет.
Помогите плизззз.
  • 0

#6 Nadin

Nadin

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

  • Members
  • Pip
  • 70 сообщений
  • Город:Kiev, Ukraine

Отправлено 11 июля 2005 - 07:16

3) По поводу trim, насколько я знаю в WR подобной ф-ции нет. Так что прочсто надо написать свою. Я вот такое юзаю:

#######################################
# FUNCTION : trim_left
#
# PURPOSE : The function trims previous gaps from the string (str).
#
# PARAMETERS (required): str - string.
#
# RETURN VALUES : the same string (str) without previous gaps.
#
#####################################################
public function trim_left(in str)
{
auto ii;

for (ii=1; ii<=length(str); ii++)
if (index(str," ")==1)
str=substr(str,2);
else return str;
return str;
}

#######################################
# FUNCTION : trim_right
#
# PURPOSE : The function trims following gaps from the string (str).
#
# PARAMETERS (required): str - string.
#
# RETURN VALUES : the same string (str) without following gaps.
#
#####################################################
public function trim_right(in str)
{
auto ii, ls, str2;

ls=length(str);
for (ii=ls;ii>=1; ii--)
{
ls=ls-1;
str2=substr(str,1,ls);
if (compare_text(str,str2))
str=str2;
else return str;
}
return str;
}

#######################################
# FUNCTION : trim
#
# PURPOSE : The function trims previous and following gaps from the string (str).
#
# PARAMETERS (required): str - string.
#
# RETURN VALUES : the same string (str) without previous and following gaps.
#
#####################################################
public function trim(in str)
{
str=trim_left(str);
return trim_right(str);
}

1) По поводу даты, я тоже не нашла каких-либо применимых ф-ций. Тоже можно написать свои.
Удобно использовать ф-цию split для соответствия формату.
Чтобы сравнить 2 даты можно их сначала привести к общему формату year/mm/dd (ну, или там year.mm.dd), тогда их можно сравнивать просто, как строки.
  • 0

#7 PavelB

PavelB

    Постоянный участник

  • Members
  • PipPipPip
  • 169 сообщений
  • Город:Санкт-Петербург

Отправлено 11 июля 2005 - 07:44

Вот в хелпе что по поводу работы с датой написано:

time_str ( [ expression ] );

expression The value of this expression must be expressed in the format generated by get_time (the time expressed in the number of seconds that have elapsed since 00:00 GMT, January 1, 1970.) If expression is not included (null), time_str converts the current value returned by get_time.

The time_str function converts the integer argument (time) returned by the get_time function to a string, in the format "Day Month Date Hour:Min:Sec Year." For example, the string "Thu Dec 05, 1998, 22:00:00", is the return value of the function

Соответсвенно, берёте time_str() - извлекаете оттуда нужные вам части даты (день и год, как я понимаю). А потом сравниваете с той датой, которую вы хотите сравнить. Я так думаю, можно как-то обе даты к строковому формату перевести и там уже сравнивать.

А насчёт той функции работы со строками, которая по пробелам строку делит. Посмотрите split.
  • 0


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

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