Re: LINEDEL:istä ja BLOCK-napista

[vastaus aiempaan viestiin]

Kirjoittaja: Kimmo Vehkalahti
Sähköposti:    -
Päiväys: 18.12.2003 1:18

Rivien poistaminen näyttää tosiaan herättävän keskustelua.
Joku voisi epäillä, että nyt tehdään tikusta asiaa, mutta
itse koen asian hyvinkin keskustelun arvoiseksi.
Käyttöliittymiä koskevat asiat kiinnostavat aina.

Viimeksi Marjut epäili ehdotukseni hyödyllisyyttä:
>Jäin miettimään tuota Kimmon block + ctrl + del toivetta ja
>ihmettelen missä se helpottaisi hommia sen enempää kuin LINEDEL
>jo nyt tekee. Siinähän joutuisi kuitenkin ensin maalaamaan
>blockin ennenkuin sen voisi poistaa eikö sama homma hoituisi
>nopeammin LINEDEL ekarivi,vikarivitoiminnolla?

Kommentoin aluksi tuota hyödyllisyyttä, eli miksi haluaisin kytkeä
rivien poistamisen blokkimäärittelyyn. Olen tätä kaivannut itse
asiassa aika kauan, mutten ole edennyt koskaan asiassa mihinkään
konkreettiseen ehdotukseen. Kun Seppo kertoi LINEDEListä, asia
tuli välittömästi mieleeni (tai ainakin viimeistään, kun pääsin
kokeilemaan LINEDELin käyttöä).

LINEDEL-komennossa annetaan rivitunnukset, joihin toiminto kohdistuu.
Se on kätevää ja hyvin Survomaista. Kuitenkin välillä on kätevämpää
ilmaista halutut rivit osoittamalla, siis maalaamalla suorakaiteen
muotoinen alue näppäimistöä ja/tai hiirtä käyttäen. Käytän selvästi
useammin blokkimäärittelyä tehtäviin, joihin voisi käyttää Survon
mainioita komentojakin (INSERT, DELETE, MOVE, CHANGE, CLEAR jne.)

