Pieni QBASIC kysymys

Ei ollut Qbasicille omaa aluetta, niin kysytään täällä sitten...

Kuinka/millaisella koodinpätkällä Qbasicissa saa niin, että kun lause sisältää jonkin sanan tai sana sisältää jonkin merkkijonon, niin käy jotakin?
15478
Äänestä

Muut lukivat myös

Vastaukset 15

Vanhimmat

QBASIC?!?!?!?!

Wanha?

Äänestä
  • Mitä sitten vaikka on vanha? Vanha kyllä mutta still käyttökelpoinen. Kunnon nörtti osaa käyttää myös Dos-puolen työkaluja tai jos linuxia tai muuta unixia käyttää niin komentoriviä ja erilaisia skriptauksia.

    Äänestä

  • so what? kirjoitti:

    Mitä sitten vaikka on vanha? Vanha kyllä mutta still käyttökelpoinen. Kunnon nörtti osaa käyttää myös Dos-puolen työkaluja tai jos linuxia tai muuta unixia käyttää niin komentoriviä ja erilaisia skriptauksia.

    Tarjolla on myös esim. FreePascal ja Lazarus.
    Avoimia ja ilmaisia vaihtoehtoja (toimivat myös linuxissa)

    http://wiki.mureakuha.com/wiki/FreePascal

    ja

    http://wiki.mureakuha.com/wiki/Lazarus

    Tällöin ei ominaisuudet heti lopu!

    Äänestä

  • Lazarus. kirjoitti:

    Tarjolla on myös esim. FreePascal ja Lazarus.
    Avoimia ja ilmaisia vaihtoehtoja (toimivat myös linuxissa)

    http://wiki.mureakuha.com/wiki/FreePascal

    ja

    http://wiki.mureakuha.com/wiki/Lazarus

    Tällöin ei ominaisuudet heti lopu!

    raskas. Nimittäin jos haluaa tehdä esim. dossiin pienen ohjelmanpätkän jonka on tarkoitus toimia lähes kuin komentojonotiedostot, siis batit niin Qbasic sopii tarkoitukseen mainiosti.

    Miksi ampua kärpästä tykillä kun sen voi nitistää kärpäslätkälläkin...

    Äänestä

Tässä kyseisessä esimerkissä lauseesta "Minä olen koodari" halutaan etsiä sana "koodari", etsintä aloitetaan lauseen ensimmäisestä merkistä, siis 1.
Eli A = mistä kohtaa lausetta etsintä aloitetaan,
B$ = Lause josta sanaa etsitään
C$ = Sana jota etsitään
Kun sana löytyy hypätään kohtaan FOUND
---
A = 1
B$ = "Minä olen koodari"
C$ = "koodari"
If Instr(A, B$, C$) Then Goto FOUND Else HYPIYLI

FOUND:
Print "Nyt löytyi!"

HYPIYLI:
End

---

Eli syntaksi on siis jos vain halutaan katsoa löytyykö sanaa mutta ei välitetä mistä kohtaa:

Instr(A, B$, C$)

tai jos halutaan etsiä kohtaa josta etsittävä sana löytyi niin silloin syntaksi on tämä:

X = Instr (A, B$, C$)
jossa tuo X ilmoittaa místä kohtaa lausetta etsittävä sana löytyi

