03. oktober 2001 - 17:10
Der er
8 kommentarer og 1 løsning
Dele input op...
Hejza Folks!! Er der nogen der kan hjælpe med dette: Jeg har en fil på 6 linjer og jeg vil gerne have de 6 linjer delt op i 6 streng-variabler. Hvordan kan det gøres udfra \"input as #1\"-princippet??? Jeg tænker noget i stil med dette: dim streng1 as string dim streng2 as string osv. open \"c:\\text.txt\" for input as #1 line1 = streng1 line2 = streng2 osv... close #1 / Martin
Annonceindlæg fra Barco
03. oktober 2001 - 17:37
#1
Hvis du ved at du kun skal bruge de første 6 linier: dim streng1 as string dim streng2 as string osv. open \"c:\\text.txt\" for input as 1 input #1, line1 input #2, line2 osv... close #1 Hvis du ikke ved hvor mange linier der er så brug et array. Dim aryLines() As String Dim strData As String Dim intCount as Integer Open \"c:\\test.txt\" for input as 1 strData = input(filelen(\"c:\\test.txt\"),1) Close #1 aryLines = Split(strData, vbCrLf) For intCount = 0 To UBound(aryLines) Debug.Print \"Linie \" & intCount & \" indeholder: \" & aryLines(intCount) Next intCount Debug.Print \"Der var i alt \" & UBound(aryLines) & \" linier.\"
03. oktober 2001 - 19:01
#2
Jeg ved at det kun er de 6 første, men dit princip øverst virker desværre ik :( Dim Line1 As String Dim Line2 As String Dim Line3 As String osv... Open \"c:\\test.txt\" For Input As #1 Input #1, Line1 Input #2, Line2 Input #3, Line3 osv... Close #1 Dette giver resultatet: Bad file og number ud for \"input #2, line2\" Ved det andet princip giver debug dette resultat: Linie 0 indeholder: Testline 1 Linie 1 indeholder: og jeg har tjekket filen og ved at der er 5 linjer. / Martin
03. oktober 2001 - 19:28
#3
Jeg prøvede et lidt andet princip, og fik det til at virke lidt, men nu skal jeg bare splitte strengne om på en anden måde i stedet for...
03. oktober 2001 - 19:31
#4
Sorry, det skulle selvfølgeligt ha\' været: dim streng1 as string dim streng2 as string osv. open \"c:\\text.txt\" for input as 1 input #1, line1 input #1, line2 osv... close #1 ..da filen jo er nr 1 hele tiden.
03. oktober 2001 - 19:32
#5
Aaaaargh, jeg prøver lige igen. dim line1 as string dim line2 as string osv. open \"c:\\text.txt\" for input as 1 input #1, line1 input #1, line2 osv... close #1
03. oktober 2001 - 20:08
#6
Jamen skal vi ikke sige, at du får pointene alligevel, for et godt foreslag, som kun skulle laves lidt om :) Hvis du så kan fortælle mig, hvordan jeg refererer til en knap fra en anden form. Altså fx: form1.connect_click (men dette virker ik)... / Martin
03. oktober 2001 - 20:22
#7
Jeg er ikke helt sikker på at jeg fårstår hvad det er du vil ? Du kan refererer til en knap med FormNavn.KnapNavn.PropertyNavn = \"et eller andet\" Skal du opsamle en knaps events skal du først linke til den med eks. Private Widhevents Knap As CommandButton Private Sub Form2_Load() Set Knap = Form1.MinKnap End Sub Private Sub Knap_click() Call Magbox(\"Pil snitterne fra min knap!\") End Sub
03. oktober 2001 - 20:25
#8
Jeg har en procedure der hedder \"connect_click\" i form1. Hvis jeg vil kalde den fra form1 skriver jeg bare: connect_click og ikke mere... Nu går jeg så over til form2 og vil gerne kalde samme procedure herfra, men det kan jeg ik... :( jeg troede bare man kunne skrive: form1.connect_click men det vil den ik... Håber du forstår, hvad jeg mener...
03. oktober 2001 - 20:43
#9
Np... jeg fandt ud af det... jeg skulle bare skrive public i stedet for private i form1 :) / Martin
Kurser inden for grundlæggende programmering