hi there... i am very new (and i mean VERY NEW at visual basic) programming, lets just say this is my 5th hour (and counting) learning programming, i googled since hour 1, i even read almost all i can read while im installing visual studio 2010 coz i really want to learn this programming language coz somebody said that this is an easy language to learn coz of GUI.. so please be easy on me on this one

i got a program here with 10 textboxes and 3 buttons, and i want to save every text on that textboxes in a file (myfile.txt)..

i did that by using this commands

``````Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim sb As New StringBuilder()
Dim user As String = Environment.UserName
sb.Append(TextBox1.Text)
sb.Append(TextBox2.Text)
sb.Append(TextBox3.Text & vbCrLf)
sb.Append(TextBox4.Text & vbCrLf)
sb.Append(TextBox5.Text & vbCrLf)
File.WriteAllText("c:\account\myfile.txt", sb.ToString())
MessageBox.Show("File Saved")``````

OR

``````Dim output As String = ""
output = TextBox1.Text & Environment.NewLine & TextBox2.Text & Environment.NewLine & TextBox3.Text & Environment.NewLine
My.Computer.FileSystem.WriteAllText("C:/account/myfile.txt", output, True)
MessageBox.Show("File Saved")``````

all of that is working, i know everyone of them is doing the same darn thing but i wanted to learn every possible approach on this program

now what i dont know is how to save that text in a format..

1. i want the textbox1 to be only 6 digits, i already edited the maxlength property of the textbox to 6. now the problem is if i input 3 character e.g. "aaa" and i want the remaining length to be automatically filled with a "space"
so it will become "aaa " (with 3 spaces after the last "a")
2. then i want the textbox2 to do the same thing AFTER the textbox1 and with space also..

*darn english is not my first language*

can anyone help me please?

4
Contributors
5
Replies
7
Views
6 Years
Discussion Span
Last Post by codeorder

aight, i did a little research again and this is the code of my button

``````Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
TextBox1.SelectionStart = TextBox1.Text.Length
If TextBox1.Text.Length < 6 Then
TextBox1.Text += " "
TextBox1.SelectionStart = TextBox1.Text.Length
End If
Dim n As String = Environment.NewLine
My.Computer.FileSystem.WriteAllText("C:/account/myfile.txt", TextBox1.Text & TextBox2.Text & TextBox3.Text & n & TextBox4.Text & TextBox5.Text, False)
End Sub``````

but the problem is its not autofilling the remaining spaces..
e.g. i typed in "aa" but in myfile.txt i can see that its "aa (with 1 space only)" how can i make it to autofill the remaining character length automatically?! e.g. "aa (4 spaces)"

Use a for loop:
Try this:
Dim i As Integer
If textbox1.Length < 6 Then
For i = textbox1.Length To 5
textbox1.Append("*")
Next
End If

The code says you loop through the deficiency of the length of the string.
Got it?
Oh, and change the "*" char to " " (space)

Edited by roottybrian: n/a

``TextBox1.Text.PadRight(6)``

will fill your string with spaces

guys thanks for the help, managed to build up a code using google :) i know its a dirty and bulky code but it works, can anyone gimme some tips or tweaks so that i can make this a lil bit lighter on the eyes.. i wanted to learn everything bout this visual basic :)

``````Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
Dim MyString1 As String = TextBox1.Text.PadRight(6)
Dim MyString2 As String = TextBox2.Text.PadRight(3)
Dim MyString3 As String = TextBox3.Text.PadRight(10)
Dim MyString4 As String = TextBox4.Text.PadRight(6)
Dim MyString5 As String = TextBox5.Text.PadRight(8)
Dim MyString6 As String = TextBox6.Text.PadRight(20)
Dim MyString7 As String = TextBox7.Text.PadRight(25)
Dim MyString8 As String = TextBox8.Text.PadRight(3)
Dim MyString9 As String = TextBox9.Text.PadRight(9)
Dim MyString10 As String = TextBox10.Text.PadRight(35)
Dim n As String = Environment.NewLine
My.Computer.FileSystem.WriteAllText("C:/account/myfile.txt", MyString1 & MyString2 & MyString3 & n & MyString4 & MyString5 & MyString6 & MyString7 & MyString8 & MyString9 & MyString10, False)
End Sub``````

This part for FileName "C:/account/myfile.txt", use \ instead of /.
Example: "C:\account\myfile.txt"

As for the rest, see if this helps.

``````Dim n As String = Environment.NewLine
Dim MyString As String = TextBox1.Text.PadRight(6) '// add first TextBox text.
'// add to the same string a new line and the following TextBoxes' text.
MyString &= n & TextBox2.Text.PadRight(3)
MyString &= n & TextBox3.Text.PadRight(10)
MyString &= n & TextBox4.Text.PadRight(6)
MyString &= n & TextBox5.Text.PadRight(8)
MyString &= n & TextBox6.Text.PadRight(20)
MyString &= n & TextBox7.Text.PadRight(25)
MyString &= n & TextBox8.Text.PadRight(3)
MyString &= n & TextBox9.Text.PadRight(9)
MyString &= n & TextBox10.Text.PadRight(35)
My.Computer.FileSystem.WriteAllText("C:\account\myfile.txt", MyString, False) '// write to file.``````

Btw, my first few hours of programming in vb.net, I was having trouble adding a TextBox to the Form. :D

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.