[?] 
  ? = Avustuksen avustus
  ======================
  ?-merkillä saa yleensä joka paikassa avustusta!
  Jos avustuksessa kysytään aihetta, josta avustusta halutaan,
  voidaan vastata esimerkiksi:
    *         - kaikki aiheet
    L*        - kaikki L:llä alkavat aiheet
    Ti* s*    - kaikki aiheet joiden 2. ensimmäistä sanaa alkavat Ti- ja s-
                esim. Tietojen syöttö
    [Return]  - poistutaan avustuksesta
    q[Return] - poistutaan avustuksesta

   Isoilla ja pienillä kirjaimilla ei ole eroa!

   Kun näyttö tulee täyteen tai aihe vaihtuu, tulee näyttöön
   teksti 

     Jatka RETURN >

   Jos tässä painetaan RETURN, tulee seuraava rivi.  Jos painetaan
   q[Return], lopetetaan avustustoiminto.

[Lisäys]
  Lisäys
  ======

  Lisäystoiminolla lisätään uusia henkilöitä.  Lisättävä henkilö
  ei saa esiintyä ennestään tiedostossa.  Jos henkilö esiintyy 
  ennestään, täytyy hänet erottaa jostakin muusta ominaisuudesta.

  Katso myös: Tietojen syöttö, Asetukset

[Tietojen syöttö]
  Tietojen syöttö
  ===============

  Tietoja syötettäessä näytössä näkyy suluissa arvo, joka tulee kentän
  arvoksi jos painetaan pelkkä [RETURN].

  Esimerkiksi
  Anna nimi (Kalle) >[RETURN]

  -> nimeksi tulee Kalle

  Jos kirjoitetaan jotakin, tulee nimeksi tietysti syötetty arvo.
  Jos kenttä halutaan tyhjentää täytyy antaa välilyönti ja [RETURN].

  Jos koko syöttö halutaan lopettaa, painetaan q ja [RETURN].
  Jos syötön jälkeen tulee uusia kysymyksia samasta henkilöstä,
  saadaan kentille oletusarvoa painamalla , tai . ja [RETURN]

[Etsiminen]
  Etsiminen
  =========
  Etsimisen avulla voidaan etsiä ja selailla joko valittujen
  tai kaikkien henkilöiden tietoja.

  Aluksi kysytään minkä kentän mukaan etsiminen halutaan suorittaa.
  Painettaessa ? saadaan näkyviin kenttien tunnukset uudelleen.

  Valitaan esimerkiksi nimi-kenttä painamalla sen tunnusta.
  Täytetään hakuehto (esim. Kalle*)

  Näytölle tulee ensimmäinen hakuehdon täyttävä henkilö.  Jos on muita, 
  näkyy näytössä + ja seuraavien lukumäärä.  Kun henkilöitä selataan + 
  merkillä, tulee näyttöön  myös - ja edellisten lukumäärä.  
  - -merkillä henkilöitä voidaan selata myös taaksepäin.
  Myös hakuehto voidaan vaihtaa antamalla kentän tunnus uudelleen.
  
  Henkilöt tulevat valitun hakuehdon mukaisessa järjestyksessä
  (jos hakuehtona on nimi, niin aakkosjärjestyksessä, jos
  sotu, niin syntymäjärjestyksessä).

  Katso myös: Hakuehto, JA-haku, TAI-haku, Korjailu
[Hakuehto]
  Hakuehto
  ========
  Hakuehdossa on käytettävissä jokerimerkit:
    *   = 0-n kirjainta
    ?   = mikä tahansa yksi kirjain

  Voidaan käyttää myös hakuehdon alussa epäyhtälömerkkejä
    <   = pienempi          <=  pienempi tai yhtäkuin
    ==  = täsmälleen sama   !=  eri suuri kuin
    >   = suurempi kuin     >=  suurempi tai yhtäsuuri kuin

  Samassa hakuehdossa ei saa käyttää jokereita ja epäyhtälöitä!

  Hakuehtoon voidaan syöttää esimerkiksi seuraavia:
    *          - täsmää kaikkiin arvoihin
    <Kalle     - täsmää nimiin, jotka ovat aakkosissa ennen Kallea
    !=Kalle    - täsmää kaikkiin muihin paitsi Kalleen.
    K*e        - täsmää kaikkiin K-alkuisiin e-loppuisiin sanoihin
    K?ssa      - jono jossa 2. merkki voi olla mikä tahansa (esim Kissa)
    ==         - tyhjä jono (eli yhtäsuuri kuin ei mitään!) 
    ==?        - etsii tasan yhden merkin jonoja (koska pelkkä ? on avustus)

  Jos hakuehdossa ei ole jokereita tai < = > merkkejä, käytetään
  valittua hakumuunnosta (ks. asetukset), esim. muunnoksella
    *%s*   tulee * molempiin päihin, elki hakuehdosta
    aku tulee *aku*