Äänestä
  • Tuo on jo aika hyvä. (vaikkakin änki joka tapauksessa FOUND:ia, vaikka olisi kirjoittanut mitä tahansa)

    Tosin en hae ihan tuollaista systeemiä, sillä tuota lausetta "Minä olen koodari"
    ei voi määrittää etukäteen, sillä ei voi tietää mitä käyttäjä kirjoittaa.

    Eli siis sen koko jutun pitäisi olla tyyliin
    IF v$ sisältää "koodaaja" THEN GOTO FOUND

    Eli ruudulla lukeepi vaikkapa
    "Kuka olet?"
    sitten on INPUT v$ ja käyttäjä syöttää siihen tietoa
    ja jos käyttäjä syöttää siihen lauseen joka sisältää sanan "koodaaja", niin ohjelma menee kohtaan FOUND

    Äänestä

  • puubasik kirjoitti:

    Tuo on jo aika hyvä. (vaikkakin änki joka tapauksessa FOUND:ia, vaikka olisi kirjoittanut mitä tahansa)

    Tosin en hae ihan tuollaista systeemiä, sillä tuota lausetta "Minä olen koodari"
    ei voi määrittää etukäteen, sillä ei voi tietää mitä käyttäjä kirjoittaa.

    Eli siis sen koko jutun pitäisi olla tyyliin
    IF v$ sisältää "koodaaja" THEN GOTO FOUND

    Eli ruudulla lukeepi vaikkapa
    "Kuka olet?"
    sitten on INPUT v$ ja käyttäjä syöttää siihen tietoa
    ja jos käyttäjä syöttää siihen lauseen joka sisältää sanan "koodaaja", niin ohjelma menee kohtaan FOUND

    Function input2()
    input v$
    input2 = v$
    end function

    if instr(input2,"koodaaja") then
    print "Nyt löytyi"
    end if

    Äänestä

  • hehddsdssffsfs kirjoitti:

    Function input2()
    input v$
    input2 = v$
    end function

    if instr(input2,"koodaaja") then
    print "Nyt löytyi"
    end if

    input v$:if instr(v$,"koodaaja") then print "löytyi"

    Äänestä

  • hehfikfknfs kirjoitti:

    input v$:if instr(v$,"koodaaja") then print "löytyi"

    input"kuka olet?",v$:if instr(v$,"koodaaja")then print"löytyi"

    Äänestä

  • hehjjajjd kirjoitti:

    input"kuka olet?",v$:if instr(v$,"koodaaja")then print"löytyi"

    Eli ite tekisin koko homman näin..


    CLS
    PRINT "Kuka olet?"
    INPUT v$
    IF INSTR(v$, "koodaaja") THEN GOTO FOUND ELSE GOTO NOTFOUND

    FOUND:
    PRINT "Ahaa, olet koodaaja"
    END

    NOTFOUND
    PRINT "Et olet koodaaja!"
    END


    Mutta voisiko joku kertoa mulle, että miten saan tuohon kaks mahollisuutta?
    Eli kaks IF INSTR-hommaa.
    Eli jos vaikka sanoo "koodaaja", tulee eri juttu, ja jos sanoo "lifettäjä", niin taas eri.
    Jostain syystä ei hyväksy tätä:

    IF INSTR(v$, "koodaaja") THEN GOTO FOUND
    IF INSTR(v$, "lifettäjä") THEN GOTO LIFE ELSE GOTO NOTFOUND

    Äänestä

  • näinnnn kirjoitti:

    Eli ite tekisin koko homman näin..


    CLS
    PRINT "Kuka olet?"
    INPUT v$
    IF INSTR(v$, "koodaaja") THEN GOTO FOUND ELSE GOTO NOTFOUND

    FOUND:
    PRINT "Ahaa, olet koodaaja"
    END

    NOTFOUND
    PRINT "Et olet koodaaja!"
    END


    Mutta voisiko joku kertoa mulle, että miten saan tuohon kaks mahollisuutta?
    Eli kaks IF INSTR-hommaa.
    Eli jos vaikka sanoo "koodaaja", tulee eri juttu, ja jos sanoo "lifettäjä", niin taas eri.
    Jostain syystä ei hyväksy tätä:

    IF INSTR(v$, "koodaaja") THEN GOTO FOUND
    IF INSTR(v$, "lifettäjä") THEN GOTO LIFE ELSE GOTO NOTFOUND

    CLS
    PRINT "Kuka olet?"
    INPUT v$
    IF INSTR(v$, "koodaaja") THEN valinta=1
    IF INSTR(v$, "lifettäjä") THEN valinta=2

    select case valinta
    case 1:
    PRINT "Ahaa, olet koodaaja"
    case 2:
    PRINT "Ahaa, olet lifettäjä"
    case else:
    PRINT "Ahaa, et ole mitään"
    end case

    Äänestä

  • hehsdknkfs kirjoitti:

    CLS
    PRINT "Kuka olet?"
    INPUT v$
    IF INSTR(v$, "koodaaja") THEN valinta=1
    IF INSTR(v$, "lifettäjä") THEN valinta=2

    select case valinta
    case 1:
    PRINT "Ahaa, olet koodaaja"
    case 2:
    PRINT "Ahaa, olet lifettäjä"
    case else:
    PRINT "Ahaa, et ole mitään"
    end case

    end case -> end select

    Äänestä

