jag skulle vilja plocka ut varje bokstav i en textfil, och sätta in de i en array. Hej bana(14) är satt till 14 för att det är just 14 rader i textfilen. men det borde egentligen inte vara så. Hej igen just nu ser texten ut precis som jag skrev. ioförsig kan jag ju använda bokstäver istället för specialtecken ifall det underlättar. Hej igenplocka ut varje tecken i en textfil
såhär gör jag för att plocka ut varje rad i textfilen:
<code>
Dim i, bana(14) As String
Open App.Path & "\bana.txt" For Input As #1
i = 1
Do While Not EOF(1)
Line Input #1, sbuff
bana(i) = sbuff
i = i + 1
Loop
</code>
men som sagt, jag vill få varje bokstav för sig.
<code>
ex.
"a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,å,ä,ö"
istället för tex.
"abcdefgh,ijklmnop,qrstuvwx,yzåäö"
</code>Sv: plocka ut varje bokstav i en textfil
Lite lurigt , Varför är bana(14) satt till just 14
Hur ser et exempel på sBuff ut, dvs en rad i Bana.txt ?
Finns det kommatecken eller andra tecken i textfilen ?
undrar
SvenSv: plocka ut varje bokstav i en textfil
egentligen <i>behöver</i> det inte läggas in i en array heller, men jag tänkte att det skulle vara lättast så.
jag håller nämligen på att göra typ ett spel, där man läser in en enkel bana från en textfil, för att sedan placera ut bandelar efter hur textfilen ser ut.
<code>
ett exempel på en rad i bana.txt:
###,--´-------------------------.#######
(kommatecken behöver inte vara där)
</code>Sv: plocka ut varje bokstav i en textfil
Det blev man ju inte mycket klokare på.
Skall jag fatta det som att ----- betyder olika bokstäver
är det både versaler och gemena använder du # till något vettigt ?
kan samma bokstav förekomma flera gånger ?
Skall kanske alla tecken som finns i raden läggas in i en array ?
undrar
Sven Sv: plocka ut varje bokstav i en textfil
<code>
så istället för
###,--´-------------------------.#######
kan det lika gärna vara
aaabccdccccccccccccccccccccccccceaaaaaaa
det spelar ingen större roll.
</code>
edit: ja, alla tecken på raden ska med.Sv: plocka ut varje bokstav i en textfil
Så här ungefär kan du göra
Option Explicit
Dim WorkArray() As String
Dim Bana(14) As String
Private Sub Command1_Click()
Dim i As Long, sBuff As String
Dim FileNum As Long, tmpStr As String
FileNum = FreeFile
Open App.Path & "\bana.txt" For Input As #FileNum
'Ifall det finns mindre eller fler än 14 Lines
On Error Resume Next
For i = 1 To 14
Line Input #FileNum, sBuff
bana(i) = sBuff
Next ' i
Close #FileNum
'Nu kan du hämta en Line från vilken bana du vill
'och lägga in den i en WorkArray ex .bana(3)
ReDim WorkArray(Len(bana(3)))
tmpStr = bana(3)
For i = 1 To UBound(WorkArray)
WorkArray(i) = Mid$(tmpStr, i, 1)
Next 'i
'Bana(3) ligger nu i WorkArray tecken för tecken
End Sub
mvh
Sven