Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: VB Merkkijonon käsittely

Hoover [17.12.2005 11:49:33]

#

Elikkä, tarkoituksena olisi saada tehtyä tälläinen top5-lista, joka on textboxissa, ladattua 5-soluiseen taulukkoon. Jokaiseen soluun yksi rivi top5-listasta.

Textboxin tieto on seuraavanlaisessa muodossa:
Petteri - 100
Sakari - 75
Erkki - 50
Tauno - 25
Tuono - 10

Tälläisella koodilla yritin syöttää tietoja taulukkoon, mutta jostain syystä tämä ei ota enempää kuin vain ensimmäisen rivin tiedot, ja loput neljä tulee sitten tyhjää.

For i = 0 To 4

'Tässä määritetään missä rivi loppuu, että voidaan pistää tieto poikki
Rivinloppu = Tieto.IndexOf(Chr(13))

Taulu2(i) = Tieto.Substring(0, Rivinloppu)

'Tässä poistetaan muistiin otettu tieto pois Tieto-muuttujasta
Tieto = Tieto.Substring(Rivinloppu)

Next i

Tämän jälkeen sitten kun on jokainen rivi omassa, taulukossa, niin ajattelin että siitä voisi sitten taas karsia pisteet ja nimet omiin tauluihin että top-listan voi sitten järjestää ja sitten taas koota yhteen taulukkoon ja pistää muistiin .txt-tiedostoon.

tuomas [17.12.2005 12:09:54]

#

Dim Temp() as string
    temp = split(text1.text, vbcrlf) 'nyt taulusta temp() löytyy yhdestä solusta (solut alkavat nollasta) aina yksi rivi.
ubound(temp) 'palauttaa suurimman solun
lbound(temp) 'palauttaa pienimmän solun

Hoover [17.12.2005 12:51:19]

#

Tuoha näppärä koodi oli, paljon lyhempi ainaki. :)

Hoover [17.12.2005 18:55:54]

#

Entäpä miten tämä järjestäminen nyt menee, kun sain tuon Textboxin rivit omiin soluihin, ja niistä soluista sitten pisteet ja nimet omiin taulukoihin.

Eli kun minulla on nyt: Pisteet() ja Pelaaja() -taulukko, joissa on vastaavissa soluissa aina kyseiset arvot, niin tuo järjestäminen tuottaa ongelmia. Esim. jos vaikka tuolla Pisteet.sort(Pisteet) -komennolla yrittää järjestää, niin se vaan järjestää pisteet, ja sitten pisteitä ja pelaajia ei pysty yhdistämään kun solujen indeksit eivät enää vastaa oikeita arvoja. Jotenkin pitäisi saada samat indeksien arvot tuolle Pelaaja()-taulukolle, että ne vastaisivat pisteitä.

Hoover [17.12.2005 23:25:42]

#

No nyt se järjestää oikein ainaki Pisteet()-taulukon, mutta jotenki se pitäisi saada synkattua Pelaaja()-taulukon kanssa että vastaavissa solun numeroissa olisi kyseisen pelaajan pisteet.

Temp.Sort(Score, Pelaaja)

Eikö sen jotenkin näin pitäisi molemmat taulukot synkata ja järjestää tuon Scoren mukaan? Tämä ei nimittäin tuolle Pelaaja-taulukolle tehnyt mitään.

Vastaus

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

Tietoa sivustosta