kuulla, että joku muukin ajattelee samoin, kuin minä. Vanha kunnon basic se täälläkin on päällä. Lasken paljon matemaatiiisia kaavoja ja mikäs sen järkevämpää, kuin antaa koneen hoitaa laskeminen annettujen argumenttien perusteella. Ei siihen mitään ikkunointia tai hiirtä tarvita. Vanhan 166mhz kannettavankin laitoin tähän käyttöön. MS-Dos ja QuickBasic kiintolevyllä majailee.. Siihenkään mitään wintoosaa tarvii.
Ohjelmat ovat pieniä, eikä 1,2gb kiintolevytila tule omassa käytössäni loppumaan ikinä. Muutama kilotavu koodia ja ohjelma on käyttökelpoinen.

Qbasic ohjelmalistauksia voit käydä lukaisemassa osoitteessa:
http://www.ohjelmointiputka.net/koodit_naytaalue.php?kieli=QBasic
Tuolta saa kaikkea mukavaa omiin projekteihin ja paneppa kirjottaen itsekkin sinne, jos satut jonkun hyvän rutiinin keksimään.

Äänestä
  • viittaa kyllä jonkinlaiseen sairauteen kyllä toi qbasic-juttujen määrä tuolla!

    Äänestä

  • ei oo todellista kirjoitti:

    viittaa kyllä jonkinlaiseen sairauteen kyllä toi qbasic-juttujen määrä tuolla!

    myös luokitella sellainen ahdasmielisyys, jossa muiden tekemisiä ei kyetä ymmärtämään.

    Se, että joku repii quickbasicilla sulavaa 3D animaatioita aikaiseksi, ei ole mielestäni sairasta vaan nerokkuutta.

    Quickbasick koodaajat eivät millään lailla yritäkkään kilpailla muiden ohjelmointikieliä käyttävien kanssa. Pointti on siinä, että tehdään lähes mahdottomia juttuja kielellä jolla ei periaatteessa pitäisi siihen edes pystyä.

    Samaa voidaan sanoa Assembly-koodaajista. He käyttävät C kieltä, mutta hekin ahtavat 64 kilotavuun todella vaikuttavaa 3D garfiikka, musiikkia, mielettömiä heijastuksia, tolkuttomia polygonimääriä ym. ym..

    QuickBasic koodaus on tavallaan kevyempi muoto tästä. Kummassakaan ei ole taloudellisesti tai muuten järkeä.. Se on tapa ilmaista itseään ja näyttää omaa osaamistaan.

    Muutamia introja löytyy osoitteesta :
    http://optimus.demoscene.gr/mystuff/demos/mydemos.htm
    Noistakin osa on koodattu QuickBasicilla. Ja huom. Nämä eivät ole edes sieltä parhaimmasta päästä.

    Äänestä

Kommentoi aloitusta


puubasik kirjoitti:

Ei ollut Qbasicille omaa aluetta, niin kysytään täällä sitten...

Kuinka/millaisella koodinpätkällä Qbasicissa saa niin, että kun lause sisältää jonkin sanan tai sana sisältää jonkin merkkijonon, niin käy jotakin?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu