Yritän nyt tehdä erästä juttua, jossa pitäisi lukea Users.cos- tiedostosta käyttäjien nimet taulukkoon, josta vertailtaisiin käyttäjän antamaa nimeä. Jos nimi löytyy, päästetään käyttäjä sisälle, jos ei niin ei päästetä! :D Ongelmana on , että en osaa käyttää taulukoita vielä kovin hyvin. Hädin tuskin osaan taulukon määrittelyn. Apua!
Mihin sinä taulukkoa tarvitset? Ellet sitten puhu merkkitaulukoista, joita ei tietääkseni QB:ssä ole...
Käyt vain läpi yksitellen tiedoston sisällä olevat nimet ja vertaat niitä käyttäjän antamaan nimeen. Et tarvitse kuin kaksi merkkijonomuuttujaa; yhden, missä on käyttäjän antama nimi ja temp-muuttuja, johon tallennetaan tiedoston nimet.
pseudokkaasti:
kysy nimi [knimi] lue tiedoston nimet läpi jos [knimi] == [luettu nimi] sisälle->
edit. niin mutta jos välttämättä haluat taulukot:
DIM nimet(10) AS STRING
Yksinkertaisella loopilla fakeosisi(?) luultavasti saa käyttäjätoimet kuntoon. Annan jonkinlaista, todella purkkaa esimerkkikoodia, joka ainakin pintatestauksen osalta ajoi asiansa hyvin. Ole hyvä.
'Oletetaan, että Users.cos sisältää seuraavat nimet: 'Latska, gamehouse, Eino, Johan Peter, Madeleine, Salvador, Che dim nimet(25) as string dim na as integer dim nimi as string dim li as integer 'nimilistamuuttuja na = 0 li = 0 'oletuksena nimeä ei ole listalla open "Users.cos" for input as #1 line input "Kukas olet? ", nimi 'pörrätään loopissa kunnes tiedosto loppuu do until eof(1) line input #1, nimet(na) if nimi = nimet(na) then li = 1 'nimi on listalla exit do end if na = na + 1 loop 'nimeä ei ole listalla if li = 0 then print "Nimeäsi ei löydy kutsuvieraslistalta. /kick" sleep end 'nimi on listalla elseif li = 1 then print "Pääsit sisään järjestelmään." 'jos jotain muuta on sattunut else print "Tämän tekstin ei pitäisi ilmestyä ikinä." sleep end end if sleep end 'Pari esimerkkiajoa: 'Kukas olet? Latska 'Pääsit sisään järjestelmään. 'Kukas olet? Nuuskamuikkunen 'Nimeäsi ei löydy kutsuvieraslistalta. /kick
Kiitos paljon! Tätä sovellan muihinkin projekteihini!
Aihe on jo aika vanha, joten et voi enää vastata siihen.