Jos haluan poistaa kentästä esim. 500 riviä jostain välistä, ja
mahdollisesti siirtää ne johonkin toiseen toimituskenttään, maalaan
blokin ja tuhoan sen (Ctrl-End). Jäljelle jää 500 tyhjää riviä,
jotka tähän asti olen useimmiten poistanut painamalla alt-F10:n
pohjaan joksikin aikaa. :( Kätevämpää olisi, jos blokin ollessa
maalattuna sen voisi halutessaan poistaa riveineen päivineen.
Toiseen kenttään saan tiedot (varjomerkkeineen) samaisella BLOCK-
napilla, kuten tiedetään. Hieno yksityiskohta on, että Insert-
tilassa BLOCK lisää uusia rivejä. Niinpä olisi minusta loogista
että sen repertuaariin kuuluisi myös rivien poisto tarvittaessa.

Jos LINEDEL olisi ollut olemassa jo alunperin - tai ainakin 13
vuotta sitten jolloin aloin perehtyä Survon käyttöön, tilanne
voisi olla aivan toisenlainen: olisin ehkä omaksunut sellaisia
käyttötapoja, etten nyt näkisi mitään erityistä hyötyä BLOCK-
toiminnon laajentamiseen. BLOCK-nappi lienee kuitenkin minun
"top10":ssäni aivan ykkössijoilla, käytän sitä sen kaikissa
muodoissaan aivan jatkuvasti, sekä interaktiivisesti että myös
sukroissani.

(Tätä vastaustakin kirjoittaessani olen käyttänyt BLOCK-nappia jo
monta kertaa; myös ehdottamallani tavalla olisi ollut käyttöä.)

Erilaisten toimintojen kohdistaminen maalattuun alueeseen ei ole
tietenkään mikään ihmeellinen juttu sinänsä: sehän on kaikkien
tyypillisten Windows-ohjelmien tapa toimia. Kun tekstialue on
maalattu (shift-nuolet tms.) esim. Notepadissa tai Wordissa, se
voidaan mm. tuhota (Del), kopioida (Ctrl-C) tai sekä että (Ctrl-X).
Rivien maalaamisessa riittää painaa nuolinappia alas (tai ylös),
mutta toisaalta suorakaiteiden maalaaminen ei ole mahdollista.

Tässä onkin näiden ohjelmien ja Survon välillä selvä ero: Survossa
on merkitystä sekä riveillä että sarakkeilla, kun taas muissa
(yleensä) ei sarakkeilla ole mitään roolia. Kuitenkin näkisin
että Survossakin olisi mahdollista ja järkevää kehittää alueiden
määrittelyyn liittyviä asioita edelleen monipuolisemmiksi.
Kiva lisäyshän oli sekin, että blokin saa Windowsin leikepöytään
komennolla COPY (sekä hiirellä, vaikka hiirivetoisia ratkaisuja
en oikein itse tykkää käyttää, en Survossa enkä muissakaan
ohjelmissa).

Nyt Survo on (ja on ollut pitkään) mielestäni edellä muita, kun
puhutaan mielivaltaisten suorakulmioalueiden määrittelystä,
kopioinnista yms., mutta kokonaisten tekstikappaleiden hallinta
on kyllä rehellisesti sanottuna kätevämpää muilla ohjelmilla,
esim. sinänsä alkeellisella Notepadilla. :( En kuitenkaan näe
mitään esteitä, etteikö Survon mahdollisuuksia voisi laajentaa.

Tuolloin keskeisessä roolissa on mielestäni BLOCK-nappi, jolle
voisi antaa enemmän toimintoja. Lisäksi (pohdin tätä n. vuosi
sitten viestissäni Sepolle Copy- ja Paste-asioiden sivujuonteena)
nuo mainiot shift-nuolet voisi toteuttaa vaihtoehtoisena tapana
määritellä blokki: shift pohjassa nuolinapin (tai PgDn, PgUp,
Home, End) painaminen veisi suoraan BLOCK-määrittelyyn, ja kun
shift vapautettaisiin, oltaisiin samassa vaiheessa kuin kolmen
BLOCK-painalluksen jälkeen. Minusta tätä kannattaisi kehitellä.
(Toteaisin mielelläni Survon Notepadia kätevämmäksi joka saralla!)

Marjut muistutti myös uuden toiminnon vaarallisuudesta:
>Voisin hyvin kuvitella, että jo tässä muistamattomuuden vaiheessa
>saisi aikaiseksi aikamoisia yllätyksiä, kun ensin merkkaisi blockin
>sen kopioimista varten, kopioisi ja sitten unohtaisi blockin "päälle"
>ja sitten aivan muina naisina painaisi vahingossa ctrl+deleteä.

Myös Seppo pohti kommentissaan tätä:
>Mielestäni tällainen rivien poistaminen voisi tapahtua vain sillä
>ehdolla, että on maalattu koko rivit (ei mitään tekstiä maalauksen
>ulkopuolella ko. riveillä).
>Muuten olisi ehkä kohtalokasta, jos esim. taulukosta olisi
>maalattu siirtoa varten muutama sarake ja ctrl-Del putsaisi koko
>taulukon poistaessaan rivit.

"Muina naisina" Ctrl-Del:in painaminen on tietysti mahdollista,
vaikkei sillä olekaan mitään käyttöä ollut Survon editorissa.
Ehdottaisin että tämän toiminnon kohtalokkuutta voisi säädellä
systeemiparametrilla block_del (tms.). Oletusarvoisesti BLOCK
toimisi kuten aina ennenkin, mutta niille huimapäille, jotka
tällaisia toimintoja haluaisivat, neuvottaisiin asettamaan omassa
Survossaan block_del erikseen päälle (SURVO.APU-tiedostossa).
(Tunnustaudun huimapääksi: onko jollain muulla mm. save_warning=0
ja autosave=0 omassa APU-tiedostossaan?)

Kuinka kätevää olisikaan poistaa esim. edellinen tekstikappale
niin ettei sitä tarvitsisi edes maalata kokonaan. Jos vielä
em. shift-nuolet olisivat käytössä, niin riittäisi painaa kpl:n
alussa shift+9*alas, ctrl-del. Silloin painallukset olisivat
(crtl:ää lukuunottamatta) identtiset Notepadin kanssa. Pidän siis
myös Sepon edellä esittämää ehtoa liian tiukkana. Pitäisikö
block_del:in saadakin arvoja 0,1,2,... sen mukaan, miten tiukasti
blokkien käsittelyyn suhtaudutaan: 0=ei uusia jippoja (oletus),
1=sallitaan napin Ctrl-Del käyttö, 2=sallitaan lisäksi rivien
poisto maalaamatta kokonaisia rivejä.


Sori nyt että aloin napista näin paljon napista.

- Kimmo

Vastaukset:

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.