By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,617 Members | 1,751 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,617 IT Pros & Developers. It's quick & easy.

Why are quotes being added to my document when using FileSystem.Write(1)?

P: n/a
Hi Gang,
I've created a text-based file format. Once I've generated the text to save
the file is as it should be in the debug window. However once I write it to
a file a " is added to the beginning and a ", to the end. Can somebody
explain why? I'm using VB2003.
Thanks in advance for any help,
Christian Blackburn

Here's my code:
Public Sub SaveGame(ByVal strDocument As String, Optional ByVal
bolShow_Dialog As Boolean = False)

'Saves the current game with or without showing a save as dialog

'Stores the Document Text to be saved

Dim strText As String

'Used to cycle through all the value X and Y coordinates of the table's
lights

Dim X As Integer

Dim Y As Integer

'If the user has requested to show a dialog or no file was specified show
the save dialog

If bolShow_Dialog = True Or strDocument = "" Then

objfrmMain.SaveFileDialog.Title = IIf(strDocument = "", "Save Game",
"Save Game As")

objfrmMain.SaveFileDialog.FileName = strDocument

If objfrmMain.SaveFileDialog.ShowDialog() = DialogResult.OK Then

strDocument = objfrmMain.SaveFileDialog.FileName

Else

Exit Sub

End If

End If

strText = "OriginalDocumentName=" & strDocument & ";" & vbNewLine & _

"OriginalDocumentModified=" & DateTime.Now & ";" & vbNewLine & _

"ProgramTitle=" & strAPP_TITLE & ";" & vbNewLine & _

"ProgramPath=" & Application.ExecutablePath & ";" & vbNewLine & _

"ProgramDateTime=" & FileDateTime(Application.ExecutablePath) & ";" &
vbNewLine & _

"DocumentVersion=" & "1.03;" & vbNewLine & _

"PuzzleSize=" & "5,5;"

For X = 0 To 4

For Y = 0 To 4

If bolOn(X, Y) = True Then

strText = strText & vbNewLine & X & "," & Y & "=" & "1;"

Else

strText = strText & vbNewLine & X & "," & Y & "=" & "0;"

End If

Next

Next

Debug.WriteLine(vbNewLine & strDocument & ":")

Debug.Write(strText)

'Opens our document for output, with write only access, and locks the
writability until we're done

FileOpen(1, strDocument, OpenMode.Output, OpenAccess.Write,
OpenShare.LockWrite)

'Writes the strText text to the file

FileSystem.Write(1, strText)

'Closes our handle to the file, allowing all programs to edit the file

FileClose(1)

strFile = strDocument

'Disables the Save Menu Option and Toolbar Button, because we just saved the
file so there couldn't be anything

'worth saving yet

objfrmMain.mnuSave.Enabled = False

objfrmMain.ToolBar.Buttons(2).Enabled = False

objfrmMain.StatusBar.Text = strDocument & " saved."

End Sub
Nov 20 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a
[Hi Gang,
I thought I should mention way the file winds up looking:]

