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:
- Åbn scriptvinduet (via menu eller ikon).
- 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
- Start et nyt script med Ctrl-N.
- 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.
- Scriptet ser således ud:
Program NextUnreadMessage;
Begin
ADo('SkipToNextUnreadMessage');
ADo('ArticlePane');
End.
- Skriv scriptet i tekstdelen, eller klistr det ind. Hvis man
klistrer, må man sikre sig at det indkopierede navn svarer til
det valgte filnavn.
- Kompiler med Ctrl-F9.
- Ret eventuelle fejl (håbløst hvis man ikke selv kan lave
scripts), og kompiler igen (gentages evt.).
- 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.
- 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.
- Nu kan man godt lukke sciptvinduet.
- Hvis man højreklikker på værktøjsbjælken, kan man vælge det
første punkt, [Configure buttons/shortcuts...].
- 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.
- 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.
- 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
- 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.
- 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.
- 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.
- Reelt behøver man kun kopiere de to Ado-linjer ind i proceduren,
men jeg foretrak altså at give scriptet et sigende programnavn.
- Kompiler med Ctrl-F9.
- Ret eventuelle fejl (håbløst hvis man ikke selv kan lave
scripts), og kompiler igen (gentages evt.).
- Nu er scriptet klar til brug. Det giver ingen mening at vælge hverken
ikon eller tastaturgenvej, for scriptet afvikles automatisk.
- 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.