Bertel Lund Hansens hjemmeside

Brug af scripts

Indledning

Der findes tre slags scripts til Dialog, Custom, Event og Message. Den første type findes i en undermappe der hedder Custom, og de to andre ligger i Event.

Customscripts er scripts som man bare skal have til at gøre et eller andet på kommando, f.eks. finde næste ulæste indlæg samt placere cursoren (og fokus) i tekstvinduet når man trykke N.

Eventscripts er scripts som bliver aktiveret automatisk når der indtræder en bestemt hændelse (event) i Dialog. Det gør der f.eks. når man starter programmet.

Scriptvinduet kan åbnes fra menuen via [Settings - Scripting - Scripting...], men man kan også anbringen ikonet på værktøjsbjælken og klikke på det. Man kan også godt slå scripting helt fra via menuen, men det er der nu ingen grund til.

Fremgangsmåden

Den normale fremgangsmåde når et script skal udarbejdes og benyttes er:

  1. Åbn scriptvinduet (via menu eller ikon).
  2. Vælg på fanebladene ude til venstre om det skal være et customscript eller et eventscript (eller sjældent et messagescript).

    Første gennemgang handler om customscripts

  3. Start et nyt script med Ctrl-N.
  4. Man bliver bedt om et filnavn. Det navn vil samtidig være navnet på scriptet, og det ses i øverste linje. Hvis man valgte "NextUnreadMessage" som navn, vil man se at der står:
     Program NextUnreadMessage;
     Begin
     End.
     
    Hvis man retter navnet i den øverste linje, kan scriptet ikke kompileres. Hvis man er utilfreds med det, må man slette filen og igen trykke Ctrl-N.
  5. Scriptet ser således ud:
     Program NextUnreadMessage;
     Begin
      ADo('SkipToNextUnreadMessage');
      ADo('ArticlePane');
     End.
     
  6. Skriv scriptet i tekstdelen, eller klistr det ind. Hvis man klistrer, må man sikre sig at det indkopierede navn svarer til det valgte filnavn.
  7. Kompiler med Ctrl-F9.
  8. Ret eventuelle fejl (håbløst hvis man ikke selv kan lave scripts), og kompiler igen (gentages evt.).
  9. Nu er scriptet klar til brug og kan aktiveres fra scriptvinduet med F9. Det er imidlertid lidt mere interessant at tildele det et ikon eller en tastaturgenvej.
  10. Et ikon kan vælges nederst til venstre (det har jeg ikke gjort til det script fordi jeg kun vil bruge N). Husk på at ikonet har en betydning i forvejen så man måske kan blive forvirret. På den anden side er det en fordel at bruge samme ikon hvis scriptet modificerer en handling der allerede findes. Husk også at valget er foretaget med det samme. Man kan komme af med et ikon igen ved at rulle helt ned til den tomme liste og klikke der.
  11. Nu kan man godt lukke sciptvinduet.
  12. Hvis man højreklikker på værktøjsbjælken, kan man vælge det første punkt, [Configure buttons/shortcuts...].
  13. Det åbner et vindue hvor der til venstre er en liste over grupper af handlinger. Den nederste hedder "Scripts", og det er den der skal vælges.
  14. Til højre ser man så listen over sine scripts, in casu også "NextUnreadMessage". Hvis der er valgt et ikon, kan det ses sammen med navnet. Ikonet kan trækkes op på værktøjsbjælken, og så kan scriptet aktiveres ved at klikke på ikonet.
  15. Neden under vinduet er der et felt der hedder "Shortcut". Hvis man klikker i det og trykker en tast eller en kombination, bliver det (foreløbig) tildelt som genvej, men bagefter skal man lige vælge ét af de andre scripts. Derved vil man nemlig få en advarsel hvis genvejen allerede er i brug, og så kan man tage stilling til om man vil overskrive den gamle genvej eller vælge om. Man sletter valget helt ved at trykke på Shift eller Ctrl.

    Anden gennemgang handler om eventscripts

  1. Der er en række forud fastlagte muligheder som er indbygget i systemet, og de kan ses ude til venstre. Man vælger en af dem. Hvis der ikke allerede ligger et script til den hændelse, kan man trykke Ctrl-N, og der vil så blive lavet et script der ser sådan ud:
     program OnGroupEntered;
    
     procedure OnGroupEntered(Groupname: string);
     begin
     //Your code goes here
    
     end;
    
     begin
     end.
     
  2. Man kan godt ændre programnavnet hvis man vil, men procedure-navnet må ikke ændres. Princippet er at man skriver koden i proceduren, og programmet er en skal.
  3. Hvis vi sætter at man vil have at alle trådene i en gruppe skal være foldet sammen hver gang man åbner gruppen, så kan man benytte følgende script:
     Program CollapseAll;
    
     procedure OnGroupEntered(Groupname: string);
     begin
      ADo('CollapseAllThreads');
      ADo('RefreshView');
     end;
    
     begin
     end.
     
  4. Reelt behøver man kun kopiere de to Ado-linjer ind i proceduren, men jeg foretrak altså at give scriptet et sigende programnavn.
  5. Kompiler med Ctrl-F9.
  6. Ret eventuelle fejl (håbløst hvis man ikke selv kan lave scripts), og kompiler igen (gentages evt.).
  7. Nu er scriptet klar til brug. Det giver ingen mening at vælge hverken ikon eller tastaturgenvej, for scriptet afvikles automatisk.
  8. Nu kan man godt lukke sciptvinduet.

Lidt om mapperne

Et script i Dialog skal placeres i en af to undermapper, Event eller Custom. Det bliver de automatisk hvis man benytter den indbyggede editor, men man kan altså godt redigere dem med et andet program hvis man vil. De skal så kopieres over i editoren bagefter fordi de skal kompileres før de kan virke, og det kan kun gøres med den.

Hvis man vil sikkerhedskopiere sine scripts og ikke i forvejen kopierer hele Dialog, er det altså disse to mapper man skal tage backup af.