Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книга1(полный конспект).docx
Скачиваний:
55
Добавлен:
23.12.2018
Размер:
49.16 Mб
Скачать

10.8. Запись координат точек в текстовый файл

Пример 12.

Программа создает файл с расширением .txt который находится в каталоге “C:\Programm files\”

Const str = “C:\Programm files\”

Sub SavePoint_txt()

Dim pointXY As Variant

Dim NameFile As String

Dim F As Integer

Dim count As Integer

Count = 1

F = FreeFile

NameFile = ThisDrawing.Utility.GetString(True, vbCrLf & «Введите имя файла_для сохранения координат точек:»)

Open str & NameFile & “ .txt” For Append As F

Do

On Error GoTo Line

pointXY = ThisDrawing.Utility.GetString(, vbCrLf & «Укажите точку(“& N &_”): “)

For N = 1 To count

Print #F, Round(X(0), 4), Round(X(1), 4)

N = N + 1

Loop

Line:

Close F

End Sub

Вот другой пример записи координат точек. Он создает два отдельных файла для координат X и Y точки.

Пример 13.

Const str = “C:\Programm files\”

Sub SavePointtxt()

Dim pointXY As Variant

Dim list() As Double

Dim NameFile As String

Dim F As Integer

Dim N As Integer

Dim count As Variant

Count = ThisDrawing.Utility.GetDistance(, «Введите количество точек:»)

ReDim list(count, count) As Double

For N = 1 To count

pointXY = ThisDrawing.Utility.GetPoint(, vbCrLf & «Укажите точку(“ & N & “): “)

list(N, 0) = pointXY(0)

list(0, N) = pointXY(1)

on Error GoTo Line

next N

F = FreeFile

NameFile = ThisDrawing.Utility.GetString(True, vbCrLf & «Введите имя файла_для сохранения координат X точек:»)

Open str & NameFile & “ .txt” For Append As F

For N = 1 To count

Print #F, Round(list(N, 0), 4)

Next N

Close F

F = FreeFile

NameFile = ThisDrawing.Utility.GetString(True, vbCrLf & «Введите имя файла для сохранения координат Y точек:»)

Open str & NameFile & “ .txt” For Append As F

For N = 1 To count

Print #F, Round(list(0, N), 4)

Next N

Close F

Line:

End Sub

10.9. Чтение координат точек из текстового файла

Пример 14.

Const str = “C:\Programm files\”

Sub SavePoint_txt()

Dim pointXY As Variant

Dim NameFile As String

Dim F As Integer

Dim count As Integer

Dim point1 As ACAD_POINT

Dim coord(2) As Double

F = FreeFile

NameFile = ThisDrawing.Utility.GetString(True, vbCrLf & «Введите имя_входного файла точек:»)

Open str & NameFile & “ .txt” For Input As F

Do Until EOF(F)

Input #F, X, Y

Coord(1) = X

Coord(0) = Y

Set point1 = ThisDrawing.ModelSpace.AddPoint(coord)

Loop

Close F

End Sub

10.10. Копирование координат точек в буфер обмена

Иногда нет необходимости записи большого числа координат точек. Достаточно скопировать координаты одной или двух точек в буфер обмена, чтобы потом их вставить, например в MS Word. Ниже представлена программа которая копирует координаты одной точки в буфер обмена.

Пример 15.

Public Sub PointOnClipboard2()

Dim objClip As New DataObject

Dim objUtil As AcadUtility

Dim varPnt As Variant

Dim strPrmt As String

Dim strPnt As String

Dim varErr As Variant

On Error GoTo Line

Set objUtil = ThisDrawing.Utility

strPrmt = «Укажите точку для копирования в буфер обмена:»

varPnt = objUtil.GetPoint(Prompt:=strPrmt)

strPnt = Format(varPnt(1), “0.000”) & “, “ _

& Format(varPnt(0), “0.000”)

objClip.SetText strPnt

objClip.PutInClipboard

Line:

End Sub