Сохранить Line

kaskad755

Active member
13.02.2009
34
0
#1
Господа подскажите возможно ли сохранить в текстовов файле (*.txt) линию (Line), и потом вернуть её на форму???
 

alex77755

Well-known member
15.02.2009
128
0
#2
А что мешает сохранить координаты линии в текстовом файле и при открытии формы или по кнопке считать их и загрузив линию присвоить ей координаты, считанные из текстового файла
 

Gamlet

Well-known member
08.01.2007
525
0
#3
alex77755
Других вариантов я себе представить не могу. Только человеку с таким вопросом вероятно код нужен.
 

kaskad755

Active member
13.02.2009
34
0
#4
Если честно, даже не представляю как это делается(учусь,и пока с трудом).............
 

alex77755

Well-known member
15.02.2009
128
0
#5
Создай пустой проект
Форма "Форма1"

кинь на неё три кнопки: Комманда1, Комманда2, Комманда3
скопируй код: (конечно примитвно, но для начала пойдёт)

Код:
Dim Xn, Yn, R
Private Sub Form_Load()
Форма1.Комманда1.Caption = "Добавить линию"
Форма1.Комманда1.Default = True
Форма1.Комманда2.Caption = "Удалить линию"
Форма1.Комманда2.Enabled = False
Форма1.Комманда3.Caption = "Загрузить линию"
Форма1.Комманда3.Enabled = False
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If R = 1 Then
Xn = X
Yn = Y
Комманда1.Caption = "Удерживайте клавишу"
R = 2
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If R = 2 Then Комманда1.Caption = "Отпустите в конце"
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Open App.Path & "\sav.txt" For Output As 1		' запоминаем координаты в файл
Print #1, Xn, Yn, X, Y
Close #1
Форма1.Line (Xn, Yn)-(X, Y)
Комманда1.Caption = "линия добавлена"
Комманда1.Enabled = False
Комманда2.Enabled = True
End Sub
Private Sub Комманда1_Click()
If R = 0 Then
R = 1
Комманда1.Caption = "Нажмите на начало"
End If
End Sub
Private Sub Комманда2_Click()
Форма1.Cls
Комманда2.Enabled = False
Комманда3.Enabled = True
End Sub
Private Sub Комманда3_Click()
Dim Xk, Yk
Open App.Path & "\sav.txt" For Input As 1
Input #1, Xn, Yn, Xk, Yk
Close #1
Kill App.Path & "\sav.txt"
Форма1.Line (Xn, Yn)-(Xk, Yk)
Комманда3.Caption = "линия загружена"
End Sub
 

kaskad755

Active member
13.02.2009
34
0
#6
Большое спасибо, понятно(теперь хотя бы знаю от чего плясать)
 

alex77755

Well-known member
15.02.2009
128
0
#7
Смотря для каких целей. Используя Line нельзя, при необходимости, удалить одну линию - можно только очистить форму.
Если необходимо удалять по одной линии, то лучше загружать и выгружать объект( в русской версии он называется "Строка).
Только сначала на форму надо кинуть одну, установить в её свойствах индекс = 0 и видимость = False.
Ну и использовать Load UnLoad
 

kaskad755

Active member
13.02.2009
34
0
#8
Смотря для каких целей. Используя Line нельзя, при необходимости, удалить одну линию - можно только очистить форму.
Если необходимо удалять по одной линии, то лучше загружать и выгружать объект( в русской версии он называется "Строка).
Только сначала на форму надо кинуть одну, установить в её свойствах индекс = 0 и видимость = False.
Ну и использовать Load UnLoad


Load UnLoad СПОСИБОЧКИ, это как раз то что нужно..........