[JA-haku]
  JA-haku
  =======

  Jos halutaan hakea esimerkiksi henkilöitä, joiden nimi alkaa
  P:llä JA joilla on jäsenmaksu maksamatta, valitaan  JA-haku.

  Nyt kysytään hakuehto jokaiseen henkilön kenttään.  Ne kentät
  joiden ei haluta vaikuttavan hakuun, jätetään tyhjäksi.
  Esimerkissä täytetään vain
    Nimi       () >P*
    Jäsenmaksu () >==       (eli jäsenmaksu täytyy olla tyhjä)
    ...

[TAI-haku]
  TAI-haku
  ========
  
  Jos halutaan esimerkiksi henkilöt, joiden nimi alkaa
  A:lla TAI joilla on jäsenmaksu yli 40 mk, niin valitaan TAI-haku.

  Kuten ja haussa täytetään vain ne kentät, joiden halutaan
  vaikuttavan hakuun.

  Esimerkissä  
    Nimi       () >A*
    ...                     (muista että tarvittaessa kenttä
    ...                      tyhjennetään välilyönti ja [Return] )
    Jäsenmaksu () >>40             (eli >40)
[Korjailu]
  Korjailu
  ========
  
  Korjailu toimii vastaavasti kuin etsiminenkin, nyt vain
  valittujen henkilöiden kohdalla voidaan painaa myös
  P (Poisto) tai K (Korjailu).

  Katso myös: Etsiminen, Hakuehto

[Tietyn kentän korjailu]
  Tietyn kentän korjailu
  ======================
  
  Tällä valinnalla voidaan valittavat kentät täyttää joko
  automaattisesti valittavalla arvolla (tai tyhjentää) tai
  sitten hyväksyä muutos erikseen kullekin hakuehdon täyttävälle
  henkilölle.

  Valinnalla on kätevä esimerkiksi tyhjentää kaikkien jäsenmaksu:
    1. Valitaan käsiteltäväksi kentäksi jäsenmaksu ja
       arvoksi ==
    2. valitaan automaattinen täyttö ja 
       hakuehdoksi nimikenttä ja hakuarvoksi *.

  Valinnalla on myös kätevä päivittää pelkkää yhtä tai useampaa
  kenttää:
    1.  Valitaan käsiteltäviksi kentiksi halutut kentät
        (kirjoittamalla monta kentän tunnusta samalle riville)
        jos halutaan edelliset arvot oletuksiksi, valitaan arvoksi
        kullekin kentälle tyhjä (eli pelkkä [RETURN]) 
    2.  Valitaan "kysy yksitellen"-täyttö ja haluttu hakuehto.

  Ks. myös Käsiteltävät kentät ja Valitse käsiteltävät kentät.
[Käsiteltävät kentät]
  Käsiteltävät kentät
  ===================
  Kirjoita peräkkäin niiden kenttien tunnukset, joita haluat
  käsitellä ja paina sitten [RETURN].
  
  Jos kentät voidaan valita esimerkiksi seuraavista NSAD12345,
  ovat mm. seuraavat syötöt kelvoillisia:
    NSA       - käsitellään kenttiä N, S ja A
    N1-4      - kuten N1234
    D-        - kuten D12345
    -A        - kuten NSA
    -A3-      - kuten NSA345
    1-4N-D    - kuten 1234NSAD (Huom! Eri käsittelyjärjestys!)
    -         - kaikki, eli kuten NSAD12345
    5-1       - kuten 51 (mitään ei ole välissä)

  Voit vaihtaa myös käsittelyjärjestystä.  Edellisessä esimerkissä
    SNA       - käsitellään ensin kenttä S, sitten N ja lopuksi A.

