Идёт загрузка страницы...

htp://aptem.net.ru






На главную страничку учебника Visual Basic

Стандартные функции VB (F-G)

Описание ф-ций, встроенных в Visual Basic 5, начинающихся с букв F до G


Список функций, описанных в этом разделе:


---F---


FileAttr(filenumber, returntype) - Возвращает вид открытия файла ф-цией Open. returntype должно равняться 1. Варианты возвращаемых значений (слева - тип, справа - значение):

Input 1
Output 2
Random 4
Append 8
Binary 32

Пример:

Dim FileNum, Mode
FileNum = 1
Open "TESTFILE" For Append As FileNum
Mode = FileAttr(FileNum, 1) ' Возвратит 8 (Т.е. файл открыт
' методом Append).

Close FileNum ' Close file.


FileDateTime(pathname) - возвращает тип Date, даты последнего изменения файла.

Пример:

Dim MyStamp
' Предположим, что файл TESTFILE последний раз был изменён
' 12 февраля 1993 в 16:35:47

MyStamp = FileDateTime("TESTFILE") ' Возвратит "2/12/93 4:35:47 PM".


FileLen(pathname) - возвращает размер файла.

Пример:

Dim MySize
MySize = FileLen("TESTFILE") ' Возвратит длину файла в байтах


Fix(number) - возвратит целую часть числа.

Пример:

Dim MyNumber

MyNumber = Fix(99.2) ' возвратит 99.
MyNumber = Fix(-99.8) ' возвратит -99.
MyNumber = Fix(-99.2) ' возвратит -99.


Format(expression[, format[, firstdayofweek[, firstweekofyear]]]) - возвращает String отформатированной строки (как в С).

Пример:

Dim MyTime, MyDate, MyStr
MyTime = #17:04:23#
MyDate = #January 27, 1993#

' Возвратит текущее системное время в длинном формате.
MyStr = Format(Time, "Long Time")

' Возвратит текущую системную дату в длинном формате.
MyStr = Format(Date, "Long Date")

MyStr = Format(MyTime, "h:m:s") ' Возвратит "17:4:23".
MyStr = Format(MyTime, "hh:mm:ss AMPM") ' Возвратит "05:04:23 PM".

MyStr = Format(MyDate, "dddd, mmm d yyyy")
' Возвратит "Wednesday,
' Jan 27 1993".

' Если формат не задан, то возвратится просто строка.
MyStr = Format(23) ' Возвратит "23".

' Форматы определённые пользователем

MyStr = Format(5459.4, "##,##0.00") ' Возвратит "5,459.40".
MyStr = Format(334.9, "###0.00") ' Возвратит "334.90".
MyStr = Format(5, "0.00%") ' Возвратит "500.00%".

MyStr = Format("HELLO", "<") ' Возвратит "hello".
MyStr = Format("This is it", ">") ' Возвратит "THIS IS IT".

Если вам нужно подробное описание всех возможных форматов - обращайтесь к документации по VB.


FreeFile[(rangenumber)] - возвратит следующий пустой файловый номер.

Пример:

Dim MyIndex, FileNumber
For MyIndex = 1 To 5 ' Начало цикла
FileNumber = FreeFile ' Получаем неиспользуемый номер
Open "TEST" & MyIndex For Output As #FileNumber
Write #FileNumber, "Это пример." ' Запишем текст в файл
Close #FileNumber ' Закроем файл
Next MyIndex


---G---


GetAllSettings(appname, section) - Возвратит список всех настроек в секции. (Которые были записаны ф-цией SaveSetting).

Пример:

Dim MySettings As Variant, intSettings As Integer
' Запишем кое-какие настройки
SaveSetting "MyApp", "Startup", "Left", 50
' Возвратит строку:
MySettings = GetAllSettings("MyApp", "Startup")
For intSettings = LBound(MySettings, 1) To UBound(MySettings, 1)
Debug.Print MySettings(intSettings, 0), MySettings(intSettings, 1)
Next intSettings
DeleteSetting "MyApp", "Startup" ' Удалим записанные настройки


GetAttr(pathname) - Возвратит атрибуты файла или папки.

Варианты возвращаемых значений:

vbNormal - 0 - Normal
vbReadOnly - 1 - Read-only
vbHidden - 2 - Hidden
vbSystem - 4 - System
vbDirectory - 16 - Directory or folder
vbArchive - 32 - File has changed since last backup

Пример:

Dim MyAttr
' Предположим файл TESTFILE имеет атрибут "скрытый"
MyAttr = GetAttr("TESTFILE") ' Возвратит 2

' Возвратит не ноль, если атрибут "скрытый" установлен
Debug.Print MyAttr And vbHidden

' Возвратит не ноль, если установлены "скрытый" и "только для чтения"
Debug.Print MyAttr And (vbHidden + vbReadOnly)

' Предположим что MYDIR папка.
MyAttr = GetAttr("MYDIR") ' Возвратит 16.


object.GetAutoServerSettings([progid], [clsid]) - с помощью этой ф-ции можно получить ProgID и CLSID, т.е. GUID компонента ActiveX.

Пример:

В этом примере мы получаем информацию о регистрации объекта Hello.

Dim oRegClass As New RegClass
Dim vRC As Variant
vRC = oRegClass.GetAutoServerSettings ("HelloProj.HelloClass")
If Not(IsEmpty(vRC)) Then
If vRC(1) Then
MsgBox "Hello удалённо зарегистрирован на сервере - " & vRC(1)
Else
MsgBox "Hello зарегистрирован локально."
End If
End if


GetObject([pathname] [, class]) - возвращает ссылку на объект ActiveX ассоциированного с определённым файлом.

Пример:

В это примере переменная MyXL получает ссылку на объект ActiveX Excel.

Dim MyXL As Object
Set MyXL = GetObject("C:\Мои документы\EXCEL\Русское лото.xls")
MyXL.Application.Visible = True
MyXL.Parent.Windows(1).Visible = True

'здесь производятся необходимые манипуляции с файлом

MyXL.Application.Quit ' Закрытие приложения Excel
Set MyXL = Nothing ' Освобождение ссылки


GetSetting(appname, section, key[, default]) - Возвращает настройку из реестра, записанную туда ф-цией SaveSetting. Я почему-то не нашёл в документации путь, куда сохраняются настройки. Пришлось определять самому. Оказалось, что настройки записываются по адресу:
HKEY_CURRENT_USER\SOFTWARE\VB and VBA Program Settings

Пример:

Dim znachenie As Long
znachenie = 1212 ' Это число взято от балды, для примера
SaveSetting "MyApp", "Sekcia", "Kluch", znachenie 'сохраняем настройки
Form1.Caption = GetSetting("MyApp", "Sekcia", "Kluch", 2222)
' получаем 1212 или если настроек нет, то
' получаем значение по умолчанию 2222.

На главную страничку учебника Visual Basic