Можно ли в VB6 вызывать функцию с оператором в параметре? - PullRequest
2 голосов
/ 07 марта 2012

Мне очень трудно найти ответ на этот вопрос с такой общей терминологией, и, возможно, мой вопрос все еще трудно разобрать.У меня есть некоторый код с переменной, представляющей количество свободного дискового пространства, оставшееся в процентах.Я хочу вызвать его в функцию, где я использую обратное количество в сообщении пользователю, то есть количество используемого пространства.Можно ли немного подсчитать в вызове функции?

Public Sub MyApp()
    Dim nFreeSpace As Integer
    nFreeSpace = GetFreeSpace
    DisplayUsedSpace 100 - nFreeSpace 'Is this valid?
End Sub
Private Function DisplayUsedSpace(ByVal nUsedSpace As Integer) As Boolean
    MsgBox("You have used " & nUsedSpace & "% of your disk drive space.")
End Function

Ответы [ 2 ]

5 голосов
/ 07 марта 2012

Да, это действительно. Хотя, наверное, я бы написал так:

Call DisplayUsedSpace(100 - nFreeSpace)

Но ваш код тоже будет работать нормально.

3 голосов
/ 07 марта 2012

Конечно, вы можете - VB сначала вычислит выражение.

Вы также можете изменить его перед вызовом

Public Sub MyApp()
    Dim nUsedSpace As Integer
    nUsedSpace = 100 - GetFreeSpace
    DisplayUsedSpace nUsedSpace
End Sub

Если вы хотите, чтобы он был действительно компактным:

Public Sub MyApp()
    Call DisplayUsedSpace(100 - GetFreeSpace)
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...