open "C:\user.user" for input as #1 input #1, usr$ close #1 ext$ = command$ if ext$ = "i am" then print usr$
Olen tehnyt fake os ohjelmaan ainakin 40 komentoa tällä tavalla, mutta nyt kun haluaisin tehdä who i am tyylisen komennon niin pitäisi näkyä nykyinen käyttäjä, mutta mulla ei näy yhtään mitään tekstiä.
Kuinka mä saan ton toimimaan?
Tarkista ensin tiedostosta lukemisen jälkeen, että usr$-muuttuja sisältää jotakin. Sen jälkeen tarkista ext$-muuttujan sisältö. Komentoriviparametrit muutetaan QB:ssä suurilla kirjaimilla kirjoitetuiksi, joten vika saattaa olla siinä.
usr$ sisältää kyllä tietoa ja ext$:ssä näkyy i am, kun kokeilee, mutta kun pitäisi tekstiä näyttää iffin jälkeen niin mitään ei näy.
Ihmettelin, kun olen tehnyt varmaan noin 40 komentoa, jotka on toteutettu samaan tyyliin kuin tämäkin ja ne kuitenkin toimii, mutta tämä ei. Mulla tai tietokoneella taitaa olla huono päivä tänään :D
user.user tiedostossa on siis vain yksi rivi ? Jos niin on niin kokeilepa muuttaa koodi tällaiseksi:
open "C:\user.user" for input as #1 line input #1, usr$ close #1 ext$ = trim(lcase$(command$)) if ext$ = "i am" then print usr$
En testannut mutta noin se pitäisi mennä.
edit: trim ja lcase$ toisinpäin...
Tietääkseni command$-muuttuja on kapitaalikirjaimilla. Eli
if sejase$ = "ISOLLA" niin jotain...
nyt toimii taas enkä ole muokannut mitenkään....
Aika kumma juttu, mutta eilen se käyttäytyi kuin siitä olisi kaikki komennotkin puuttuneet, että toi olis vaan ollut joku tekstinkäsittely ohjelma :)
Huomasin muuten että sen pitäisi olla who am i eikä who i am. Ihan englannin kieliopinkin mukaan.
PS. Sori että vastasin vanhaan viestiin..
Niinpä se taitaa olla am i, kun nyt olen netistä katsonut noita "who" komennon hommia, mutta miten minulla on tunne kuin mä olisin käyttänyt ja nähnyt sen "who i am" muodossa niin linuxissa kuin myös englanninkielen sanakirjassakin, mutta kiva, että kerroit.
Kyllä se on linuxissa who am i
..vai oliko se sitten yhteen kirjoitettuna?
Eli koko komennon nimi taitaa olla whoami, mutta sinun tapauksessasi haluat kai ohjelman who, jolla on useita parametreja..vai kuinka?
Nyt sitten korjailemaan ohjelmaasi oikea sanajärjestys ;D
_Cornix_
edit: Ei kai sanakirjassa nyt sentään väärää sanajärjestystä?! Tuota en usko, että olisi jossain sanakirjassa Who I am.
Tai siis englanninkielen opiskelukirjassa on yleensä kyllä opetettu "Who i am?" ja englanninkielen opettajakin on tuollein aina väittänyt.
"Who am I", kuulostaakin paremmalta kuin "Who I am?".
Nyt olen kyllä varmasti oikeassa! ..heh :)
Kokeile vaikka linuxin komentorivillä jos et muuten usko.
Ja muistissasi on selvästi jotain vikaa. Ei englanninkielen opettaja noin väittäisi. Tai jos väittäisikin niin silloin olisi opettaja(kin) väärässä.
Mutta se siitä.
No täytyy olettaa, että se on "Who am i", koska nyt ei ole saatavilla linuxia käsiin, kun jostain syystä asennus ei onnistu tähän mun koneeseen.
lainaus:
No täytyy olettaa, että se on "Who am i"
[blaze@sakura2 blaze]$ whoami blaze [blaze@sakura2 blaze]$ whoiam bash: whoiam: command not found
lainaus:
koska nyt ei ole saatavilla linuxia käsiin, kun jostain syystä asennus ei onnistu tähän mun koneeseen.
Laita sitten edes Cygwin: http://www.cygwin.com
Kokeilin faijan koneella linuxissa ja siellä on komento who i am, mutta siellä on myös who am i, mutta se on muodossa whoami eli yhteenkirjoitettuna ja kumpikin tekee jo lähes saman asian.
Mikäs toi cygwin on?
lainaus:
Mikäs toi cygwin on?
Siinähän se lukee etusivulla isolla heti yläreunassa.
Niinpä lukee
Aihe on jo aika vanha, joten et voi enää vastata siihen.