Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VBA: Tiedostossa vertailu- ongelma

Star3 [19.05.2004 13:23:45]

#

Ongelmana on vertailla tietoja haetussa tiedostossa. Ohjelma on VB ja tiedosto on tehty NotePad:lla. Tiedostossa on yksi sarake ja 50 riviä. Ensimmäisen rivin oletus arvoksi tulee max. Sitten pitäisi vertailla seuraavaan riviin ja katsoa kumpi on isompi ja asettaa se seuraavaksi maximiksi. Ongelmana on nimetä ensimmäinen ja toinen rivi ja saada lopullinen maksimi.

Antti Laaksonen [19.05.2004 13:35:59]

#

En ymmärtänyt selitystäsi. Pistä vaikka pari tuollaista tiedostoa (kuitenkin lyhennettyinä) esimerkiksi, ja mitä ohjelman kuuluisi ilmoittaa kussakin tapauksessa.

Gaxx [19.05.2004 13:42:17]

#

Haluatko siis järjestää tiedostossa olevat luvut/tekstit suuruus-/aakkosjärjestykseen vai haluatko kirjoittaa ylimmäksi suurimman tiedostossa esiintyvän arvon?
Vai kenties jotain muuta?
Selitys kieltämättä oli hieman epäselvä.

Edit: typo

Star3 [19.05.2004 14:41:22]

#

Tiedostossa on yksi sarake jossa on allekkain numeroita 00-54 sekalaisessa järjestyksessä. Sarakkeesta pitäisi löytää suurin arvo. Numerollisia ehtoja ei voi käyttää, koska oletetaan ettei arvoja tiedetä.
Ensimmäinen rivin numero(22) asetetaan ensimmäiseksi max-arvoksi. Tätä max-arvoa verrataan seuraavan rivin numeroon(19). Jos ensimmäinen numero > toinen numero, ensimmäinen = max, muuten toinen = max.
Tuloksen max-arvoa verrataan seuraavan rivin numeroon ja tuloksena uusi max-arvo. Tätä jatketaan niin kauan ennen kuin sarakkeen jokainen rivi on käyty läpi ja saatu selville lopullinen max-arvo(54).
Oliko yhtään selkeämpi?

Star3 [19.05.2004 14:43:19]

#

Tarkoituksena on etsiä sarakkeen max-arvo ja tulostaa se labeliin.

setä [19.05.2004 14:53:05]

#

Do Until EOF(1)
   Input #1, arvo
   If arvo > max Then max = arvo
Loop

Star3 [19.05.2004 15:26:12]

#

Meni hieman aikaan ennen kuin sain kaiken tarvittavan kohdalleen, mutta nyt homma toimii. Kiitoksia avusta! Yritin näköjään liian monimutkaista ratkaisua.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta