UpdateFromAscii method (Layer)

Обновляет заданные поля базы данных значениями из текстового файла.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function UpdateFromAscii(iDb ZbDatabase, AsciiFile As String, Fields) As Long

iDb - объект базы данных

AsciiFile - полное имя текстового файла, в котором указаны ключи объектов, для которых производится обновление, а также обновляемые значения для каждого ключа.

Fields - набор полей. Может быть задан как

а) строки, разделенные символом с кодом ASCII 10.

б) массивом строк.

в) массивом номеров полей.

г) указателем на первый элемент массива, тогда необходимо задать параметр Count - число элементов массива.

Описание:

Метод возвращает объект ZbDatabase.

Пример VBScript:

'*********************************************************
'Процедура пакетного обновления записей через ASCII файл
'*********************************************************
Sub BeginEndFromASCII

'Объект для вывода в окно сообщений
Set Out = Zulu.OpenOutputChannel("")

'Очищаем окно сообщений
Out.Clear

'Фиксируем начало процесса
Out.Put "Start" + CHR(10)

'Создаем объект для работы с файлами
Set fc = CreateObject("Scripting.FileSystemObject")

'Открываем (создаем) файл на запись в формате UNICODE
Set File = fc.OpenTextFile("c:\temp\BeginEndFromASCII.tmp",ForWriting, true, TristateTrue)

'Получаем активный слой текущей карты
Set L = Zulu.ActiveMapDoc.Layers.Active

'Создаем объект для базы данных
Set db = CreateObject("Zb.ZbDatabase")

'Открываем базыу данных для типа с ID=2
db.Open L.ObjectTypes.Item(2).BaseName

'Получаем линейные объекты сети
Set NWObjects = L.NetworkObjects(eNetworkArcs)

'По всем участкам сети
For i = 1 To NWObjects.Count
    
'Получаем i-й участок
	Set NWObject = NWObjects.Item(i)

'Создаем строку для текущего участка через запятую ID участка, ID начального и ID конечного узла 
	S = Cstr(NWObject.Key) + ",""" + CStr(NWObject.KeyBegin) + "人民共和"",""" + CStr(NWObject.KeyEnd) + "고려"""

'Записываем строку в файл
	File.WriteLine(S)    
Next    

'Закрываем файл
File.Close

'Запмсываем данные ASCII файла в указанные поля базы данных для указанных в файле ID
L.UpdateFromAscii db, "c:\temp\BeginEndFromASCII.tmp", "Begin_uch" + CHR(10) + "End_Uch"

'Фиксируем завершение процесс процесса
Out.Put "Finish" + CHR(10)

MsgBox "Finish"

End Sub