Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопросы по синтаксису

20K
22 марта 2009 года
DeVOLT
39 / / 28.09.2008
Всю жизнь программировал на С++ и Delphi, а тут заставили писать прогу на Visual Basic
Есть вопросы по синтаксису:

1. Многооконное приложение. На одном из окон стоит кнопочка "выход". Надо запрограммировать её, чтоб при нажатии приложение завершалось(завершался процесс). Как это сделать? Какая функция?

2. Есть какой-нибудь компонент в VB для работы с таблицами? Если есть, то в какой категории компонентов прячется? Надо организовать ввод данных в табличном виде. т.е. пользователь забивает табличку на форме, а программа уже из этой таблички считывает исходные данные.

3. Дайте пожалуйста пример, как массив передать в функцию в качестве параметра?
275
22 марта 2009 года
pashulka
985 / / 19.09.2004
1. Попробуйте для начала использовать что-то вроде :

 
Код:
Private Sub Command1_Click()
    Dim iForm As VB.Form
    For Each iForm In VB.Forms
        Unload iForm
    Next
End Sub


Или :

 
Код:
Private Declare Function TerminateProcess _
        Lib "kernel32.dll" ( _
        ByVal hProcess As Long, _
        ByVal uExitCode As Long) As Long
Private Declare Function GetCurrentProcess _
        Lib "kernel32.dll" () As Long

Private Sub Command1_Click()
    TerminateProcess GetCurrentProcess, 0&
End Sub


2. В меню Project выберите команду Components и в появившемся окне поищите какой-нибудь Grid ()

3.
Код:
Private Sub Test()
    Dim iArray(1 To 3) As Single
   
    iArray(1) = 123.456
    iArray(2) = 456.123
    iArray(3) = 789.456123
   
    MsgBox Sum(iArray), , ""
End Sub

Private Function Sum(iArray() As Single) As Single
    Dim iCount As Integer
    For iCount = 1 To 3 'LBound(iArray) To UBound(iArray)
        Sum = Sum + iArray(iCount)
    Next
End Function
20K
22 марта 2009 года
DeVOLT
39 / / 28.09.2008
[SIZE="5"]pashulka[/SIZE] спасибо огромное!!! Это как-раз то, что я искал :)
7
22 марта 2009 года
@pixo $oft
3.4K / / 20.09.2006
1.Делается намного проще.Не надо Unload все формы,и API использовать тоже необязательно.Пишем в обработчике Command1_Click 3 буквы(нет,не те,что вы подумали:))
 
Код:
Private Sub Command1_Click()
  [COLOR="Red"]End[/COLOR] 'Вот они,эти волшебные 3 буквы!
End Sub
и задача решена!
3.Можно на всякий случай написать
 
Код:

Private Function Sum([COLOR="Red"]ByRef[/COLOR] iArray() As Single) As Single
чтобы точно указать компилятору,чего мы от него хотим

С 2 не поспоришь:)…разве что посоветовать Ctrl+T нажать,дабы не лазать по меню.Но это так,всего лишь совет по акселерации
275
22 марта 2009 года
pashulka
985 / / 19.09.2004
ByRef используется по умолчанию, поэтому указывать его явно не нужно, тем паче, что массивы всё равно могут передаваться только по ссылке.
7
23 марта 2009 года
@pixo $oft
3.4K / / 20.09.2006
Мало ли…Вдруг автор захочет всё-таки их по значению передать?;)
275
23 марта 2009 года
pashulka
985 / / 19.09.2004
Если бы, при передаче массивов, можно было использовать ByVal iArray(), то ByRef тем более не стал бы нужен.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог