esperknight
05-08-2003, 08:42 PM
Im curious on how to load a txt file one character at a time into an array.... i can do it in c++ but I can't think of how to do it in VB (pretty sad huh? :) ) I think it would have to do something like a buffer but... I'm not to sure. Can anyone help me please? Thanks!

Doug

YuanHao
05-08-2003, 09:02 PM
You could load the whole text and then parse it into characters, which I find most convenient :D. Not sure, thought maybe opening as binary...?

mohanakannan
05-08-2003, 09:57 PM
hi..
i have one Richtextbox and a command button on the form

Private Sub Command1_Click()
Dim strArr() As String
Dim lCurrPos As Long
Dim lFileLen As Long
lFileLen = Len(RichTextBox1.Text)
lCurrPos = 1
While lCurrPos <= lFileLen
ReDim Preserve strArr(lCurrPos)
strArr(lCurrPos) = Mid$(RichTextBox1.Text, lCurrPos, 1) lCurrPos = lCurrPos + 1 Wend End Sub Private Sub Form_Load() RichTextBox1.FileName = App.Path & "\text.txt" End Sub Robse 05-08-2003, 11:08 PM Im curious on how to load a txt file one character at a time into an array.... One way to do it: Public Function ReadChars(sPath As String) As String() Dim fn As Integer Dim sInput() As String ReDim sInput(0) fn = FreeFile Open sPath For Input As #fn Do While Not EOF(fn) ReDim Preserve sInput(UBound(sInput) + 1) sInput(UBound(sInput)) = Input(1, fn) Loop Close #fn ReadChars = sInput End Function MindGenius 05-08-2003, 11:49 PM Or you could load the value into a temporary variable, put Do While IsNotEmpty(temp) use the Left$ function..., and add 1 to that value every time, until it is empty!
The code should go a bit like this:

Dim Temp As Integer
Dim Y As Integer
Temp = PUTYOURDATAHERE
Do While IsNotEmpty(Temp)
Y = Y + 1
X = (Left$(Temp), Y) Temp = Temp - (Left$(Temp) ,1)
Loop

P.S. I have no idea how to add an item to a grid. I just put MsFlexGrid.AddItem ( :chuckle: )
I'm a n00b, so it prob'bly won't work! I think one of you gurus'll have to change the Temp = Temp - (Left\$(Temp) ,1) line...

OnErr0r
05-09-2003, 12:17 AM
It really makes no sense to read a file a single byte at a time. Load the file into a byte array, if you need to process it one byte at a time.

esperknight
05-09-2003, 04:58 AM
Wow, I didn't expect this many replys! Thanks everybody the code really helps :) OnErr0r, the reason i want to load it one byte at a time, i'm going to reverse it and make it so if the line goes pass so many characters, that before it it'll insert newline character :) Probably a really stupid way to go about it but it works right? :) Thank you everybody!

Doug

mohanakannan
05-09-2003, 07:52 PM
y don't y use StrReverse function..!!!