Hej! Har suttit och lusläst folks inlägg om textfiler, utan att riktigt få svar på min undran. Blir glad att Ni har hittat detta VB6 Forum. Varför krångla. ? Mjao, inte riktigt rätt.. <b>Kan man lokalisera "," teknet på ett bra sätt?</b>Textfilssökning i VB6
Jag har en textfil som innehåller en mängd rader. Varje rad innehåller 4 strängar, i syntaxen
"sträng1","sträng2","Sträng3","sträng4"
Strängarna kan ha en stor variation i längd.
I mitt program vill jag göra en slumpvis sökning på en viss rad, skriva ut sträng1 i en label, och stoppa in de andra i temporära variabler. Vid nästa sökning så kan resultatet på första bli överskrivet.
M.a.o: Optimalt hade man velat specifiera att programmet skulle kunna plocka ut t.ex sträng2 ur rad 42 i textfilen, och lägga den i en tempvariabel, använda den till det den ska, och sen ta sträng 4 ur rad 13.
Jag är ingen van VB programmerare, så försök hålla lösningen så basic som möjligt så jag förstår den.. ;)
Sv: Textfilssökning i VB6
Enkla smarta lösningar kan man göra i VB.
Svar på din fråga är Funktionen Split. Man tillverkar en array(kedja)
Skulle kunna se ut så här.
<code>
Dim MyArray As String, MyWord As String
MyArray = Split(Sträng, ",")
'Nu har du en array med alla orden separerade med ","
'du hittar ord 2 med
' MyWord = MyArray(2) 'börjar på 0
</code>
När Vi nu har en Array så kör Vi Rnd (Random) genom denna Array.
Ahhhhhhhhhhhhh kanske lite fel men ! Kom igen så skriver Vi en slug funktion.Sv:Textfilssökning i VB6
Alltså, jag använder en slumpgenerator för att få fram vilken rad jag vill ha, sedan vill jag använda den första strängen på den raden "sträng1", som kan vara allt mellan 10 och 150 tecken. Sträng2 i raden vill jag stoppa undan på en variabel, och sträng3 och sträng4 används om programmet frågar efter dom.
Solklart? ;)
Så funktionen jag vill ha egentligen är att slumpa fram en rad, och sedan ta de 4 strängar som finns där, åtskilda med "," och stoppa in de i 4 strängvariabler.
Kikat på Line Input för raden, å det är ju grönt, men det andra? Kan man lokalisera "," teknet på ett bra sätt?Sv: Textfilssökning i VB6
<code>
Dim pos As Long
pos = InStr(sträng1, ",") ' får du pos på första ","
' Sedan kan kan du använda Start för att hitta nästa.
' Men använd Split för att hitta dom som är sträng och jobba med Array
</code>