[Valitse käsiteltävät kentät]
  Valitse käsiteltävät kentät
  ===========================
  Tämä löytyy tiettyjen kenttien muuttamisesta.

  Aluksi valitaan käsiteltävät kentät.

  Seuraavaksi kysytään millä kentät täytetään.  Jos kenttiä on
  paljon, ja niille halutaan oletusarvo, voidaan käyttää
  oletusarvon antamista lopuille kentille (, tai .).

  Lopuksi ennen itse täyttämistä kysytään hakuehto niille
  henkilöille, joille täyttäminen (tai muuttaminen) suoritetaan.

  Ks. myös Käsiteltävät kentät.

[Kenttien täyttö]
  Kenttien täyttö
  ===============
  Jos haluat tyhjentää kentän, kirjoita kentän arvoksi ==
  Jos haluat kentän säilyttävän oletusarvonsa, anna arvoksi tyhjä,
  Jos kentässä on jotakin, se tyhjennetään painamalla välilyönti ja [RETURN].

[Asetukset]
  Asetukset
  =========
  Asetuksissa voidaan vaihtaa eri tilanteissa käytettäviä kenttiä.
  Esimerkiksi lisättäväksi voidaan valita vain tietyt kentät ja
  lisäksi järjestys voi olla erilainen kuin alkuperäinen järjestys.

  Ks. myös Käsiteltävät kentät.

  Valinnalla hakumuunnos valitaan mikä on käytettävä muunnos
  hakuehtoon, mikäli ehtoa ei ole itse asettu.

  Muunnoksessa %s tarkoittaa käyttäjän kirjoittamaan jonoa.
  Esimerkkejä:
     käyttäjän jono       muunnos     muunnoksen jälkeen
     ---------------------------------------------------
      aku                 %s          aku
      aku                 *%s         *aku
      aku                 %s*         aku*
      aku                 *%s*        *aku*
      *aku                ei väliä    *aku
     ----------------------------------------------------

[Talletus]
  Talletus
  ========
  Talletus tapahtuu automaattisesti kun ohjelma lopetetaan.
[Ehto]
  Ehto
  ====
  Oikeellisuusehdossa voi olla epäyhtälöitä ja tai jokereita:
    Kenttä   ehto         oikeellisuus  tulkinta
     3       >=0&<=6      OK             3>=0 ja 3<=6
     7       >=0&<=6      VÄÄRIN         7<=6 väärin
     Fys     Mat|Fys|Kem  OK             Fys==Fys
     9       >=0&<=6|9    OK             9>=0 ja (9<=6 tai 9==9)
