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

1006

    Vastaukset 12

    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. Gallup: Kansalaiset eivät usko velkajarruun

      Puolet suomalaisista ei usko velkajarrun vaatimien sopeutusten toteutuvan, kertoo Iro Researchin kyselytutkimus. Kokoom
      Maailman menoa
      120
      1339
    2. Mä oon kallistumassa

      Rikosilmoitukseen!
      Suhteet
      236
      1117
    3. Ethän mies vielä

      luovu meistä? Haluaisin jo sun syliin.
      Ikävä
      67
      1000
    4. Haaveilen edelleen

      Sinusta aika ajoin
      Ikävä
      58
      952
    5. Sinulle nainen

      En ehkä koskaan osannut sanoa tätä oikein. Minun vaikeuteni luottaa liittyi ennen kaikkea menettämisen pelkoon. Siihen
      Ikävä
      66
      926
    6. Martsusta tuli leuhka

      Ja ylimielinen. Hän ei nosta persettäkään ilmaseksi . Luulempa et nämä ei tee hyvää hyvinvointivalmennuksille.... Nannal
      Kotimaiset julkkisjuorut
      251
      880
    7. Kuisla Group Oy jättänyt yrityssaneeraushakemuksen

      Samalla yrityssaneeraukseen on hakeutunut Kuisla henkilökohtaisesti ja Seinäjoen Motelli Oy, joka omistaa Sorsanpesän ki
      Seinäjoki
      39
      823
    8. Hei rakkaani.

      Kohtaaminen lähestyy. Miten teemme sen? Kumpi ottaa yhteyttä vai törmäämmekö jossain sattumalta? Tuleva vaimosi
      Ikävä
      70
      775
    9. Ethän voinut nainen tietää, että rikot rikotun

      Omaa elämää taas mietin aamuyön tunteina. En vieläkään löytänyt muistin sokkeloista ainuttakaan onnen hetkeä. Kaipuu on
      Ikävä
      72
      772
    10. Tiedätkö sitä

      Että sinun äänesi on ihanan pehmeä
      Ikävä
      42
      736
    11. Uskallanko laittaa sulle viestiä?

      Se viesti on tossa valmiina ja lähettämistä vaille valmis. Kun ei kauhee sti tunneta niin eipä sillä olisi niin väliä. S
      Ikävä
      58
      710
    12. On paha olla

      Kun olen käyttäytynyt aiemmin kaivattua kohtaan kuin joku narsisti.
      Ikävä
      66
      698
    13. Mies joka on oikeasti kiinnostunut

      Ja näkee sut pitkäaikaisena kumppanina, siirtää vaikka vuoria selvittääkseen asiat eikä ota pienintäkään riskiä menettää
      Ikävä
      123
      608
    14. Kiulu myynnissä!

      Kiulu hakee taas uutta yrittäjää. https://www.yritysporssi.fi/etela-pohjanmaa-lansi-suomi-finland/myytavat/yritykset/ma
      Ähtäri
      26
      608
    15. Onko nyt kaikki asiat käyty läpi?

      Mun mielestä on👍
      Ikävä
      85
      591
    16. Tulisiko naisille asettaa korkeammat eläkemaksut

      Tämä tuli mieleeni kun luin aamun lööppejä. Japanissa alkaa olla "uutta nuorisoa" ihan urakalla, ikä alkaa sadan jälkeen
      Sinkut
      187
      534
    17. Et pysty peittämään minulta

      Sinä olet hyvä peittämään asioita niin halutessasi. Pystyt pitkiäkin aikoja salaamaan juttuja. Juuri mietin tuossa, olet
      Ikävä
      47
      514
    18. Vieläkin saat

      Sydämen tykyttämään. Vaikka emme näe
      Ikävä
      24
      504
    19. Mikä tekee kaivatustasi

      Haluttavan?
      Ikävä
      18
      498
    20. Mitä oikein tapahtui? Maajussi-Jetta sai tylyt pakit - Sulhoehdokas selittää: "Ei lentänyt kipinät"

      Maajussille morsian -sarjassa etsitään rakkautta ja rinnalle kumppania. Yksi maajusseista on Jetta - liikunnallinen ja
      Maajussille morsian
      12
      497
    Aihe