2016-11-20 3 views
0

Я пытаюсь «сохранить» контекст текстового поля в vb6 в файл * .ini, чтобы его можно было использовать в более поздней части программы. (то есть пользователь вводит что-то в текстовое поле, а затем в программе появится метка с введенной пользователем, сохраненной информацией).Определенный пользователем тип не определен vb6

Я использовал следующий код, который я скопированного из источника программы кто-то еще, однако он не работал:

Dim fsys As New FileSystemObject 
Dim outstream As TextStream 
Dim write1 As String 
Dim val1 As String 
val1 = Text1.Text 
inisettings = App.Path & "\Variables.ini" 
Set outstream = fsys.OpenTextFile(inisettings, ForWriting, False, TristateFalse) 
outstream.WriteLine (val1) 
Set outstream = Nothing 

Это результат:

Error message

ли кто-нибудь есть способ сохранить данные позже?

+0

@ Danh, если ответ решает вашу проблему, отметьте его как решение. – Herb

+0

@Herb не мой вопрос – Danh

+0

@ Doofitator, если ответ решает вашу проблему, отметьте его как решение. – MarkJ

ответ

1

Вы должны объявить TristateFalse и дать ему значение как 0, 1 или 2.

Вы можете посмотреть по этой ссылке можно:

https://msdn.microsoft.com/en-us/subscriptions/bxw6edd3(v=vs.84).aspx 

Надежда это может помочь

3

FileSystemObject жизни внутри внешней библиотеки, использовать его нажмите Проект затем Ссылки и пометьте Microsoft Scripting Runtime.

Вам не нужно ничего делать, код ниже использует встроенную функциональность VB для записи файла.

Dim hF As Integer 
hF = FreeFile() 

Open App.Path & "\Variables.ini" For Output As #hF 
Print #hF, val1 
Close #hF 
1

Причина, по которой вы получаете эту ошибку, состоит в том, что у вас нет ссылки на библиотеку времени выполнения сценариев Microsoft. Следуйте приведенным ниже инструкциям в проекте VB6:

  1. В верхнем меню выберите «Проект»> «Ссылки».
  2. Из списка выберите пункт «Время выполнения сценариев Microsoft».
  3. Нажмите OK.

Это решит вашу немедленную ошибку, однако у вашего кода все еще есть другие проблемы. Во-первых, вы забыли объявить переменную inisettings. Я собираюсь предположить, что вы захотите всегда перезаписывать весь файл каждый раз, когда вы обновляете файл INI, чтобы использовать метод CreateTextFile вместо OpenTextFile.

Dim fsys As New FileSystemObject 
Dim outstream As TextStream 
Dim write1 As String 
Dim val1 As String 
Dim inisettings As String 

val1 = Text1.Text 
inisettings = App.Path & "\Variables.ini" 
Set outstream = fsys.CreateTextFile(inisettings, True, False) 
Call outstream.WriteLine(val1) 
Set outstream = Nothing 

Удачи вам!