2016-11-20 204 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

@ダン、答えがあなたの問題を解決した場合は、解決策としてマークしてください。 – 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 Scripting Runtimeライブラリへの参照がないためです。 VB6プロジェクトでは、以下の手順に従ってください。

  1. トップメニューから[プロジェクト]> [参照情報]をクリックします。
  2. リストから、「Microsoft Scripting Runtime」という項目を確認します。
  3. [OK]をクリックします。

これにより、すぐにエラーが解決されますが、コードにはまだ他の問題があります。最初に、変数inisettingsを宣言するのを忘れました。私は、OpenTextFileの代わりにCreateTextFileの方法を使用したいので、INIファイルを更新するたびにファイル全体を常に上書きしたいと思っています。

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 

幸運!

関連する問題