Datamaskiner


  Rare dyr...

Alt ein PC gjer er logisk. For PCen....

Ein PC er, i eigne flimrande skjerm-auge, perfekt. Eigaren kan hoppe rundt og rive seg i håret, men programmet er salig i si tru på at alt er greit.

Tilogmed Windows95 kjenner seg logisk, når han hersar med maskina di.... (Vel, det er kanskje ikkje overraskande at programvare frå Microsoft har høøøge tankar om seg sjøl....)

Eg skulle gjerne, etter denne lille utblåsinga, kunne proklamere at eg hadde min eigen Mac på stellebordet, eller at eg tappert held fast ved gamle, svarte DOS. Men, det må visst fram: Eg er, må eg tilstå, diverre eit Windows-menneskje. Eg kan ikkje forsvare det på anna vis enn at det er av gamal vane, og økonomiske omsyn. Den fyrste maskina mi, var ein 386 med Windows 3.11. Dersom Mac held fram med å liggje over dei billegaste IBM-klonene i pris, vert det truleg Windows på meg i framtida også.

Det gode med Windows, er at det er så dårleg at ein MÅ bli kreativ og finne på ting sjølv. :-) Det dårlege er - sjølvsagt - Microsoft.... §-(

(Dessutan erDOS best til kvikk filhandtering...)


  Språket Basic

Dersom du ikkje har prøvd deg på programmering, er det i prinsippet omtrent som eit vanleg språk: du må kunne orda, og du må kunne grammatikken.

Kor likt programspråk er folkespråk, oppdaga eg ein gong etter å ha skrivi masse Basic. Plutseleg gjekk det opp for meg at eg tenkte engelsk med Basic-syntaks! Det var litt skummelt..

Skilnaden på folke- og PC-språk er at det er så viktig å vera gramatisk korrekt i PC-verda. Datamaskiner er meir pirkete på rettskriving, setningsoppbygging og teiknsetjing enn den argaste norsklærar, nynorsk-purist eller islending! Om det manglar eitt komma, skrik dei opp om "Syntax Error" og set raude streker over heile lina.

Det gode med Basic, er at det for det meste er bygd opp av vanlege, engelske ord. Om du vil hente bokstavane til venstre i eit ord, skriv du rett og slett "Left", med litt krusedullar etter. Ein annan god ting, er at dei ikkje styrer med semikolon og apostrofar, slik som mange andre dataspråk.

Dessutan liknar Basic litt på norsk i det at det finst eitt utal dialektar. Dei ulike programma som brukar Basic-dialektar, oppfører seg omtrent som dansande nordmenn på Kappleik: "Dette er ein valdres-/ telemarks-/ numedals-/ halling-/ vestlandsspringar, og det kan ikkje eg danse, for eg dansar berre telemarks-/ numedals-/ halling-/ valdres-/ vestlandsspringar. Dersom du har litt eldre versjoner av MSOffice (Word 6.0 eller 7.0, og liknande Excel-variantar), oppfører dei seg som nordmenn, og seier "denne kommandoen er Excel/Word/Whatever-Basic, og eg skjønner berre Word-/Excel-/Whatever-Basic. ."

Svenskene har visst ikkje så sterk kjensle for dialektar, for svenske jenter klagar gjerne over desse nordmenna, som alltid seier "Nei, eg kan ikkje denne dansen, for eg kan det som vert dansa to kilometer vestafor...". I dei aller nyaste programma (Word97 og co.), har Microsoft forsvenska seg litt, dei er litt flinkare til å skjønne dialektane til kvarandre. Til gjengjeld vart språket meir innvikla.... Nett når du trudde at dei tenkte på å gjera det lettare for oss...


  WordBasic

WordBasic er ikkje ulogisk Word sin dialekt av Basic. Det tyder at du kan bruke alle dei vanlege Basic-orda, og masse ord som berre Word skjønner.

Når ein skriv eit program for Word, heiter det av uvisse grunner å skrive ein "makro". Ettersom dei fleste programma du sjølv kjem til å skrive for Word er temmeleg små, hadde "mikro" vori meir treffande, men nerdeliv skal ikkje vera logisk.

Ein makro er ein bunt kommandoar som du vil ha Word til å utføre. Her kunne eg skrive ein komplett idiotisk og unytting liten eksempelmakro for å syne deg at dette ikkje er skumle saker. I staden skal du få eit genialt og enkelt lite triks som syner deg korleis ein venlegsinna makroen kan hjelpe deg med å skrive seg:

ei = MsgBox("Står disketten i diskettstasjonen?", 
"Disk inne?", 36) MsgBox Str$(ei),""

Så enkelt... Så genialt....

Skal tilgje deg om du ikkje straks ser kva som er så genialt her. Poenget er at makroen spør deg om du har sett i ein diskett, omtrent som dette:

Så langt, så godt, problemet er at du ikkje veit kva datamaskina tenkjer når nokon uskuldig svarar "Ja" eller "Nei". Ikkje ja eller nei, nemleg.

PCen har gjømt eit tal bak kvar knapp, det kan vera 0 eller 6 eller 7 eller -1, men med mindre du har brukt WordBasic i årevis eller er mikrochip-tankelesar, kan du ikkje vita kva det er. Og det må du vita, for å avsløre om nokon har svart ja eller nei...

Det flotte her, er at denne kommandoen: MsgBox Str$(ei) FORTEL deg kva for eit tal som ligg bak kvar knapp. Du kan starte makroen, og trykkje på "Ja"-knappen, og straks poppar det opp ein søt liten boks og informerar deg om at no tenkte Word "-1"! Slik:

Så kvar gong du ikkje er sikker på kva Word gøymer unna i gamle variablar, bruk ein liten MsgBox-kommando, og intet skal forbli skjult for deg! (Du kan sjølvsagt også prøve deg fram med "Vis variablene"-kommandoen i Word, og kjøre makroen skritt for skritt - men eg synest meldingsboksane er meir effektive.)

Er ikkje det eit nyttig triks, kanskje?

Du får unnskylde at eg her snik meg unna å forklare kvifor vi treng kommandoen Str$(), og kva som er skilnaden på MsgBox og MsgBox(). Eg vil heller skunde meg å syne fram nokre nyttige makroar som du kan klyppe og lime rett inn i din eigen Word 6.-eller 7.0.


  LagreMedKopiPåDiskett-makroen

Denne makroen, som legg ein tryggingskopi på diskett kvar gong du lagrar, er så kjekk å ha at Microsoft skulle ha lagt han inn som kommando i Word for lenge sea. Men det er jo typisk MS å bruke tusenvis av timer på autoformateringsgreier som er så "intelligente" at det kan lage kaos i heile dokumentet ditt, i staden for å skrive små, enkle program som vi har bruk for... :-(

Brukarane er dermed overlatt til seg sjølve, på typisk Microsoft-vis. Men her skal i alle fall DU få ein makro som gjer jobben! (Om du har NORSK versjon av Word 6.0 eller Word 7.0, i alle fall. Dersom du har engelsk versjon, gå til den engelske sida)

Her er makroen, lagra som rein tekst. Berre høgreklikk på linken og velj "Save Link As...". Etterpå kan du opne fila i Word, som tekst, og så kjem trikset:

  • Merk alt...
  • ...kopier...
  • ...velj Makro på Verktøy-menyen...
  • ...skriv eit fint namn, t.d. "TilDiskett"...
  • ...klikk "Opprett"-knappen
  • ...lim inn mellom dei to linene med tekst som dukkar opp. FERDIG! Lukk dokumentet og svar ja når Word spør om du vil lagre endringer.


      SlettDokumentet-makro

    Eigentleg er det noko tull å skilje tekst-og filhandtering i ulike program, slik som Microsoft gjer med Word/File Manager. Om du har opna eit dokument i Word og finn ut at du ikkje lenger treng det, kva gjer du? Startar File Manager for å finne og slette fila?

    Ikkje om du har denne makroen her.... Med denne makroen, kan du rett og slett leie Word til å fjerne uønska element...

    Dette er ein liten, enkel makro, så for deg som ikkje kan så masse av WordBasic, skal eg gå gjennom denne og forklare korleis det fungerer:

    Sub MAIN
    On Error Goto udrept
    ife = MsgBox("Vil du verkeleg slette det vakre dokumentet kalt " + Filnavn$() + "????", "Licence to kill", 36)
    If ife = - 1 Then
         Offer$ = Filnavn$()
         DokLukk 2
         Kill offer$
         Print "Fila " + offer$ + " er sporlaust borte."
    Else
    End If
    udrept:
    End Sub

    Fyrst kjem det ei line som berre seier at makroen startar her. "On Error"-kommandoen fortel at Word i tilfelle feil skal hoppe ("Goto") til bokmerket "udrept", som er på nest siste line.

    Så vert det meir fart på ting: MsgBox() spør brukaren om dokumentet verkeleg skal slettast, og kommandoen Filnavn$() hentar namnet på dokumentet som er framme, slik at ingen skal vera i tvil om kva fil det gjeld. Når det står ife=MsgBox("..."), tyder det at Word gøymer svaret frå brukaren i variabelen ife, så i neste line må vi sjekke i denne variabelen kva brukaren har svart.

    Dersom ife=-1, har brukaren svart ja til å slette fila, og vi går i gang.

    Vi treng ein variabel til å gøyme filnamnet i, og her har eg valgt "offer". (Litt dramatisk skal det vera.) Fordi det skal vera tekst i denne variablen, vil Word ha eit dollarteikn på slutten. (Microsoft er som vi veit glade i dollar...) Altså: Offer$ = Filnavn$().

    For å få lov til å slette fila, må vi lukke henne, for Word vil ikkje slette filer som er opne. Altså: DokLukk 2. Totalet fortel Word at vi ikkje skal lagre eventuelle endringer i fila.

    Dramatisk klimaks: Kill Offer$! Her er det sjølve gjerninga skjer, alt det andre er berre førebuing og tilfeldig småprat. (At det å slette ei fil heiter "Kill", er eit døme på at dei som lagde språket Basic, hadde humoristisk sans.)

    Print-kommandoen skriv i den grå lina nedst i Word-skjermen at ugjerninga er utført.

    Og resten av makroen berre rydder opp, kjem seg ut av If-strukturen og avsluttar pent og pynteleg. Fila er daud, og kan ikkje hentast opp av søppelbøtta.

    (Og det var ei åtvaring: bruk makroen litt forsiktig. Eit dokument drept av Word, kan du ikkje få att.)