[Lyhenteet]
  Lyhenteet
  =========
  Lyhenteiden avulla voidaan toistuvia syötöissä tavittavia merkkijonoja
  laittaa "muistiin" tietylle tunnukselle.

  Erikoimerkit:
    \{    - lyhenteen aloitus (jos puuttuu niin oletetaan jonon alkuun)
    \}    - lyhenteen lopetus
    \/    - lyhennenimen lopetus (jos puuttuu niin oletetaan jonon loppuun)
    \?    - antaa avustusta eli listaa lyhenteet
            jos tämä on rivillä, suoritetaan lukemisrivi aina uudelleen
            joten tämän avulla voi tarkistaa mikä tulisi syötöksi.

  Esimerkikki:
  1. Jos tarvitsee syöttää useita jonoja joissa sama osa
     esiintyy usein
       26.1/VL-
       27.1/VL+
       jne..

     Nyt voidaan ensimmäisen (tai jonkin muun) syötön kohdalla luoda
     uusi lyhenne (tai kumota vanha) syöttämällä
       26\{.1/VL\}#\/-
     Tällöin merkkijono # (esimerkissä yksi merkki) korvautuu seuraavasti
       "#"   =>  ".1/vl"
     Samalla varsinaiseksi syötöksi menee
       26.1/VL-
     Nyt esim. syötöt korvautuvat seuraavasti:
       27#-     =>  27.1/VL-
       hyv 29#  =>  hyv 29.1/VL

  2. Jos mallilyhenne on koko rivi, voidaan lyhenne luoda helpommin.
     Jos esim. syötetään:
       Matematiikka\{#m
     saadaan lyhenne "#m" joka korvautuu sanalla "Matematiikka"
     esimerkiksi syötöstä
       #m on kivaa!
     tulisi syöttö
       Matematiikka on kivaa
  3. Käytännössä lyhenteet pidetään pisin-ensin -järjestyksessä, jotta
     samanaikaisesti voi olla käytössä sekä lyhenne # että #m
     ja jos #m löytyy, käytetään sitä.
  4. Lyhenne poistuu antamalla lyhenteeksi tyhjä jono.
     Esimerkiksi edellinen Matematiikka voidaan poistaa syötöllä
      \{\}#m\/
  5. Lyhenteiden erikoismerkit voidaan muuttaa ohjelman tekemää
     lyhennetiedostoa muuttamalla
  6. Jos syöttö halutaan tarkistaa, voidaan riville laittaa
     lyhenteiden avustus:
       #m on kivaa\?
     =>
       lista lyhenteistä ja
       (Matematiikka on kivaa) >
     ja suluissa oleva arvo voidaan hyväksyä pelkää RETiä painamalla.

[NULL]#
  Ei mitään ehtoja!
[t_ok]#
  Kaikki syötöt kelpaavat!
[t_nimi]#
  Jos nimi kirjoitetaan pienillä, muutetaan alkuisoiksi, eli
    meikälainen matti -> Meikäläinen Matti
  Jos nimeksi annetaan tyhjä, niin palataan päävalintaan.
[t_nimi_1]#
  Nimi ei mielellään saa esiintyä ennestään.  Mikäli esiintyy, varoitetaan.
  Jos nimi kirjoitetaan pienillä, muutetaan alkuisoiksi, eli
    meikälainen matti -> Meikäläinen Matti
  Jos nimeksi annetaan tyhjä, niin palataan päävalintaan.
[t_hetu]#
  Hetu voidaan antaa muodoissa:
    010270-1239   - täydellinen hetu
    010270        - ei tunnusosaa
    (tyhjä)       - hetua ei tiedetä
  Jos hetun tunnusnumero-osa on väärin, ehdotetaan siihen oikeata
  viimeistä merkkiä.  Vika saattaa kuitenkin olla jossakin aikaisemmassakin
  merkissä!
[t_hetu_1]#
  Hetu ei saa esiintyä ennestään (paitsi tyhjä).
  Hetu voidaan antaa muodoissa:
    010270-1239   - täydellinen hetu
    010270        - ei tunnusosaa
    (tyhjä)       - hetua ei tiedetä
  Jos hetun tunnusnumero-osa on väärin, ehdotetaan siihen oikeata
  viimeistä merkkiä.  Vika saattaa kuitenkin olla jossakin aikaisemmassakin
  merkissä!
[t_katu]#
  Jonoksi kelpaa mikä vaan, jono muutetaan alkuisoiksi, eli
    ankankuja 1 b 3  ->  Ankankuja 1 B 7
[t_isoksi]#
  Jonoksi kelpaa mikä vaan, jono muutetaan kokonaan isoiksi, eli
     aku -> AKU
[t_1_isoksi]#
  Jonoksi kelpaa mikä vaan, jonon 1. merkki  muutetaan isoksi, eli
     aku -> Aku
[t_alku_isoksi]#
  Jonoksi kelpaa mikä vaan, jono muutetaan alkuisoiksi, eli
    ankankuja 1 b 3  ->  Ankankuja 1 B 7
[t_numeerinen]#
  Jokaisen merkin pitää olla numeroon kelpaava.
[t_postinumero]#
  Postinumerossa on oltava 5 numerista merkkiä
[t_vuosi_1900]#
  Vuosi annettava jossakin seuraavista muodoista:
    1993   -> 1993
    93     -> 1993
    -93    -> 1993
[t_puh]#
  Jokaisen merkin pitää olla jokin seuraavista:
    0123456789-
[t_int]
  Syötettävän luvun pitää muodostaa kokonaisluku.
[t_double]
  Syötettävän luvun pitää muodostaa reaaliluku.

[SISÄLLYS]
  Sisällysluettelo:
  =================
  ? 
  Lisäys
  Etsiminen
  Tulostus
  Korjailu
  Tietyn kentän korjailu
  Asetukset
  Talletus

  Tietojen syöttö
  Lyhenteet
  Hakuehto
  ------------------------------------------------
  ?        antaa yleensä avustusta joka paikassa.
  [RETURN] palauttaa yleensä edelliseen kohtaan.
  ------------------------------------------------
