Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / В чем разница синтаксиса вызова функций / 10 сообщений из 10, страница 1 из 1
14.03.2005, 12:13
    #32958427
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем разница синтаксиса вызова функций
встречаю такой способ вызова функций
Код: plaintext
1.
2.
  =FSEEK(m.fp_in,29)
  =FWRITE(m.fp_in,CHR(101)) 
  =FCLOSE(m.fp_in)

вопрос, а чем отличается
Код: plaintext
1.
2.
  FSEEK(m.fp_in,29)
  FWRITE(m.fp_in,CHR(101)) 
  FCLOSE(m.fp_in)

у меня в проге много messagebox() без ведущего =, это мне как-то черевато боком? Все работает же нормально...
...
Рейтинг: 0 / 0
14.03.2005, 12:19
    #32958451
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем разница синтаксиса вызова функций
Почитай Help по = Command
...
Рейтинг: 0 / 0
14.03.2005, 12:24
    #32958480
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем разница синтаксиса вызова функций
CTAC-KOвстречаю такой способ вызова функций
Код: plaintext
1.
2.
  =FSEEK(m.fp_in,29)
  =FWRITE(m.fp_in,CHR(101)) 
  =FCLOSE(m.fp_in)

вопрос, а чем отличается
Код: plaintext
1.
2.
  FSEEK(m.fp_in,29)
  FWRITE(m.fp_in,CHR(101)) 
  FCLOSE(m.fp_in)

у меня в проге много messagebox() без ведущего =, это мне как-то черевато боком? Все работает же нормально...
Потому что функции возвращают значение. См. Help.
FCLOSE()
Результат - Логический
Комментарии
Если файл успешно закрыт, функция FCLOSE( ) возвращает значение "истина" (.T.) и освобождает дескриптор файла. Если файл закрыть не удалось, FCLOSE( ) возвращает "ложь" (.F.).
Функция
MESSAGEBOX(cMessageText [, nDialogBoxType]...)
Результат Числовой
Комментарии
Значение, возвращаемое функцией MESSAGEBOX( ), указывает, какая кнопка была выбрана в диалоговом окне. Если в диалоговом окне с кнопкой Cancel для выхода из него нажимается клавиша ESC, то возвращается то же значение (2), что и при нажатии кнопки Cancel.

В следующей таблице перечислены значения, возвращаемые функцией MESSAGEBOX( ) для каждой кнопки.

Возвращаемое значение Кнопка
1 OK
2 Cancel
3 Abort
4 Retry
5 Ignore
6 Yes
7 No

Таким образом можно узнать, что пользователь ответил.
Видимо Вы использовали всего одну кнопку OK.
...
Рейтинг: 0 / 0
14.03.2005, 15:06
    #32958971
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем разница синтаксиса вызова функций
2Владимир СА
да то, что функции возвращают результат, это я в курсе. Вопрос в том, что мне не нужен результат. Например мясожбокс с инфо-сообщением и только кнопкой ОК и мне все равно что нажмет юзьверь, чтобы окно исчезло. ну, короче, в приведенном примере именно так и идет программа, это фрагмент из cpzero.prg
то есть переменной нет, а "=" - есть. Так вот у меня и вопрос в том, что надо ли мне все свои месбоксы переделать в вид =messagebox() или оставить без лидируещего "=", то есть messagebox().
ну какая разница в написании, где правильнее, что ли...?:

=messagebox("Программа такая-то Вас приветствует",0)

или

messagebox("Программа такая-то Вас приветствует",0)

в хелпах как раз правильно сказано
The = command evaluates one or more expressions, Expression1, Expression2 ..., and discards the return values. This option is particularly useful when a Visual FoxPro function or a user-defined function has a desired effect, but there is no need to assign the function's return value to a variable, array element, or field.

но работает-то все и если = не писать,
так писать или не писать, вот в чем вопрос!

будут ли без = какие-нить глюки или где?
...
Рейтинг: 0 / 0
14.03.2005, 15:17
    #32959012
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем разница синтаксиса вызова функций
найдите хорошего психолога
...
Рейтинг: 0 / 0
14.03.2005, 15:25
    #32959046
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем разница синтаксиса вызова функций
Не будет глюков, все будет нормально.
Просто когда-то давно, в древних версиях фокса, можно было писать только =SomeFunc(), вот и пишут некоторые по привычке. ;-)
...
Рейтинг: 0 / 0
14.03.2005, 15:39
    #32959086
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем разница синтаксиса вызова функций
2 СТАС-КО

Истина в хелпе, ниже:

If only one expression (Expression1) is included, the equal sign is optional.
...
Рейтинг: 0 / 0
14.03.2005, 15:43
    #32959096
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем разница синтаксиса вызова функций
UrriНе будет глюков, все будет нормально.
Просто когда-то давно, в древних версиях фокса, можно было писать только =SomeFunc(), вот и пишут некоторые по привычке. ;-)
ну вот, наконец-то дошли до истины, а то одни с =, другие без, а надо оно или нет - уже у психотерапевта советуют спрашивать
Я ж только на вижуал перешел, увидел сначала где-то на форуме в тексте =messagebox(), ну и решил что так и надо и сам так же писал. А потом выяснилось, что можно и без = писать и стал писать без него. А чего, собственно, разволновался-то? Я предположил, что в строках без = могут быть глюки при, например, компиляции в ехе.
и с другой стороны, мелкомягкие-то в своей проге только через = пишут, вот я и задумался...
...
Рейтинг: 0 / 0
14.03.2005, 15:50
    #32959125
CTAC-KO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем разница синтаксиса вызова функций
AleksMed2 СТАС-КО

Истина в хелпе, ниже:

If only one expression (Expression1) is included, the equal sign is optional.

вот, блин, действительно, там такое есть, теперь все 100% четко и ясно. Ну, как говорится, сморю в книгу - вижу фигу. Вы ж и раньше намекнули - читай хелп, ну и прочитал...
...
Рейтинг: 0 / 0
15.03.2005, 03:02
    #32959894
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем разница синтаксиса вызова функций
Hi CTAC-KO!

= нужно например для РАЗЛИЧЕНИЯ функции SEEK() и команды SEEK. Других случаев так сразу и не скажу. В принципе MS сделала именно для удобства, что можно НЕ писать = если тебе не интересно что вернёт функция - так что это во многом вопрос стиля форматирования исходного кода. Пиши как тебе понятнее и удобнее. Я обычно не пишу = зато я всегда пишу пустые скобки при вызове методов объектов - т.е. ThisForm.Refresh() - хотя ПОКА эти скобки и необязательны... если НЕ ставить перед вызовом метода =
а вот если ставить - то обязательны :)

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / В чем разница синтаксиса вызова функций / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]