Avatar billede martinfrost Nybegynder
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

Avatar billede winkill Nybegynder
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.\"
Avatar billede martinfrost Nybegynder
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


Avatar billede martinfrost Nybegynder
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...

Avatar billede winkill Nybegynder
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.
Avatar billede winkill Nybegynder
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
Avatar billede martinfrost Nybegynder
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
Avatar billede winkill Nybegynder
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
Avatar billede martinfrost Nybegynder
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...
Avatar billede martinfrost Nybegynder
03. oktober 2001 - 20:43 #9
Np... jeg fandt ud af det...
jeg skulle bare skrive

public i stedet for private i form1 :)

/ Martin
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester