Pieniä uudistuksia

[viesti Survo-keskustelupalstalla (2001-2013)]

Kirjoittaja: Seppo Mustonen
Sähköposti:    -
Päiväys: 13.1.2012 13:57

Vaikka pääpaino Survoon liittyvässä kehityksessä on omalta osaltani
siirtynyt viime vuoden kesän alusta lähtien Musteen suuntaan (olen
luotsannut Musteeseen suurimman osan tekemistäni Survo-moduleista) on
siinäkin yhteydessä tullut vastaan eräitä Survon/Musteen
laajennustarpeita.

Taulukot Survon datatiedostoiksi
================================

Kimmo on aikoinaan (v. 2002) laatinut hyvän /TABDATA-sukron, jolla
muunnetaan Survon TAB-komennolla tehtyjä moniulotteisia taulukoita
Survon datatiedostoiksi.
Koska tuon sukron toimintaan saattaminen kohtasi Musteen puolella
pieniä hankaluuksia, päädyttiin siihen, että tein vastaavan homman
suoraan TAB-ohjelman laajennukseksena.

Päästäkseni tulokseen jouduin harrastamaan hiukan arkeologisia
kaivauksia alkuperäisen, 25 vuoden takaisen TAB-ohjelman C-kielisen
lähdekoodini parissa. Vaikka en välittömästi pystynyt palauttamaan
mieleeni koodini yksityiskohtaista toimintaa, saatoin tukeutua
intuitioon ja arvauksiin, joiden avulla tarvittava lisäys onnistui
(toivottavasti:)

Lisäystä kuvannee riittävästi seuraava esimerkki:

Siinä riveillä 11-17 on tavanomainen TAB-komentokaavio, johon
on lisätty uudet täsmennykset FILE ja COMMENTS (rivi 11).
FILE=TAB_FIN1 kehottaa kirjoittamaan tulostaulukon Survodataksi
TAB_FIN1.SVO ja (sitä vapaaehtoisesti täydentävä) COMMENTS=11,17
ilmaisee, että rivit 11-17 tulee kopioida uuden datatiedoston
alussa olevaan selitysosaan eli ne tulevat näkyviin esim.
FILE STATUS -komennolla, jolloin toimituskenttään ilmaantuu näin
tarvittaessa sopivaa kuvausta tiedoston alkuperästä.
Rivin 19 FILE LOAD -komento näyttää, millainen tiedosto syntyi.

10 *VAR Brthrate=1000*Births/Popul TO FINLAND
11 *TAB FINLAND / FILE=TAB_FIN1 COMMENTS=11,17
12 *VARIABLES=Province,Popul,Area CELL=Brthrate
13 *Province=/UUS/TUR/AHV/KYM(South),/HÄM/MIK/KUO/KES/VAA/KAR(Middle)
14 *         /-(North)
15 *Popul=0,5000,20000,500000
16 *Brthrate=0,10,15,30
17 *Area=0,1000,20000
18 *
19 *FILE LOAD TAB_FIN1
20 *DATA TAB_FIN1*,A,B,C
21 C Provin Popul  Area  freq         Brthrate               SD
22 A South  5000   1000   103        9.9224586        3.1776319
23 * South  5000   20000    1        5.5268974                -
24 * South  20000  1000    59       12.6501143        2.2753560
25 * South  20000  20000    0                -                -
26 * South  500000 1000    17       14.2548345        1.9523412
27 * South  500000 20000    0                -                -
28 * Middle 5000   1000    94       10.8225821        3.8069366
29 * Middle 5000   20000    1        8.9460440                -
30 * Middle 20000  1000    79       12.3666517        2.6749661
31 * Middle 20000  20000   18       11.1296077        1.1913916
32 * Middle 500000 1000    18       14.3885364        1.6879317
33 * Middle 500000 20000    0                -                -
34 * North  5000   1000    26       14.3704723        3.5041434
35 * North  5000   20000   11       13.8656333        3.1251445
36 * North  20000  1000    13       16.8971475        3.0034161
37 * North  20000  20000   19       14.2619675        2.1654770
38 * North  500000 1000     3       16.4424438        2.5673815
39 B North  500000 20000    2       16.7068615        0.8836299
40 *

SHADOW SET
==========

Useat Survon laajennukset ovat syntyneet käyttäjien esittämien
toiveiden perusteella. Joskus uudet toiminnat sikiävät vielä ilman
"ulkoista painostustakin".
Koska Survon varjorivitekniikka vaikuttaa edelleenkin ainutlaatuiselta,
tulin ajatelleekseni, voisiko sen suhteen tehdä vielä jonkinlaista
parannusta. Huomasin, että miksei peruskalustoon kuuluvaa SET-
komentoa voisi laajentaa koskemaan myös varjorivejä ja näin syntyi
rinnakkaiskomento SHADOW SET, joka toimii varjoriveillä täsmälleen
samoin kuin SET tavallisilla toimituskentän riveillä.

Tämän toiminnon kuvausta varten olen laatinut uuden gif-animaation
(tällä hetkellä 72. Survon pääverkkosivulla toimivista)

http://www.survo.fi/demos/index.html#ex72 

Siinä pienoiskoossa osoitetaan, miten (yhdistelemällä taulukon
lajittelua ja SHADOW SET -komentoa) väritetään ääritapauksia niin,
että eri maiden "juomakulttuurien" erot tulevat selkeästi näkyville.


Toimituskentän vieritys hiiren "rullalla"
=========================================

Minulle ergonomisesti todella käteväksi välineeksi jo usean vuoden ajan
on osoittautunut näppäimistön eteen sovitettu "RollerMouse",
kts. esim.
http://www.ergojournal.co.uk/2010/05/contour-roller-mouse-pro2/ 
Siinä hiiriohjaukset tapahtuvat ketterästi näppäimistön läheltä
tarvitsematta kurottaa kättä näppäimistön ulkopuolelle.

Hiiren ollessa näin oikeastaan kaiken keskipisteenä rullaa
on tullut käytetyksi jatkuvasti mm. verkkosivuja selatessa ja kelatessa.
Hieman on harmittanut, etten ole voinut samalla tavalla vierittää
Survon toimituskenttää. Olen yrittänyt etsiä siihen keinoja monta
kertaa jo vuosia sitten.

Ongelma on ollut siinä, etten käytössäni olevien työvälineiden
(Visual Studio 6.0 vuodelta 1998) dokumentoinnista ole löytänyt
hiiren rullaan liittyviä tietoja, vaikka tuo vekotin (scroll wheel)
on ilmaantunut hiiriin jo hieman aikaisemmin, vuonna 1996 Microsoftilla.

Etsiessäni jälleen kerran ratkaisua asiaan, löysin sivun
http://www.adrianxw.dk/SoftwareSite/Consoles/Consoles5.html 
jossa hiirisanomien joukosssa mainitaan MOUSE_WHEELED ja toden totta
sitä kautta saatoin tunnistaa Survon editor-ohjelmassa rullan
pyörityksen ja pyörityssuunnan. Rullaa käyttävissä ohjelmissa
on lisäoptiona yhdistelmä Shift-nappi alhaalla ja rullan pyöritys,
jolloin rullaus tapahtuu vaakasuunnassa. Tätä yhdistelmää ei
Visual Studio kuitenkaan tunne.
Niinpä päädyin sellaiseen ratkaisuun, että painamalla erikseen
Shift-nappia ennen rullausta saa vaihdetuksi pystysuoran rullauksen
vaakasuuntaiseksi ja päinvastoin. Kulloinenkin suunta osoitetaan
Survon pääikkunan otsikkorivillä, jossa tekstin SURVO MM perässä
on merkki | pystysuoralle ja _ vaakasuoralle rullaustilalle.

Tämä näkyy selvästi em. gif-demon kuvissa, joissa rullaustila
on pystysuuntainen.

Rullaus onnistuu rivi riviltä (tai vaakasuuntaan merkki merkiltä),
mutta rullaa nopeammin pyörittämällä vauhti kiihtyy niin, että voi
kätevästi kulkea pitempiäkin matkoja ja tietyissä tilanteissa
tämä on todella mukavaa. Survossa tietenkin nuolinapit (erityisesti
alt-tehosteella) ja PgDn- ja PgUp-napit ovat pitkään olleet tarjolla
todella vikkeliin selauksiin.

                        * * *

Tässä mainitsemani uudet temput ovat saatavilla SURVO MM -versiosta
3.33 alkaen.

-Seppo

Vastaukset:
[ei vastauksia]

Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!

Etusivu  |  Keskustelu
Copyright © Survo Systems 2001-2013. All rights reserved.
Updated 2013-06-15.