Alun osaan mutta ....

YksinPulassa...Neuvoton

Olen tekemässä ohjelmaa joka käy rivit läpi etsii joka riviltä samat numerot tässä tapauksessa.

Miten teen sen silleen että se avaa tiedoston esim. c:\numerot.txt ja käy rivi riviltä läpi numerot. esim. rivit:

0102030405
0203040506
0304050607

Ja näistä etsii esim. 03 numeroa.

Tein alun mutta en päässy puusta pitkälle:    
*/ ------------------------------
For I = 1 to 5
If Mid$(WinNum, i, 1) = Mid$(MyNum, i, 1) Then
strmatch = strmatch & Mid$(WinNum, i, 1)
End If
Next I
Matches = Len(strMatch)

Miten tästä edetä?

12

940

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • jokuvaan

      kuinka yksinkertainen ja helppo.
      Esimerkissä etsitään siis "03" merkkijonoa, jos se löytyy riviltä, rivi tulostetaan.

      Open App.Path & "\numerot.txt" For Input As #1

      Do While Not EOF(1)
      Line Input #1, rivi
      If InStr(1, rivi, "03", vbTextCompare) Then Print rivi

      Loop

      Close #1

      • jokuvaan

        Tuo App.Path on ohjelman oletushakemisto, siis mistä se ohjelma käynnistetään, tuo numerot.txt tulee olla siinä hakemistossa.
        Voit kirjoittaa luonnollisesti koko polun, vaikka "C:\numerot.txt" tai missä se sitten onkaan.


      • Yksin pulassa...
        jokuvaan kirjoitti:

        Tuo App.Path on ohjelman oletushakemisto, siis mistä se ohjelma käynnistetään, tuo numerot.txt tulee olla siinä hakemistossa.
        Voit kirjoittaa luonnollisesti koko polun, vaikka "C:\numerot.txt" tai missä se sitten onkaan.

        Miten haetaan kahta numeroa tekstistä esim. 03 lisäksi numeroa "15"??


      • pulassa

        Miten voi formiin määritellä esimerkiksi kolme lukua joita etsitään. esim. 02, 05 ja 29??

        Siis nämä luvut haluaisin itse määrätä?


      • jokuvaan
        pulassa kirjoitti:

        Miten voi formiin määritellä esimerkiksi kolme lukua joita etsitään. esim. 02, 05 ja 29??

        Siis nämä luvut haluaisin itse määrätä?

        Lisäämällä Form1 kolme Text-kehystä
        kirjoittamalla niihin haettavat merkkijonot.
        Jos jokin noista ehdoista toteutuu, rivi tulostuu.

        If InStr(1, rivi, Text1.Text, vbTextCompare) Then Print rivi
        If InStr(1, rivi, Text2.Text, vbTextCompare) Then Print rivi
        If InStr(1, rivi, Text3.Text, vbTextCompare) Then Print rivi


      • Pulassa
        jokuvaan kirjoitti:

        Lisäämällä Form1 kolme Text-kehystä
        kirjoittamalla niihin haettavat merkkijonot.
        Jos jokin noista ehdoista toteutuu, rivi tulostuu.

        If InStr(1, rivi, Text1.Text, vbTextCompare) Then Print rivi
        If InStr(1, rivi, Text2.Text, vbTextCompare) Then Print rivi
        If InStr(1, rivi, Text3.Text, vbTextCompare) Then Print rivi

        Ei toimi toi antamasi ehdotus.
        en ainakaan minä sitä saa toimimaan..


      • pulasa
        Pulassa kirjoitti:

        Ei toimi toi antamasi ehdotus.
        en ainakaan minä sitä saa toimimaan..

        Lisäys edelliseen... kaikki kolme lukua pitäisi olla kerrallaan haku ehtoina. Ei siis yksitelle vaan kaikki esim. 02,03,05


      • jokuvaan
        pulasa kirjoitti:

        Lisäys edelliseen... kaikki kolme lukua pitäisi olla kerrallaan haku ehtoina. Ei siis yksitelle vaan kaikki esim. 02,03,05

        laita ehdot peräkkäin, eli jokaisen ehdon pitää toteutua:

        If InStr(1, rivi, Text1.Text, vbTextCompare) Then
        If InStr(1, rivi, Text2.Text, vbTextCompare) Then
        If InStr(1, rivi, Text3.Text, vbTextCompare) Then Print rivi
        End If
        End If


      • Pulassa
        jokuvaan kirjoitti:

        laita ehdot peräkkäin, eli jokaisen ehdon pitää toteutua:

        If InStr(1, rivi, Text1.Text, vbTextCompare) Then
        If InStr(1, rivi, Text2.Text, vbTextCompare) Then
        If InStr(1, rivi, Text3.Text, vbTextCompare) Then Print rivi
        End If
        End If

        Ei toimi toi lauseesi siinä aiemmassa. Kirjoita toimiva coodi


      • jokuvaan
        Pulassa kirjoitti:

        Ei toimi toi lauseesi siinä aiemmassa. Kirjoita toimiva coodi

        Siis, tee tekstitiedosto numerot.txt
        ja tallenna se johonkin.
        Tässä esimerkissä "C:\hakemisto\polku\"
        Tee kolme Text-kehystä, Text1, Text2 ja Text3.
        ja jos laitat Text1 "01", Text2 "02", Text3 "03"
        ja jos kirjoitit tuohon tiedostoon vaikka rivin "01342025903", josta siis löytyy kaikki Text-kehyksissä syöttämäsi arvot, niin kyllä tulostuu näytölle. Ja ei niiden tarvitse olla tuossa järjestyksessä, kunhan vaan kaikki annetut merkkojonot löytyvät riviltä.

        Open "C:\hakemisto\polku\numerot.txt" For Input As #1

        Do While Not EOF(1)
        Line Input #1, rivi
        If InStr(1, rivi, Text1.Text, vbTextCompare) Then
        If InStr(1, rivi, Text2.Text, vbTextCompare) Then
        If InStr(1, rivi, Text3.Text, vbTextCompare) Then Print rivi
        End If
        End If

        Loop

        Close #1


      • Basillius
        jokuvaan kirjoitti:

        Siis, tee tekstitiedosto numerot.txt
        ja tallenna se johonkin.
        Tässä esimerkissä "C:\hakemisto\polku\"
        Tee kolme Text-kehystä, Text1, Text2 ja Text3.
        ja jos laitat Text1 "01", Text2 "02", Text3 "03"
        ja jos kirjoitit tuohon tiedostoon vaikka rivin "01342025903", josta siis löytyy kaikki Text-kehyksissä syöttämäsi arvot, niin kyllä tulostuu näytölle. Ja ei niiden tarvitse olla tuossa järjestyksessä, kunhan vaan kaikki annetut merkkojonot löytyvät riviltä.

        Open "C:\hakemisto\polku\numerot.txt" For Input As #1

        Do While Not EOF(1)
        Line Input #1, rivi
        If InStr(1, rivi, Text1.Text, vbTextCompare) Then
        If InStr(1, rivi, Text2.Text, vbTextCompare) Then
        If InStr(1, rivi, Text3.Text, vbTextCompare) Then Print rivi
        End If
        End If

        Loop

        Close #1

        Eiks toi toimis lyhyemmin:

        If (tosi) And (tosi) And (tosi) Then PrintLine

        ei tarvis kuin yhden Iffin :)


      • yksinpulassa
        Basillius kirjoitti:

        Eiks toi toimis lyhyemmin:

        If (tosi) And (tosi) And (tosi) Then PrintLine

        ei tarvis kuin yhden Iffin :)

        olen tuota ehtolausetta kokeillut mutta ei se tee haluttua toimintoa. Eli toisin sanoen ei toimi vaikka pitäisi.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Klaukkalan onnettomuus 4.4

      Klaukkalassa oli tänään se kolmen nuoren naisen onnettomuus, onko kellään mitään tietoa mitä kävi tai ketä onnettomuudes
      Nurmijärvi
      148
      6851
    2. Yleltä tyrmäävä uutinen

      Ylen uutisen mukaan Raamattu on keksitty n. 2600. Putoaako kristinuskolta pohja kokonaan alta pois? https://yle.fi/a/74
      Luterilaisuus
      614
      2518
    3. Riitta-Liisa ja Toni Roponen: Ero! Riitta-Liisa Roponen kertoo asiasta Instagramissa.

      Riitta-Liisa ja Toni Roponen eroavat. Riitta-Liisa Roponen kertoo asiasta Instagramissa. – Talvi on ollut elämäni synk
      Maailman menoa
      47
      1740
    4. Pakko kertoa mies

      Äitini tietää, että olen ihastunut sinuun. 😳 halusin että hän näkisi sinun kuvan ja pyysin googlaamaan sinua. Kommentti
      Ikävä
      114
      1411
    5. Sinä vain tulit elämääni

      Ja joku tarkoitus sillä on ollut. Näyttämään mitä olen ja kuinka arvokas voisin olla. Se muutti ja käänsi elämäni suunna
      Ikävä
      90
      1285
    6. Miten koskettaisit häntä?

      Miten lähestyisit jos hän olisi lähelläsi nyt..
      Ikävä
      71
      1107
    7. Tiesitkö mies

      Kuinka paljon mulla oli tunteita sua kohtaan? Jos et tiennyt,olisiko tietäminen vaikuttanut tapahtumiin? Ihmettelen kyll
      Ikävä
      63
      1073
    8. Kuulin että Metsa Manille kaavaillaan Maaseudun Sivistysliiton kunniakirjaa ja jotain

      muutakin huominosoitusta. Syystä että on on elvyttänyt huomattavasti videoillaan vanhemman väen englanninkielentaitoja.
      Tuusniemi
      27
      1059
    9. Millaisia ajatuksia on kaivatusta ja tilanteestanne tänään?

      Kerro omista mietteistäsi tai lähetä terveisiä. Ehkä hän lukee ja lähettää sinulle takaisin omia mietteitään.
      Ikävä
      48
      1055
    10. Mitä ajattelet

      Kaivattusi uskosta tai onko hän uskossa?
      Ikävä
      63
      976
    Aihe