"OriginalDocumentName=D:\Current.EverybodyOn;
OriginalDocumentModified=9/10/2003 9:57:24 PM;
ProgramTitle=Everybody On;
ProgramPath=D:\Programming\VB.Net\EveryBody On\Source\Chapter2\bin\Everybody
On.exe;
ProgramDateTime=9/10/2003 9:57:18 PM;
DocumentVersion=1.03;
PuzzleSize=5,5;
0,0=1;
0,1=0;
0,2=0;
0,3=1;
0,4=0;
1,0=0;
1,1=1;
1,2=1;
1,3=1;
1,4=1;
2,0=0;
2,1=1;
2,2=0;
2,3=0;
2,4=1;
3,0=0;
3,1=0;
3,2=1;
3,3=0;
3,4=1;
4,0=1;
4,1=1;
4,2=1;
4,3=1;
4,4=1;",
[Here's how it should look:]

OriginalDocumentName=D:\Current.EverybodyOn;
OriginalDocumentModified=9/10/2003 9:57:24 PM;
ProgramTitle=Everybody On;
ProgramPath=D:\Programming\VB.Net\EveryBody On\Source\Chapter2\bin\Everybody
On.exe;
ProgramDateTime=9/10/2003 9:57:18 PM;
DocumentVersion=1.03;
PuzzleSize=5,5;
0,0=1;
0,1=0;
0,2=0;
0,3=1;
0,4=0;
1,0=0;
1,1=1;
1,2=1;
1,3=1;
1,4=1;
2,0=0;
2,1=1;
2,2=0;
2,3=0;
2,4=1;
3,0=0;
3,1=0;
3,2=1;
3,3=0;
3,4=1;
4,0=1;
4,1=1;
4,2=1;
4,3=1;
4,4=1;
Nov 20 '05 #2

P: n/a
Cor

"Christian Blackburn"
I did not real search all of your code, but I think the error is in this
part.
For X = 0 To 4
For Y = 0 To 4
If bolOn(X, Y) = True Then
strText = strText & vbNewLine & X & "," & Y & "=" & "1;"
Else
strText = strText & vbNewLine & X & "," & Y & "=" & "0;"
End If
Next
Next

When I see it right, you say everytime
a = a + n
a = a + n + a + n + a + n
etc.
I think you did mean something more like:
a = n + n + n
Dim temp as string
For X = 0 To 4
For Y = 0 To 4
If bolOn(X, Y) = True Then
temp = temp & vbNewLine & X & "," & Y & "=" & "1;"
Else
temp = temp & vbNewLine & X & "," & Y & "=" & "0;"
End If
Next
Next
strText = strText & temp

I hope this helps a little bit.
Cor

Nov 20 '05 #3

P: n/a
"Christian Blackburn" <Christian@Damn@Sp**@Hotmail.com> schrieb
Hi Gang,
I've created a text-based file format. Once I've generated the text
to save the file is as it should be in the debug window. However
once I write it to a file a " is added to the beginning and a ", to
the end. Can somebody explain why? I'm using VB2003.
Thanks in advance for any help,
Christian Blackburn

[...]

FileOpen(1, strDocument, OpenMode.Output, OpenAccess.Write,
OpenShare.LockWrite)

'Writes the strText text to the file

FileSystem.Write(1, strText)

'Closes our handle to the file, allowing all programs to edit the
file

FileClose(1)


Have a look at the docs for FileSystem.Write. Whenever you write a string,
<"> is written before and after. You can write several values in the same
line into the file. They are separated by a ",". If your string also
contains a comma you can distinguish between the comma within a string and
the comma separating the values because the string is put in quotes. Use
FileSystem.Print instead (see it's docs for more information).

You can also create a FileStream (System.IO.FileStream) instead.

See also:

<F1>
Visual Studio.NET
Visual Basic and Visual C#
Reference
Visual Basic language
Visual Basic Language Tour
-> Processing drives, folders and files
.NET Framework
Programming with .NET Framework
-> Working with I/O

--
Armin

Nov 20 '05 #4

P: n/a
Yay,
Thanks again Armin. Your FileSystem.Print suggestion worked great.
Cheers,
Christian

"Armin Zingler" <az*******@freenet.de> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
"Christian Blackburn" <Christian@Damn@Sp**@Hotmail.com> schrieb
Hi Gang,
I've created a text-based file format. Once I've generated the text
to save the file is as it should be in the debug window. However
once I write it to a file a " is added to the beginning and a ", to
the end. Can somebody explain why? I'm using VB2003.
Thanks in advance for any help,
Christian Blackburn

[...]

FileOpen(1, strDocument, OpenMode.Output, OpenAccess.Write,
OpenShare.LockWrite)

'Writes the strText text to the file

FileSystem.Write(1, strText)

'Closes our handle to the file, allowing all programs to edit the
file

FileClose(1)


Have a look at the docs for FileSystem.Write. Whenever you write a string,
<"> is written before and after. You can write several values in the same
line into the file. They are separated by a ",". If your string also
contains a comma you can distinguish between the comma within a string and
the comma separating the values because the string is put in quotes. Use
FileSystem.Print instead (see it's docs for more information).

You can also create a FileStream (System.IO.FileStream) instead.

See also:

<F1>
Visual Studio.NET
Visual Basic and Visual C#
Reference
Visual Basic language
Visual Basic Language Tour
-> Processing drives, folders and files
.NET Framework
Programming with .NET Framework
-> Working with I/O

--
Armin

Nov 20 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.