Softwaren

En beskrivelse af softwaren og dets funktioner


Pascal kan arbejde med biblioteker, Libreries, hvor man kan lægge diverse delprogrammer, funktioner og andre småting ud, så det ikke fylder i hovedprogrammet. Vi bruger Libraries til lidt forskelligt - dog mest til at "tegne" stationen rent spormæssigt. Men der er også Libraries til RasPien og dens funktioner.

Gå til


Fejlkoder

Fejlkoder bliver brugt til at finde ud af, hvad der er gået galt.

Grundlæggende set kan der gå to ting galt: Man betjener tavlen forkert, eller der er en fejl i programmet. Hvis man betjener tavlen forkert, så sker der ikke noget direkte ved det. Der vil bare ikke ske noget, så vidt man kan se. Men der vil blive registreret en fejlkode i en logfil, som så kan læses på et senere tidspunkt. Fejlkoden bliver ikke vist på tavlen. Det er dog planlagt, at en advarselstone vil hyle. Og på den måde vil man få at vide, at man har lavet en fejl.

Koderne fortæller, hvilke fejl der begåes.



 
 unit Fejlkoder;

interface

 procedure fejlkoder;

var
  fejl                 :  BYTE;


implementation

procedure fejlkoder;

    label 1;

    begin

     if fejl= 1 then begin   writeln('                                                             ');
                             writeln('Fejl: Flere end to knapper nedtrykket');
                    goto 1; end;                           {indlaesdata}
     if fejl= 2 then begin   writeln('                                                             ');
                             writeln('De to betjente knapper giver ikke valid k›rsel.');
                    goto 1; end;             {behandlknapper}
     if fejl= 3 then begin   writeln('                                                             ');
                             writeln('Fejl. Ingen spor er besat.');
                    goto 1; end;                     {checkspor}
     if fejl= 4 then begin   writeln('                                                             ');
                             writeln(' * ikke brugt * ');
                    goto 1; end;                          {findvej}
     if fejl= 5 then begin   writeln('                                                             ');
                             writeln('Ups, begge spor besat . . .');
                    goto 1; end;                      {checkspor}
     if fejl= 6 then begin   writeln('                                                             ');
                             writeln('Fejl: Begge spor frie eller optaget.');
                    goto 1; end;                                 {findvej}
     if fejl= 7 then begin   writeln('                                                             ');
                             writeln('Et eller flere spor i sporvejen er optaget.');
                    goto 1; end;                            {findvej}
     if fejl= 8 then begin   writeln('                                                             ');
                             writeln('Fejlbetjening: Sporvej allerede fastlagt.');
                    goto 1; end;                            {findvej}
     if fejl= 9 then begin   writeln('                                                             ');
                             writeln('Et sporskifte i sporvejen er låst.');
                    goto 1; end;                            {findvej}
     if fejl=10 then begin   writeln('                                                             ');
                             writeln('Et sporskifte i sporvejen er manuelt låst i forkert stilling.');
                    goto 1; end;                            {findvej}
     if fejl=41 then begin   writeln('                                                             ');
                             writeln('Sporvej ikke fundet. Det kan skyldes fejl i data.');
                    goto 1; end;                            {findvej}
     if fejl=42 then begin   writeln('                                                             ');
                             writeln('Sporvej ikke fundet. Det kan skyldes fejl i data.');
                    goto 1; end;                            {findvej}
     if fejl=43 then begin   writeln('                                                             ');
                             writeln('Sporvej ikke fundet. Det kan skyldes fejl i data.');
                    goto 1; end;                            {findvej}
     if fejl=44 then begin   writeln('                                                             ');
                             writeln('Sporvej ikke fundet. Det kan skyldes fejl i data.');
                    goto 1; end;                            {findvej}
     if fejl=45 then begin   writeln('                                                             ');
                             writeln('De to retningsstakke er ikke lige lange (antal blokke).');
                    goto 1; end;                            {findvej}
     if fejl=46 then begin   writeln('                                                             ');
                             writeln('De to retningsstakke er ikke ens.');
                    goto 1; end;                            {findvej}

1: end;    {fejlkoder}

end.

   
   

Sporplan

Sporplan er en tabel over alle enkelte spor - eller blokke. Hvert tal i tabellen er nummeret på den blok, som sporet fører ind i. Hvis der er sporskiftere i blokken, vil der være flere muligheder for kørsel. Derfor er der 8 muligheder til afbenyttelse.

I selve programmet er der lavet en algoritme, der kan generere en liste over de blokke, som der skal køres på. Information om "fra" og "til" kommer direkte fra de to knapper, man skal trykke på for at lave en sporvej. Ind i tabellen - og i mange andre tabeller - er der "indbygget" indikation af retning. Dette er "true/false"-delen i tabellerne.

I tabellen kan man også se. at nogle tal er højere end 100. Det er ikke fordi, der er så mange spor, eller vores nummerering af det hele er "lidt rodet". Det skyldes, at vi bruger en del krydssporskiftere. Og disse findes i flere udgaver. Det dobbelte krydssporskifte er der intet problem med, men det er der med de to andre: Det enkelte krydssporskifte og krydssporet. Konflikten ligger i tabellen virkemåde versus det enkelte krydssporskifte og krydssporets virkemåde. Disse krydsspor er en blok for sig selv. Men man kan ikke direkte se i tabellen, om der er et skifte på eller ej. Simplest er krydssporet, som slet ikke indeholder noget skift. Men man kan køre ind i det fra to retninger. Og man kan køre ud af det i to retninger. Ved et dobbelt krydssporskifte er der frit valg. Men ved et krydsspor kan man kun køre lige over. For at angive denne afhængighed sættes et tusindtal foran. Det er så op til programmet at detektere dette tal og bruge informationen aktivt, når listen over blokkene genereres.


unit sporplan;


interface

procedure initsporplan;


VAR
   spor   :  ARRAY [false..true,1..321,1..8] OF WORD;   (* Skema over bane*)


implementation


procedure initsporplan;

  begin

Spor[false,50,1]:=278;	Spor[true,112,1]:=0;
Spor[false,112,1]:=0;	Spor[true,112,1]:=201;
Spor[false,119,1]:=0;	Spor[true,119,1]:=205;
Spor[false,191,1]:=0;	Spor[true,191,1]:=0;
Spor[false,191,2]:=0;	Spor[true,191,2]:=0;
Spor[false,191,3]:=0;	Spor[true,191,3]:=0;
Spor[false,191,4]:=0;	Spor[true,191,4]:=0;
Spor[false,191,5]:=0;	Spor[true,191,5]:=0;
Spor[false,191,6]:=0;	Spor[true,191,6]:=0;
Spor[false,191,7]:=0;	Spor[true,191,7]:=0;
Spor[false,191,8]:=0;	Spor[true,191,8]:=0;
Spor[false,192,1]:=0;	Spor[true,192,1]:=0;
Spor[false,192,2]:=0;	Spor[true,192,2]:=0;
Spor[false,192,3]:=0;	Spor[true,192,3]:=0;
Spor[false,192,4]:=0;	Spor[true,192,4]:=0;
Spor[false,192,5]:=0;	Spor[true,192,5]:=0;
Spor[false,192,6]:=0;	Spor[true,192,6]:=0;
Spor[false,192,7]:=0;	Spor[true,192,7]:=0;
Spor[false,192,8]:=0;	Spor[true,192,8]:=0;
Spor[false,193,1]:=0;	Spor[true,193,1]:=0;
Spor[false,193,2]:=0;	Spor[true,193,2]:=0;
Spor[false,193,3]:=0;	Spor[true,193,3]:=0;
Spor[false,193,4]:=0;	Spor[true,193,4]:=0;
Spor[false,193,5]:=0;	Spor[true,193,5]:=0;
Spor[false,193,6]:=0;	Spor[true,193,6]:=0;
Spor[false,193,7]:=0;	Spor[true,193,7]:=0;
Spor[false,193,8]:=0;	Spor[true,193,8]:=0;
Spor[false,194,1]:=0;	Spor[true,194,1]:=0;
Spor[false,194,2]:=0;	Spor[true,194,2]:=0;
Spor[false,194,3]:=0;	Spor[true,194,3]:=0;
Spor[false,194,4]:=0;	Spor[true,194,4]:=0;
Spor[false,194,5]:=0;	Spor[true,194,5]:=0;
Spor[false,194,6]:=0;	Spor[true,194,6]:=0;
Spor[false,194,7]:=0;	Spor[true,194,7]:=0;
Spor[false,194,8]:=0;	Spor[true,194,8]:=0;
Spor[false,195,1]:=0;	Spor[true,195,1]:=214;
Spor[false,195,2]:=0;	Spor[true,195,2]:=0;
Spor[false,195,3]:=0;	Spor[true,195,3]:=0;
Spor[false,195,4]:=0;	Spor[true,195,4]:=0;
Spor[false,195,5]:=0;	Spor[true,195,5]:=0;
Spor[false,195,6]:=0;	Spor[true,195,6]:=0;
Spor[false,195,7]:=0;	Spor[true,195,7]:=0;
Spor[false,195,8]:=0;	Spor[true,195,8]:=0;
Spor[false,196,1]:=0;	Spor[true,196,1]:=211;
Spor[false,196,2]:=0;	Spor[true,196,2]:=0;
Spor[false,196,3]:=0;	Spor[true,196,3]:=0;
Spor[false,196,4]:=0;	Spor[true,196,4]:=0;
Spor[false,196,5]:=0;	Spor[true,196,5]:=0;
Spor[false,196,6]:=0;	Spor[true,196,6]:=0;
Spor[false,196,7]:=0;	Spor[true,196,7]:=0;
Spor[false,196,8]:=0;	Spor[true,196,8]:=0;
Spor[false,197,1]:=0;	Spor[true,197,1]:=207;
Spor[false,197,2]:=0;	Spor[true,197,2]:=0;
Spor[false,197,3]:=0;	Spor[true,197,3]:=0;
Spor[false,197,4]:=0;	Spor[true,197,4]:=0;
Spor[false,197,5]:=0;	Spor[true,197,5]:=0;
Spor[false,197,6]:=0;	Spor[true,197,6]:=0;
Spor[false,197,7]:=0;	Spor[true,197,7]:=0;
Spor[false,197,8]:=0;	Spor[true,197,8]:=0;
Spor[false,198,1]:=0;	Spor[true,198,1]:=205;
Spor[false,198,2]:=0;	Spor[true,198,2]:=0;
Spor[false,198,3]:=0;	Spor[true,198,3]:=0;
Spor[false,198,4]:=0;	Spor[true,198,4]:=0;
Spor[false,198,5]:=0;	Spor[true,198,5]:=0;
Spor[false,198,6]:=0;	Spor[true,198,6]:=0;
Spor[false,198,7]:=0;	Spor[true,198,7]:=0;
Spor[false,198,8]:=0;	Spor[true,198,8]:=0;
Spor[false,199,1]:=0;	Spor[true,199,1]:=203;
Spor[false,199,2]:=0;	Spor[true,199,2]:=0;
Spor[false,199,3]:=0;	Spor[true,199,3]:=0;
Spor[false,199,4]:=0;	Spor[true,199,4]:=0;
Spor[false,199,5]:=0;	Spor[true,199,5]:=0;
Spor[false,199,6]:=0;	Spor[true,199,6]:=0;
Spor[false,199,7]:=0;	Spor[true,199,7]:=0;
Spor[false,199,8]:=0;	Spor[true,199,8]:=0;
Spor[false,200,1]:=0;	Spor[true,200,1]:=202;
Spor[false,200,2]:=0;	Spor[true,200,2]:=0;
Spor[false,200,3]:=0;	Spor[true,200,3]:=0;
Spor[false,200,4]:=0;	Spor[true,200,4]:=0;
Spor[false,200,5]:=0;	Spor[true,200,5]:=0;
Spor[false,200,6]:=0;	Spor[true,200,6]:=0;
Spor[false,200,7]:=0;	Spor[true,200,7]:=0;
Spor[false,200,8]:=0;	Spor[true,200,8]:=0;
Spor[false,201,1]:=112;	Spor[true,201,1]:=204;
Spor[false,201,2]:=0;	Spor[true,201,2]:=203;
Spor[false,201,3]:=0;	Spor[true,201,3]:=0;
Spor[false,201,4]:=0;	Spor[true,201,4]:=0;
Spor[false,201,5]:=0;	Spor[true,201,5]:=0;
Spor[false,201,6]:=0;	Spor[true,201,6]:=0;
Spor[false,201,7]:=0;	Spor[true,201,7]:=0;
Spor[false,201,8]:=0;	Spor[true,201,8]:=0;
Spor[false,202,1]:=200;	Spor[true,202,1]:=222;
Spor[false,202,2]:=0;	Spor[true,202,2]:=204;
Spor[false,202,3]:=0;	Spor[true,202,3]:=0;
Spor[false,202,4]:=0;	Spor[true,202,4]:=0;
Spor[false,202,5]:=0;	Spor[true,202,5]:=0;
Spor[false,202,6]:=0;	Spor[true,202,6]:=0;
Spor[false,202,7]:=0;	Spor[true,202,7]:=0;
Spor[false,202,8]:=0;	Spor[true,202,8]:=0;
Spor[false,203,1]:=1201;	Spor[true,203,1]:=205;
Spor[false,203,2]:=199;	Spor[true,203,2]:=2206;
{Spor[false,203,1]:=201;	Spor[true,203,1]:=205;
Spor[false,203,2]:=199;	Spor[true,203,2]:=206;}
Spor[false,203,3]:=0;	Spor[true,203,3]:=0;
Spor[false,203,4]:=0;	Spor[true,203,4]:=0;
Spor[false,203,5]:=0;	Spor[true,203,5]:=0;
Spor[false,203,6]:=0;	Spor[true,203,6]:=0;
Spor[false,203,7]:=0;	Spor[true,203,7]:=0;
Spor[false,203,8]:=0;	Spor[true,203,8]:=0;
Spor[false,204,1]:=1201;	Spor[true,204,1]:=1221;
Spor[false,204,2]:=2202;	Spor[true,204,2]:=2206;
{Spor[false,204,1]:=201;	Spor[true,204,1]:=221;
Spor[false,204,2]:=202;	        Spor[true,204,2]:=206;}
Spor[false,204,3]:=0;	Spor[true,204,3]:=0;
Spor[false,204,4]:=0;	Spor[true,204,4]:=0;
Spor[false,204,5]:=0;	Spor[true,204,5]:=0;
Spor[false,204,6]:=0;	Spor[true,204,6]:=0;
Spor[false,204,7]:=0;	Spor[true,204,7]:=0;
Spor[false,204,8]:=0;	Spor[true,204,8]:=0;
Spor[false,205,1]:=1203;	Spor[true,205,1]:=207;
Spor[false,205,2]:=198;	        Spor[true,205,2]:=2206;
{Spor[false,205,1]:=203;	Spor[true,205,1]:=207;
Spor[false,205,2]:=198;	        Spor[true,205,2]:=206;}
Spor[false,205,3]:=0;	Spor[true,205,3]:=0;
Spor[false,205,4]:=0;	Spor[true,205,4]:=0;
Spor[false,205,5]:=0;	Spor[true,205,5]:=0;
Spor[false,205,6]:=0;	Spor[true,205,6]:=0;
Spor[false,205,7]:=0;	Spor[true,205,7]:=0;
Spor[false,205,8]:=0;	Spor[true,205,8]:=0;
Spor[false,206,1]:=1204;	Spor[true,206,1]:=210;
Spor[false,206,2]:=1203;	Spor[true,206,2]:=4213;
Spor[false,206,3]:=1205;	Spor[true,206,3]:=0;
{Spor[false,206,1]:=204;	Spor[true,206,1]:=210;
Spor[false,206,2]:=203;	        Spor[true,206,2]:=213;
Spor[false,206,3]:=205;	        Spor[true,206,3]:=0;}
Spor[false,206,4]:=207;	Spor[true,206,4]:=0;
Spor[false,206,5]:=0;	Spor[true,206,5]:=0;
Spor[false,206,6]:=0;	Spor[true,206,6]:=0;
Spor[false,206,7]:=0;	Spor[true,206,7]:=0;
Spor[false,206,8]:=0;	Spor[true,206,8]:=0;
Spor[false,207,1]:=205;	Spor[true,207,1]:=209;
Spor[false,207,2]:=197;	Spor[true,207,2]:=206;
Spor[false,207,3]:=0;	Spor[true,207,3]:=0;
Spor[false,207,4]:=0;	Spor[true,207,4]:=0;
Spor[false,207,5]:=0;	Spor[true,207,5]:=0;
Spor[false,207,6]:=0;	Spor[true,207,6]:=0;
Spor[false,207,7]:=0;	Spor[true,207,7]:=0;
Spor[false,207,8]:=0;	Spor[true,207,8]:=0;
Spor[false,208,1]:=0;	Spor[true,208,1]:=211;
Spor[false,208,2]:=0;	Spor[true,208,2]:=0;
Spor[false,208,3]:=0;	Spor[true,208,3]:=0;
Spor[false,208,4]:=0;	Spor[true,208,4]:=0;
Spor[false,208,5]:=0;	Spor[true,208,5]:=0;
Spor[false,208,6]:=0;	Spor[true,208,6]:=0;
Spor[false,208,7]:=0;	Spor[true,208,7]:=0;
Spor[false,208,8]:=0;	Spor[true,208,8]:=0;
Spor[false,209,1]:=1207; Spor[true,209,1]:=215;
Spor[false,209,2]:=211;	Spor[true,209,2]:=2210;
{Spor[false,209,1]:=207;	Spor[true,209,1]:=215;
Spor[false,209,2]:=211;	Spor[true,209,2]:=210;}
Spor[false,209,3]:=0;	Spor[true,209,3]:=0;
Spor[false,209,4]:=0;	Spor[true,209,4]:=0;
Spor[false,209,5]:=0;	Spor[true,209,5]:=0;
Spor[false,209,6]:=0;	Spor[true,209,6]:=0;
Spor[false,209,7]:=0;	Spor[true,209,7]:=0;
Spor[false,209,8]:=0;	Spor[true,209,8]:=0;
Spor[false,210,1]:=206;	Spor[true,210,1]:=216;
Spor[false,210,2]:=209;	Spor[true,210,2]:=218;
Spor[false,210,3]:=0;	Spor[true,210,3]:=217;
Spor[false,210,4]:=0;	Spor[true,210,4]:=0;
Spor[false,210,5]:=0;	Spor[true,210,5]:=0;
Spor[false,210,6]:=0;	Spor[true,210,6]:=0;
Spor[false,210,7]:=0;	Spor[true,210,7]:=0;
Spor[false,210,8]:=0;	Spor[true,210,8]:=0;
Spor[false,211,1]:=208;	Spor[true,211,1]:=209;
Spor[false,211,2]:=196;	Spor[true,211,2]:=214;
Spor[false,211,3]:=0;	Spor[true,211,3]:=0;
Spor[false,211,4]:=0;	Spor[true,211,4]:=0;
Spor[false,211,5]:=0;	Spor[true,211,5]:=0;
Spor[false,211,6]:=0;	Spor[true,211,6]:=0;
Spor[false,211,7]:=0;	Spor[true,211,7]:=0;
Spor[false,211,8]:=0;	Spor[true,211,8]:=0;
Spor[false,212,1]:=0;	Spor[true,212,1]:=213;
Spor[false,212,2]:=0;	Spor[true,212,2]:=0;
Spor[false,212,3]:=0;	Spor[true,212,3]:=0;
Spor[false,212,4]:=0;	Spor[true,212,4]:=0;
Spor[false,212,5]:=0;	Spor[true,212,5]:=0;
Spor[false,212,6]:=0;	Spor[true,212,6]:=0;
Spor[false,212,7]:=0;	Spor[true,212,7]:=0;
Spor[false,212,8]:=0;	Spor[true,212,8]:=0;
Spor[false,213,1]:=206;	Spor[true,213,1]:=223;
Spor[false,213,2]:=212;	Spor[true,213,2]:=0;
Spor[false,213,3]:=0;	Spor[true,213,3]:=0;
Spor[false,213,4]:=0;	Spor[true,213,4]:=0;
Spor[false,213,5]:=0;	Spor[true,213,5]:=0;
Spor[false,213,6]:=0;	Spor[true,213,6]:=0;
Spor[false,213,7]:=0;	Spor[true,213,7]:=0;
Spor[false,213,8]:=0;	Spor[true,213,8]:=0;
Spor[false,214,1]:=211;	Spor[true,214,1]:=229;
Spor[false,214,2]:=195;	Spor[true,214,2]:=0;
Spor[false,214,3]:=0;	Spor[true,214,3]:=0;
Spor[false,214,4]:=0;	Spor[true,214,4]:=0;
Spor[false,214,5]:=0;	Spor[true,214,5]:=0;
Spor[false,214,6]:=0;	Spor[true,214,6]:=0;
Spor[false,214,7]:=0;	Spor[true,214,7]:=0;
Spor[false,214,8]:=0;	Spor[true,214,8]:=0;
Spor[false,215,1]:=209;	Spor[true,215,1]:=230;
Spor[false,215,2]:=0;	Spor[true,215,2]:=0;
Spor[false,215,3]:=0;	Spor[true,215,3]:=0;
Spor[false,215,4]:=0;	Spor[true,215,4]:=0;
Spor[false,215,5]:=0;	Spor[true,215,5]:=0;
Spor[false,215,6]:=0;	Spor[true,215,6]:=0;
Spor[false,215,7]:=0;	Spor[true,215,7]:=0;
Spor[false,215,8]:=0;	Spor[true,215,8]:=0;
Spor[false,216,1]:=210;	Spor[true,216,1]:=234;
Spor[false,216,2]:=0;	Spor[true,216,2]:=230;
Spor[false,216,3]:=0;	Spor[true,216,3]:=0;
Spor[false,216,4]:=0;	Spor[true,216,4]:=0;
Spor[false,216,5]:=0;	Spor[true,216,5]:=0;
Spor[false,216,6]:=0;	Spor[true,216,6]:=0;
Spor[false,216,7]:=0;	Spor[true,216,7]:=0;
Spor[false,216,8]:=0;	Spor[true,216,8]:=0;
Spor[false,217,1]:=210;	Spor[true,217,1]:=0;
Spor[false,217,2]:=0;	Spor[true,217,2]:=0;
Spor[false,217,3]:=0;	Spor[true,217,3]:=0;
Spor[false,217,4]:=0;	Spor[true,217,4]:=0;
Spor[false,217,5]:=0;	Spor[true,217,5]:=0;
Spor[false,217,6]:=0;	Spor[true,217,6]:=0;
Spor[false,217,7]:=0;	Spor[true,217,7]:=0;
Spor[false,217,8]:=0;	Spor[true,217,8]:=0;
Spor[false,218,1]:=210;	Spor[true,218,1]:=226;
Spor[false,218,2]:=0;	Spor[true,218,2]:=0;
Spor[false,218,3]:=0;	Spor[true,218,3]:=0;
Spor[false,218,4]:=0;	Spor[true,218,4]:=0;
Spor[false,218,5]:=0;	Spor[true,218,5]:=0;
Spor[false,218,6]:=0;	Spor[true,218,6]:=0;
Spor[false,218,7]:=0;	Spor[true,218,7]:=0;
Spor[false,218,8]:=0;	Spor[true,218,8]:=0;
Spor[false,219,1]:=0;	Spor[true,219,1]:=224;
Spor[false,219,2]:=0;	Spor[true,219,2]:=225;
Spor[false,219,3]:=0;	Spor[true,219,3]:=0;
Spor[false,219,4]:=0;	Spor[true,219,4]:=0;
Spor[false,219,5]:=0;	Spor[true,219,5]:=0;
Spor[false,219,6]:=0;	Spor[true,219,6]:=0;
Spor[false,219,7]:=0;	Spor[true,219,7]:=0;
Spor[false,219,8]:=0;	Spor[true,219,8]:=0;
Spor[false,220,1]:=0;	Spor[true,220,1]:=0;
Spor[false,220,2]:=0;	Spor[true,220,2]:=0;
Spor[false,220,3]:=0;	Spor[true,220,3]:=0;
Spor[false,220,4]:=0;	Spor[true,220,4]:=0;
Spor[false,220,5]:=0;	Spor[true,220,5]:=0;
Spor[false,220,6]:=0;	Spor[true,220,6]:=0;
Spor[false,220,7]:=0;	Spor[true,220,7]:=0;
Spor[false,220,8]:=0;	Spor[true,220,8]:=0;
Spor[false,221,1]:=204;	Spor[true,221,1]:=223;
Spor[false,221,2]:=0;	Spor[true,221,2]:=0;
Spor[false,221,3]:=0;	Spor[true,221,3]:=0;
Spor[false,221,4]:=0;	Spor[true,221,4]:=0;
Spor[false,221,5]:=0;	Spor[true,221,5]:=0;
Spor[false,221,6]:=0;	Spor[true,221,6]:=0;
Spor[false,221,7]:=0;	Spor[true,221,7]:=0;
Spor[false,221,8]:=0;	Spor[true,221,8]:=0;
Spor[false,222,1]:=202;	Spor[true,222,1]:=224;
Spor[false,222,2]:=0;	Spor[true,222,2]:=223;
Spor[false,222,3]:=0;	Spor[true,222,3]:=0;
Spor[false,222,4]:=0;	Spor[true,222,4]:=0;
Spor[false,222,5]:=0;	Spor[true,222,5]:=0;
Spor[false,222,6]:=0;	Spor[true,222,6]:=0;
Spor[false,222,7]:=0;	Spor[true,222,7]:=0;
Spor[false,222,8]:=0;	Spor[true,222,8]:=0;
Spor[false,223,1]:=221;	Spor[true,223,1]:=226;
Spor[false,223,2]:=222;	Spor[true,223,2]:=227;
Spor[false,223,3]:=213;	Spor[true,223,3]:=0;
Spor[false,223,4]:=0;	Spor[true,223,4]:=0;
Spor[false,223,5]:=0;	Spor[true,223,5]:=0;
Spor[false,223,6]:=0;	Spor[true,223,6]:=0;
Spor[false,223,7]:=0;	Spor[true,223,7]:=0;
Spor[false,223,8]:=0;	Spor[true,223,8]:=0;
Spor[false,224,1]:=222;	Spor[true,224,1]:=227;
Spor[false,224,2]:=219;	Spor[true,224,2]:=225;
Spor[false,224,3]:=0;	Spor[true,224,3]:=0;
Spor[false,224,4]:=0;	Spor[true,224,4]:=0;
Spor[false,224,5]:=0;	Spor[true,224,5]:=0;
Spor[false,224,6]:=0;	Spor[true,224,6]:=0;
Spor[false,224,7]:=0;	Spor[true,224,7]:=0;
Spor[false,224,8]:=0;	Spor[true,224,8]:=0;
Spor[false,225,1]:=219;	Spor[true,225,1]:=228;
Spor[false,225,2]:=224;	Spor[true,225,2]:=0;
Spor[false,225,3]:=0;	Spor[true,225,3]:=0;
Spor[false,225,4]:=0;	Spor[true,225,4]:=0;
Spor[false,225,5]:=0;	Spor[true,225,5]:=0;
Spor[false,225,6]:=0;	Spor[true,225,6]:=0;
Spor[false,225,7]:=0;	Spor[true,225,7]:=0;
Spor[false,225,8]:=0;	Spor[true,225,8]:=0;
Spor[false,226,1]:=223;	Spor[true,226,1]:=236;
Spor[false,226,2]:=218;	Spor[true,226,2]:=235;
Spor[false,226,3]:=0;	Spor[true,226,3]:=0;
Spor[false,226,4]:=0;	Spor[true,226,4]:=0;
Spor[false,226,5]:=0;	Spor[true,226,5]:=0;
Spor[false,226,6]:=0;	Spor[true,226,6]:=0;
Spor[false,226,7]:=0;	Spor[true,226,7]:=0;
Spor[false,226,8]:=0;	Spor[true,226,8]:=0;
Spor[false,227,1]:=224;	Spor[true,227,1]:=237;
Spor[false,227,2]:=223;	Spor[true,227,2]:=238;
Spor[false,227,3]:=0;	Spor[true,227,3]:=228;
Spor[false,227,4]:=0;	Spor[true,227,4]:=0;
Spor[false,227,5]:=0;	Spor[true,227,5]:=0;
Spor[false,227,6]:=0;	Spor[true,227,6]:=0;
Spor[false,227,7]:=0;	Spor[true,227,7]:=0;
Spor[false,227,8]:=0;	Spor[true,227,8]:=0;
Spor[false,228,1]:=227;	Spor[true,228,1]:=239;
Spor[false,228,2]:=225;	Spor[true,228,2]:=240;
Spor[false,228,3]:=0;	Spor[true,228,3]:=0;
Spor[false,228,4]:=0;	Spor[true,228,4]:=0;
Spor[false,228,5]:=0;	Spor[true,228,5]:=0;
Spor[false,228,6]:=0;	Spor[true,228,6]:=0;
Spor[false,228,7]:=0;	Spor[true,228,7]:=0;
Spor[false,228,8]:=0;	Spor[true,228,8]:=0;
Spor[false,229,1]:=214;	Spor[true,229,1]:=232;
Spor[false,229,2]:=230;	Spor[true,229,2]:=231;
Spor[false,229,3]:=0;	Spor[true,229,3]:=0;
Spor[false,229,4]:=0;	Spor[true,229,4]:=0;
Spor[false,229,5]:=0;	Spor[true,229,5]:=0;
Spor[false,229,6]:=0;	Spor[true,229,6]:=0;
Spor[false,229,7]:=0;	Spor[true,229,7]:=0;
Spor[false,229,8]:=0;	Spor[true,229,8]:=0;
Spor[false,230,1]:=215;	Spor[true,230,1]:=233;
Spor[false,230,2]:=216;	Spor[true,230,2]:=229;
Spor[false,230,3]:=0;	Spor[true,230,3]:=0;
Spor[false,230,4]:=0;	Spor[true,230,4]:=0;
Spor[false,230,5]:=0;	Spor[true,230,5]:=0;
Spor[false,230,6]:=0;	Spor[true,230,6]:=0;
Spor[false,230,7]:=0;	Spor[true,230,7]:=0;
Spor[false,230,8]:=0;	Spor[true,230,8]:=0;
Spor[false,231,1]:=229;	Spor[true,231,1]:=241;
Spor[false,231,2]:=0;	Spor[true,231,2]:=0;
Spor[false,231,3]:=0;	Spor[true,231,3]:=0;
Spor[false,231,4]:=0;	Spor[true,231,4]:=0;
Spor[false,231,5]:=0;	Spor[true,231,5]:=0;
Spor[false,231,6]:=0;	Spor[true,231,6]:=0;
Spor[false,231,7]:=0;	Spor[true,231,7]:=0;
Spor[false,231,8]:=0;	Spor[true,231,8]:=0;
Spor[false,232,1]:=229;	Spor[true,232,1]:=242;
Spor[false,232,2]:=0;	Spor[true,232,2]:=0;
Spor[false,232,3]:=0;	Spor[true,232,3]:=0;
Spor[false,232,4]:=0;	Spor[true,232,4]:=0;
Spor[false,232,5]:=0;	Spor[true,232,5]:=0;
Spor[false,232,6]:=0;	Spor[true,232,6]:=0;
Spor[false,232,7]:=0;	Spor[true,232,7]:=0;
Spor[false,232,8]:=0;	Spor[true,232,8]:=0;
Spor[false,233,1]:=230;	Spor[true,233,1]:=243;
Spor[false,233,2]:=0;	Spor[true,233,2]:=0;
Spor[false,233,3]:=0;	Spor[true,233,3]:=0;
Spor[false,233,4]:=0;	Spor[true,233,4]:=0;
Spor[false,233,5]:=0;	Spor[true,233,5]:=0;
Spor[false,233,6]:=0;	Spor[true,233,6]:=0;
Spor[false,233,7]:=0;	Spor[true,233,7]:=0;
Spor[false,233,8]:=0;	Spor[true,233,8]:=0;
Spor[false,234,1]:=216;	Spor[true,234,1]:=244;
Spor[false,234,2]:=0;	Spor[true,234,2]:=0;
Spor[false,234,3]:=0;	Spor[true,234,3]:=0;
Spor[false,234,4]:=0;	Spor[true,234,4]:=0;
Spor[false,234,5]:=0;	Spor[true,234,5]:=0;
Spor[false,234,6]:=0;	Spor[true,234,6]:=0;
Spor[false,234,7]:=0;	Spor[true,234,7]:=0;
Spor[false,234,8]:=0;	Spor[true,234,8]:=0;
Spor[false,235,1]:=226;	Spor[true,235,1]:=245;
Spor[false,235,2]:=0;	Spor[true,235,2]:=0;
Spor[false,235,3]:=0;	Spor[true,235,3]:=0;
Spor[false,235,4]:=0;	Spor[true,235,4]:=0;
Spor[false,235,5]:=0;	Spor[true,235,5]:=0;
Spor[false,235,6]:=0;	Spor[true,235,6]:=0;
Spor[false,235,7]:=0;	Spor[true,235,7]:=0;
Spor[false,235,8]:=0;	Spor[true,235,8]:=0;
Spor[false,236,1]:=226;	Spor[true,236,1]:=246;
Spor[false,236,2]:=0;	Spor[true,236,2]:=0;
Spor[false,236,3]:=0;	Spor[true,236,3]:=0;
Spor[false,236,4]:=0;	Spor[true,236,4]:=0;
Spor[false,236,5]:=0;	Spor[true,236,5]:=0;
Spor[false,236,6]:=0;	Spor[true,236,6]:=0;
Spor[false,236,7]:=0;	Spor[true,236,7]:=0;
Spor[false,236,8]:=0;	Spor[true,236,8]:=0;
Spor[false,237,1]:=227;	Spor[true,237,1]:=247;
Spor[false,237,2]:=0;	Spor[true,237,2]:=0;
Spor[false,237,3]:=0;	Spor[true,237,3]:=0;
Spor[false,237,4]:=0;	Spor[true,237,4]:=0;
Spor[false,237,5]:=0;	Spor[true,237,5]:=0;
Spor[false,237,6]:=0;	Spor[true,237,6]:=0;
Spor[false,237,7]:=0;	Spor[true,237,7]:=0;
Spor[false,237,8]:=0;	Spor[true,237,8]:=0;
Spor[false,238,1]:=227;	Spor[true,238,1]:=248;
Spor[false,238,2]:=0;	Spor[true,238,2]:=0;
Spor[false,238,3]:=0;	Spor[true,238,3]:=0;
Spor[false,238,4]:=0;	Spor[true,238,4]:=0;
Spor[false,238,5]:=0;	Spor[true,238,5]:=0;
Spor[false,238,6]:=0;	Spor[true,238,6]:=0;
Spor[false,238,7]:=0;	Spor[true,238,7]:=0;
Spor[false,238,8]:=0;	Spor[true,238,8]:=0;
Spor[false,239,1]:=228;	Spor[true,239,1]:=249;
Spor[false,239,2]:=0;	Spor[true,239,2]:=0;
Spor[false,239,3]:=0;	Spor[true,239,3]:=0;
Spor[false,239,4]:=0;	Spor[true,239,4]:=0;
Spor[false,239,5]:=0;	Spor[true,239,5]:=0;
Spor[false,239,6]:=0;	Spor[true,239,6]:=0;
Spor[false,239,7]:=0;	Spor[true,239,7]:=0;
Spor[false,239,8]:=0;	Spor[true,239,8]:=0;
Spor[false,240,1]:=228;	Spor[true,240,1]:=250;
Spor[false,240,2]:=0;	Spor[true,240,2]:=0;
Spor[false,240,3]:=0;	Spor[true,240,3]:=0;
Spor[false,240,4]:=0;	Spor[true,240,4]:=0;
Spor[false,240,5]:=0;	Spor[true,240,5]:=0;
Spor[false,240,6]:=0;	Spor[true,240,6]:=0;
Spor[false,240,7]:=0;	Spor[true,240,7]:=0;
Spor[false,240,8]:=0;	Spor[true,240,8]:=0;
Spor[false,241,1]:=231;	Spor[true,241,1]:=261;
Spor[false,241,2]:=0;	Spor[true,241,2]:=0;
Spor[false,241,3]:=0;	Spor[true,241,3]:=0;
Spor[false,241,4]:=0;	Spor[true,241,4]:=0;
Spor[false,241,5]:=0;	Spor[true,241,5]:=0;
Spor[false,241,6]:=0;	Spor[true,241,6]:=0;
Spor[false,241,7]:=0;	Spor[true,241,7]:=0;
Spor[false,241,8]:=0;	Spor[true,241,8]:=0;
Spor[false,242,1]:=232;	Spor[true,242,1]:=261;
Spor[false,242,2]:=0;	Spor[true,242,2]:=0;
Spor[false,242,3]:=0;	Spor[true,242,3]:=0;
Spor[false,242,4]:=0;	Spor[true,242,4]:=0;
Spor[false,242,5]:=0;	Spor[true,242,5]:=0;
Spor[false,242,6]:=0;	Spor[true,242,6]:=0;
Spor[false,242,7]:=0;	Spor[true,242,7]:=0;
Spor[false,242,8]:=0;	Spor[true,242,8]:=0;
Spor[false,243,1]:=233;	Spor[true,243,1]:=263;
Spor[false,243,2]:=0;	Spor[true,243,2]:=0;
Spor[false,243,3]:=0;	Spor[true,243,3]:=0;
Spor[false,243,4]:=0;	Spor[true,243,4]:=0;
Spor[false,243,5]:=0;	Spor[true,243,5]:=0;
Spor[false,243,6]:=0;	Spor[true,243,6]:=0;
Spor[false,243,7]:=0;	Spor[true,243,7]:=0;
Spor[false,243,8]:=0;	Spor[true,243,8]:=0;
Spor[false,244,1]:=234;	Spor[true,244,1]:=265;
Spor[false,244,2]:=0;	Spor[true,244,2]:=274;
Spor[false,244,3]:=0;	Spor[true,244,3]:=0;
Spor[false,244,4]:=0;	Spor[true,244,4]:=0;
Spor[false,244,5]:=0;	Spor[true,244,5]:=0;
Spor[false,244,6]:=0;	Spor[true,244,6]:=0;
Spor[false,244,7]:=0;	Spor[true,244,7]:=0;
Spor[false,244,8]:=0;	Spor[true,244,8]:=0;
Spor[false,245,1]:=235;	Spor[true,245,1]:=271;
Spor[false,245,2]:=0;	Spor[true,245,2]:=0;
Spor[false,245,3]:=0;	Spor[true,245,3]:=0;
Spor[false,245,4]:=0;	Spor[true,245,4]:=0;
Spor[false,245,5]:=0;	Spor[true,245,5]:=0;
Spor[false,245,6]:=0;	Spor[true,245,6]:=0;
Spor[false,245,7]:=0;	Spor[true,245,7]:=0;
Spor[false,245,8]:=0;	Spor[true,245,8]:=0;
Spor[false,246,1]:=236;	Spor[true,246,1]:=271;
Spor[false,246,2]:=0;	Spor[true,246,2]:=0;
Spor[false,246,3]:=0;	Spor[true,246,3]:=0;
Spor[false,246,4]:=0;	Spor[true,246,4]:=0;
Spor[false,246,5]:=0;	Spor[true,246,5]:=0;
Spor[false,246,6]:=0;	Spor[true,246,6]:=0;
Spor[false,246,7]:=0;	Spor[true,246,7]:=0;
Spor[false,246,8]:=0;	Spor[true,246,8]:=0;
Spor[false,247,1]:=237;	Spor[true,247,1]:=272;
Spor[false,247,2]:=0;	Spor[true,247,2]:=0;
Spor[false,247,3]:=0;	Spor[true,247,3]:=0;
Spor[false,247,4]:=0;	Spor[true,247,4]:=0;
Spor[false,247,5]:=0;	Spor[true,247,5]:=0;
Spor[false,247,6]:=0;	Spor[true,247,6]:=0;
Spor[false,247,7]:=0;	Spor[true,247,7]:=0;
Spor[false,247,8]:=0;	Spor[true,247,8]:=0;
Spor[false,248,1]:=238;	Spor[true,248,1]:=272;
Spor[false,248,2]:=0;	Spor[true,248,2]:=0;
Spor[false,248,3]:=0;	Spor[true,248,3]:=0;
Spor[false,248,4]:=0;	Spor[true,248,4]:=0;
Spor[false,248,5]:=0;	Spor[true,248,5]:=0;
Spor[false,248,6]:=0;	Spor[true,248,6]:=0;
Spor[false,248,7]:=0;	Spor[true,248,7]:=0;
Spor[false,248,8]:=0;	Spor[true,248,8]:=0;
Spor[false,249,1]:=239;	Spor[true,249,1]:=276;
Spor[false,249,2]:=0;	Spor[true,249,2]:=0;
Spor[false,249,3]:=0;	Spor[true,249,3]:=0;
Spor[false,249,4]:=0;	Spor[true,249,4]:=0;
Spor[false,249,5]:=0;	Spor[true,249,5]:=0;
Spor[false,249,6]:=0;	Spor[true,249,6]:=0;
Spor[false,249,7]:=0;	Spor[true,249,7]:=0;
Spor[false,249,8]:=0;	Spor[true,249,8]:=0;
Spor[false,250,1]:=240;	Spor[true,250,1]:=276;
Spor[false,250,2]:=0;	Spor[true,250,2]:=283;
Spor[false,250,3]:=0;	Spor[true,250,3]:=0;
Spor[false,250,4]:=0;	Spor[true,250,4]:=0;
Spor[false,250,5]:=0;	Spor[true,250,5]:=0;
Spor[false,250,6]:=0;	Spor[true,250,6]:=0;
Spor[false,250,7]:=0;	Spor[true,250,7]:=0;
Spor[false,250,8]:=0;	Spor[true,250,8]:=0;
Spor[false,251,1]:=0;	Spor[true,251,1]:=283;
Spor[false,251,2]:=0;	Spor[true,251,2]:=0;
Spor[false,251,3]:=0;	Spor[true,251,3]:=0;
Spor[false,251,4]:=0;	Spor[true,251,4]:=0;
Spor[false,251,5]:=0;	Spor[true,251,5]:=0;
Spor[false,251,6]:=0;	Spor[true,251,6]:=0;
Spor[false,251,7]:=0;	Spor[true,251,7]:=0;
Spor[false,251,8]:=0;	Spor[true,251,8]:=0;
Spor[false,252,1]:=0;	Spor[true,252,1]:=283;
Spor[false,252,2]:=0;	Spor[true,252,2]:=0;
Spor[false,252,3]:=0;	Spor[true,252,3]:=0;
Spor[false,252,4]:=0;	Spor[true,252,4]:=0;
Spor[false,252,5]:=0;	Spor[true,252,5]:=0;
Spor[false,252,6]:=0;	Spor[true,252,6]:=0;
Spor[false,252,7]:=0;	Spor[true,252,7]:=0;
Spor[false,252,8]:=0;	Spor[true,252,8]:=0;
Spor[false,253,1]:=0;	Spor[true,253,1]:=283;
Spor[false,253,2]:=0;	Spor[true,253,2]:=254;
Spor[false,253,3]:=0;	Spor[true,253,3]:=0;
Spor[false,253,4]:=0;	Spor[true,253,4]:=0;
Spor[false,253,5]:=0;	Spor[true,253,5]:=0;
Spor[false,253,6]:=0;	Spor[true,253,6]:=0;
Spor[false,253,7]:=0;	Spor[true,253,7]:=0;
Spor[false,253,8]:=0;	Spor[true,253,8]:=0;
Spor[false,254,1]:=253;	Spor[true,254,1]:=0;
Spor[false,254,2]:=0;	Spor[true,254,2]:=0;
Spor[false,254,3]:=0;	Spor[true,254,3]:=0;
Spor[false,254,4]:=0;	Spor[true,254,4]:=0;
Spor[false,254,5]:=0;	Spor[true,254,5]:=0;
Spor[false,254,6]:=0;	Spor[true,254,6]:=0;
Spor[false,254,7]:=0;	Spor[true,254,7]:=0;
Spor[false,254,8]:=0;	Spor[true,254,8]:=0;
Spor[false,255,1]:=0;	Spor[true,255,1]:=0;
Spor[false,255,2]:=0;	Spor[true,255,2]:=0;
Spor[false,255,3]:=0;	Spor[true,255,3]:=0;
Spor[false,255,4]:=0;	Spor[true,255,4]:=0;
Spor[false,255,5]:=0;	Spor[true,255,5]:=0;
Spor[false,255,6]:=0;	Spor[true,255,6]:=0;
Spor[false,255,7]:=0;	Spor[true,255,7]:=0;
Spor[false,255,8]:=0;	Spor[true,255,8]:=0;
Spor[false,256,1]:=0;	Spor[true,256,1]:=0;
Spor[false,256,2]:=0;	Spor[true,256,2]:=0;
Spor[false,256,3]:=0;	Spor[true,256,3]:=0;
Spor[false,256,4]:=0;	Spor[true,256,4]:=0;
Spor[false,256,5]:=0;	Spor[true,256,5]:=0;
Spor[false,256,6]:=0;	Spor[true,256,6]:=0;
Spor[false,256,7]:=0;	Spor[true,256,7]:=0;
Spor[false,256,8]:=0;	Spor[true,256,8]:=0;
Spor[false,257,1]:=0;	Spor[true,257,1]:=0;
Spor[false,257,2]:=0;	Spor[true,257,2]:=0;
Spor[false,257,3]:=0;	Spor[true,257,3]:=0;
Spor[false,257,4]:=0;	Spor[true,257,4]:=0;
Spor[false,257,5]:=0;	Spor[true,257,5]:=0;
Spor[false,257,6]:=0;	Spor[true,257,6]:=0;
Spor[false,257,7]:=0;	Spor[true,257,7]:=0;
Spor[false,257,8]:=0;	Spor[true,257,8]:=0;
Spor[false,258,1]:=0;	Spor[true,258,1]:=0;
Spor[false,258,2]:=0;	Spor[true,258,2]:=0;
Spor[false,258,3]:=0;	Spor[true,258,3]:=0;
Spor[false,258,4]:=0;	Spor[true,258,4]:=0;
Spor[false,258,5]:=0;	Spor[true,258,5]:=0;
Spor[false,258,6]:=0;	Spor[true,258,6]:=0;
Spor[false,258,7]:=0;	Spor[true,258,7]:=0;
Spor[false,258,8]:=0;	Spor[true,258,8]:=0;
Spor[false,259,1]:=0;	Spor[true,259,1]:=0;
Spor[false,259,2]:=0;	Spor[true,259,2]:=0;
Spor[false,259,3]:=0;	Spor[true,259,3]:=0;
Spor[false,259,4]:=0;	Spor[true,259,4]:=0;
Spor[false,259,5]:=0;	Spor[true,259,5]:=0;
Spor[false,259,6]:=0;	Spor[true,259,6]:=0;
Spor[false,259,7]:=0;	Spor[true,259,7]:=0;
Spor[false,259,8]:=0;	Spor[true,259,8]:=0;
Spor[false,260,1]:=0;	Spor[true,260,1]:=0;
Spor[false,260,2]:=0;	Spor[true,260,2]:=0;
Spor[false,260,3]:=0;	Spor[true,260,3]:=0;
Spor[false,260,4]:=0;	Spor[true,260,4]:=0;
Spor[false,260,5]:=0;	Spor[true,260,5]:=0;
Spor[false,260,6]:=0;	Spor[true,260,6]:=0;
Spor[false,260,7]:=0;	Spor[true,260,7]:=0;
Spor[false,260,8]:=0;	Spor[true,260,8]:=0;
Spor[false,261,1]:=242;	Spor[true,261,1]:=263;
Spor[false,261,2]:=241;	Spor[true,261,2]:=264;
Spor[false,261,3]:=0;	Spor[true,261,3]:=262;
Spor[false,261,4]:=0;	Spor[true,261,4]:=0;
Spor[false,261,5]:=0;	Spor[true,261,5]:=0;
Spor[false,261,6]:=0;	Spor[true,261,6]:=0;
Spor[false,261,7]:=0;	Spor[true,261,7]:=0;
Spor[false,261,8]:=0;	Spor[true,261,8]:=0;
Spor[false,262,1]:=261;	Spor[true,262,1]:=0;
Spor[false,262,2]:=0;	Spor[true,262,2]:=0;
Spor[false,262,3]:=0;	Spor[true,262,3]:=0;
Spor[false,262,4]:=0;	Spor[true,262,4]:=0;
Spor[false,262,5]:=0;	Spor[true,262,5]:=0;
Spor[false,262,6]:=0;	Spor[true,262,6]:=0;
Spor[false,262,7]:=0;	Spor[true,262,7]:=0;
Spor[false,262,8]:=0;	Spor[true,262,8]:=0;
Spor[false,263,1]:=243;	Spor[true,263,1]:=265;
Spor[false,263,2]:=261;	Spor[true,263,2]:=264;
Spor[false,263,3]:=0;	Spor[true,263,3]:=0;
Spor[false,263,4]:=0;	Spor[true,263,4]:=0;
Spor[false,263,5]:=0;	Spor[true,263,5]:=0;
Spor[false,263,6]:=0;	Spor[true,263,6]:=0;
Spor[false,263,7]:=0;	Spor[true,263,7]:=0;
Spor[false,263,8]:=0;	Spor[true,263,8]:=0;
Spor[false,264,1]:=263;	Spor[true,264,1]:=266;
Spor[false,264,2]:=261;	Spor[true,264,2]:=267;
Spor[false,264,3]:=0;	Spor[true,264,3]:=0;
Spor[false,264,4]:=0;	Spor[true,264,4]:=0;
Spor[false,264,5]:=0;	Spor[true,264,5]:=0;
Spor[false,264,6]:=0;	Spor[true,264,6]:=0;
Spor[false,264,7]:=0;	Spor[true,264,7]:=0;
Spor[false,264,8]:=0;	Spor[true,264,8]:=0;
Spor[false,265,1]:=263;	Spor[true,265,1]:=273;
Spor[false,265,2]:=244;	Spor[true,265,2]:=270;
Spor[false,265,3]:=0;	Spor[true,265,3]:=267;
Spor[false,265,4]:=0;	Spor[true,265,4]:=0;
Spor[false,265,5]:=0;	Spor[true,265,5]:=0;
Spor[false,265,6]:=0;	Spor[true,265,6]:=0;
Spor[false,265,7]:=0;	Spor[true,265,7]:=0;
Spor[false,265,8]:=0;	Spor[true,265,8]:=0;
Spor[false,266,1]:=264;	Spor[true,266,1]:=268;
Spor[false,266,2]:=0;	Spor[true,266,2]:=0;
Spor[false,266,3]:=0;	Spor[true,266,3]:=0;
Spor[false,266,4]:=0;	Spor[true,266,4]:=0;
Spor[false,266,5]:=0;	Spor[true,266,5]:=0;
Spor[false,266,6]:=0;	Spor[true,266,6]:=0;
Spor[false,266,7]:=0;	Spor[true,266,7]:=0;
Spor[false,266,8]:=0;	Spor[true,266,8]:=0;
Spor[false,267,1]:=264;	Spor[true,267,1]:=269;
Spor[false,267,2]:=265;	Spor[true,267,2]:=268;
Spor[false,267,3]:=0;	Spor[true,267,3]:=0;
Spor[false,267,4]:=0;	Spor[true,267,4]:=0;
Spor[false,267,5]:=0;	Spor[true,267,5]:=0;
Spor[false,267,6]:=0;	Spor[true,267,6]:=0;
Spor[false,267,7]:=0;	Spor[true,267,7]:=0;
Spor[false,267,8]:=0;	Spor[true,267,8]:=0;
Spor[false,268,1]:=266;	Spor[true,268,1]:=0;
Spor[false,268,2]:=267;	Spor[true,268,2]:=0;
Spor[false,268,3]:=0;	Spor[true,268,3]:=0;
Spor[false,268,4]:=0;	Spor[true,268,4]:=0;
Spor[false,268,5]:=0;	Spor[true,268,5]:=0;
Spor[false,268,6]:=0;	Spor[true,268,6]:=0;
Spor[false,268,7]:=0;	Spor[true,268,7]:=0;
Spor[false,268,8]:=0;	Spor[true,268,8]:=0;
Spor[false,269,1]:=267;	Spor[true,269,1]:=0;
Spor[false,269,2]:=0;	Spor[true,269,2]:=0;
Spor[false,269,3]:=0;	Spor[true,269,3]:=0;
Spor[false,269,4]:=0;	Spor[true,269,4]:=0;
Spor[false,269,5]:=0;	Spor[true,269,5]:=0;
Spor[false,269,6]:=0;	Spor[true,269,6]:=0;
Spor[false,269,7]:=0;	Spor[true,269,7]:=0;
Spor[false,269,8]:=0;	Spor[true,269,8]:=0;
Spor[false,270,1]:=244;	Spor[true,270,1]:=274;
Spor[false,270,2]:=265;	Spor[true,270,2]:=0;
Spor[false,270,3]:=0;	Spor[true,270,3]:=0;
Spor[false,270,4]:=0;	Spor[true,270,4]:=0;
Spor[false,270,5]:=0;	Spor[true,270,5]:=0;
Spor[false,270,6]:=0;	Spor[true,270,6]:=0;
Spor[false,270,7]:=0;	Spor[true,270,7]:=0;
Spor[false,270,8]:=0;	Spor[true,270,8]:=0;
Spor[false,271,1]:=246;	Spor[true,271,1]:=274;
Spor[false,271,2]:=245;	Spor[true,271,2]:=272;
Spor[false,271,3]:=0;	Spor[true,271,3]:=0;
Spor[false,271,4]:=0;	Spor[true,271,4]:=0;
Spor[false,271,5]:=0;	Spor[true,271,5]:=0;
Spor[false,271,6]:=0;	Spor[true,271,6]:=0;
Spor[false,271,7]:=0;	Spor[true,271,7]:=0;
Spor[false,271,8]:=0;	Spor[true,271,8]:=0;
Spor[false,272,1]:=247;	Spor[true,272,1]:=275;
Spor[false,272,2]:=248;	Spor[true,272,2]:=281;
Spor[false,272,3]:=276;	Spor[true,272,3]:=0;
Spor[false,272,4]:=271;	Spor[true,272,4]:=0;
Spor[false,272,5]:=0;	Spor[true,272,5]:=0;
Spor[false,272,6]:=0;	Spor[true,272,6]:=0;
Spor[false,272,7]:=0;	Spor[true,272,7]:=0;
Spor[false,272,8]:=0;	Spor[true,272,8]:=0;
Spor[false,273,1]:=274;	Spor[true,273,1]:=277;
Spor[false,273,2]:=265;	Spor[true,273,2]:=279;
Spor[false,273,3]:=0;	Spor[true,273,3]:=0;
Spor[false,273,4]:=0;	Spor[true,273,4]:=0;
Spor[false,273,5]:=0;	Spor[true,273,5]:=0;
Spor[false,273,6]:=0;	Spor[true,273,6]:=0;
Spor[false,273,7]:=0;	Spor[true,273,7]:=0;
Spor[false,273,8]:=0;	Spor[true,273,8]:=0;

Spor[false,274,1]:=1271;	Spor[true,274,1]:=1273;
Spor[false,274,2]:=2270;	Spor[true,274,2]:=2275;
Spor[false,274,3]:=0;	Spor[true,274,3]:=0;
Spor[false,274,4]:=0;	Spor[true,274,4]:=0;
Spor[false,274,5]:=0;	Spor[true,274,5]:=0;
Spor[false,274,6]:=0;	Spor[true,274,6]:=0;
Spor[false,274,7]:=0;	Spor[true,274,7]:=0;
Spor[false,274,8]:=0;	Spor[true,274,8]:=0;
Spor[false,275,1]:=272;	Spor[true,275,1]:=278;
Spor[false,275,2]:=274;	Spor[true,275,2]:=279;
Spor[false,275,3]:=0;	Spor[true,275,3]:=0;
Spor[false,275,4]:=0;	Spor[true,275,4]:=0;
Spor[false,275,5]:=0;	Spor[true,275,5]:=0;
Spor[false,275,6]:=0;	Spor[true,275,6]:=0;
Spor[false,275,7]:=0;	Spor[true,275,7]:=0;
Spor[false,275,8]:=0;	Spor[true,275,8]:=0;
Spor[false,276,1]:=249;	Spor[true,276,1]:=282;
Spor[false,276,2]:=250;	Spor[true,276,2]:=272;
Spor[false,276,3]:=0;	Spor[true,276,3]:=0;
Spor[false,276,4]:=0;	Spor[true,276,4]:=0;
Spor[false,276,5]:=0;	Spor[true,276,5]:=0;
Spor[false,276,6]:=0;	Spor[true,276,6]:=0;
Spor[false,276,7]:=0;	Spor[true,276,7]:=0;
Spor[false,276,8]:=0;	Spor[true,276,8]:=0;
Spor[false,277,1]:=273;	Spor[true,277,1]:=287;
Spor[false,277,2]:=279;	Spor[true,277,2]:=0;
Spor[false,277,3]:=0;	Spor[true,277,3]:=0;
Spor[false,277,4]:=0;	Spor[true,277,4]:=0;
Spor[false,277,5]:=0;	Spor[true,277,5]:=0;
Spor[false,277,6]:=0;	Spor[true,277,6]:=0;
Spor[false,277,7]:=0;	Spor[true,277,7]:=0;
Spor[false,277,8]:=0;	Spor[true,277,8]:=0;
Spor[false,278,1]:=275;	Spor[true,278,1]:=289;
Spor[false,278,2]:=279;	Spor[true,278,2]:=0;
Spor[false,278,3]:=0;	Spor[true,278,3]:=0;
Spor[false,278,4]:=0;	Spor[true,278,4]:=0;
Spor[false,278,5]:=0;	Spor[true,278,5]:=0;
Spor[false,278,6]:=0;	Spor[true,278,6]:=0;
Spor[false,278,7]:=0;	Spor[true,278,7]:=0;
Spor[false,278,8]:=0;	Spor[true,278,8]:=0;
Spor[false,279,1]:=1273;	Spor[true,279,1]:=1278;
Spor[false,279,2]:=2275;	Spor[true,279,2]:=2277;
Spor[false,279,3]:=0;	Spor[true,279,3]:=0;
Spor[false,279,4]:=0;	Spor[true,279,4]:=0;
Spor[false,279,5]:=0;	Spor[true,279,5]:=0;
Spor[false,279,6]:=0;	Spor[true,279,6]:=0;
Spor[false,279,7]:=0;	Spor[true,279,7]:=0;
Spor[false,279,8]:=0;	Spor[true,279,8]:=0;
Spor[false,280,1]:=0;	Spor[true,280,1]:=0;
Spor[false,280,2]:=0;	Spor[true,280,2]:=0;
Spor[false,280,3]:=0;	Spor[true,280,3]:=0;
Spor[false,280,4]:=0;	Spor[true,280,4]:=0;
Spor[false,280,5]:=0;	Spor[true,280,5]:=0;
Spor[false,280,6]:=0;	Spor[true,280,6]:=0;
Spor[false,280,7]:=0;	Spor[true,280,7]:=0;
Spor[false,280,8]:=0;	Spor[true,280,8]:=0;
Spor[false,281,1]:=272;	Spor[true,281,1]:=300;
Spor[false,281,2]:=0;	Spor[true,281,2]:=0;
Spor[false,281,3]:=0;	Spor[true,281,3]:=0;
Spor[false,281,4]:=0;	Spor[true,281,4]:=0;
Spor[false,281,5]:=0;	Spor[true,281,5]:=0;
Spor[false,281,6]:=0;	Spor[true,281,6]:=0;
Spor[false,281,7]:=0;	Spor[true,281,7]:=0;
Spor[false,281,8]:=0;	Spor[true,281,8]:=0;
Spor[false,282,1]:=276;	Spor[true,282,1]:=292;
Spor[false,282,2]:=283;	Spor[true,282,2]:=291;
Spor[false,282,3]:=0;	Spor[true,282,3]:=293;
Spor[false,282,4]:=0;	Spor[true,282,4]:=294;
Spor[false,282,5]:=0;	Spor[true,282,5]:=0;
Spor[false,282,6]:=0;	Spor[true,282,6]:=0;
Spor[false,282,7]:=0;	Spor[true,282,7]:=0;
Spor[false,282,8]:=0;	Spor[true,282,8]:=0;
Spor[false,283,1]:=250;	Spor[true,283,1]:=282;
Spor[false,283,2]:=251;	Spor[true,283,2]:=284;
Spor[false,283,3]:=252;	Spor[true,283,3]:=0;
Spor[false,283,4]:=253;	Spor[true,283,4]:=0;
Spor[false,283,5]:=0;	Spor[true,283,5]:=0;
Spor[false,283,6]:=0;	Spor[true,283,6]:=0;
Spor[false,283,7]:=0;	Spor[true,283,7]:=0;
Spor[false,283,8]:=0;	Spor[true,283,8]:=0;
Spor[false,284,1]:=283;	Spor[true,284,1]:=295;
Spor[false,284,2]:=0;	Spor[true,284,2]:=294;
Spor[false,284,3]:=0;	Spor[true,284,3]:=296;
Spor[false,284,4]:=0;	Spor[true,284,4]:=297;
Spor[false,284,5]:=0;	Spor[true,284,5]:=298;
Spor[false,284,6]:=0;	Spor[true,284,6]:=299;
Spor[false,284,7]:=0;	Spor[true,284,7]:=0;
Spor[false,284,8]:=0;	Spor[true,284,8]:=0;
Spor[false,285,1]:=0;	Spor[true,285,1]:=299;
Spor[false,285,2]:=0;	Spor[true,285,2]:=0;
Spor[false,285,3]:=0;	Spor[true,285,3]:=0;
Spor[false,285,4]:=0;	Spor[true,285,4]:=0;
Spor[false,285,5]:=0;	Spor[true,285,5]:=0;
Spor[false,285,6]:=0;	Spor[true,285,6]:=0;
Spor[false,285,7]:=0;	Spor[true,285,7]:=0;
Spor[false,285,8]:=0;	Spor[true,285,8]:=0;
Spor[false,286,1]:=0;	Spor[true,286,1]:=299;
Spor[false,286,2]:=0;	Spor[true,286,2]:=0;
Spor[false,286,3]:=0;	Spor[true,286,3]:=0;
Spor[false,286,4]:=0;	Spor[true,286,4]:=0;
Spor[false,286,5]:=0;	Spor[true,286,5]:=0;
Spor[false,286,6]:=0;	Spor[true,286,6]:=0;
Spor[false,286,7]:=0;	Spor[true,286,7]:=0;
Spor[false,286,8]:=0;	Spor[true,286,8]:=0;
Spor[false,287,1]:=277;	Spor[true,287,1]:=0;
Spor[false,287,2]:=0;	Spor[true,287,2]:=0;
Spor[false,287,3]:=0;	Spor[true,287,3]:=0;
Spor[false,287,4]:=0;	Spor[true,287,4]:=0;
Spor[false,287,5]:=0;	Spor[true,287,5]:=0;
Spor[false,287,6]:=0;	Spor[true,287,6]:=0;
Spor[false,287,7]:=0;	Spor[true,287,7]:=0;
Spor[false,287,8]:=0;	Spor[true,287,8]:=0;
Spor[false,288,1]:=0;	Spor[true,288,1]:=0;
Spor[false,288,2]:=0;	Spor[true,288,2]:=0;
Spor[false,288,3]:=0;	Spor[true,288,3]:=0;
Spor[false,288,4]:=0;	Spor[true,288,4]:=0;
Spor[false,288,5]:=0;	Spor[true,288,5]:=0;
Spor[false,288,6]:=0;	Spor[true,288,6]:=0;
Spor[false,288,7]:=0;	Spor[true,288,7]:=0;
Spor[false,288,8]:=0;	Spor[true,288,8]:=0;
Spor[false,289,1]:=278;	Spor[true,289,1]:=0;
Spor[false,289,2]:=0;	Spor[true,289,2]:=0;
Spor[false,289,3]:=0;	Spor[true,289,3]:=0;
Spor[false,289,4]:=0;	Spor[true,289,4]:=0;
Spor[false,289,5]:=0;	Spor[true,289,5]:=0;
Spor[false,289,6]:=0;	Spor[true,289,6]:=0;
Spor[false,289,7]:=0;	Spor[true,289,7]:=0;
Spor[false,289,8]:=0;	Spor[true,289,8]:=0;
Spor[false,290,1]:=0;	Spor[true,290,1]:=0;
Spor[false,290,2]:=0;	Spor[true,290,2]:=0;
Spor[false,290,3]:=0;	Spor[true,290,3]:=0;
Spor[false,290,4]:=0;	Spor[true,290,4]:=0;
Spor[false,290,5]:=0;	Spor[true,290,5]:=0;
Spor[false,290,6]:=0;	Spor[true,290,6]:=0;
Spor[false,290,7]:=0;	Spor[true,290,7]:=0;
Spor[false,290,8]:=0;	Spor[true,290,8]:=0;
Spor[false,291,1]:=282;	Spor[true,291,1]:=0;
Spor[false,291,2]:=0;	Spor[true,291,2]:=0;
Spor[false,291,3]:=0;	Spor[true,291,3]:=0;
Spor[false,291,4]:=0;	Spor[true,291,4]:=0;
Spor[false,291,5]:=0;	Spor[true,291,5]:=0;
Spor[false,291,6]:=0;	Spor[true,291,6]:=0;
Spor[false,291,7]:=0;	Spor[true,291,7]:=0;
Spor[false,291,8]:=0;	Spor[true,291,8]:=0;
Spor[false,292,1]:=282;	Spor[true,292,1]:=300;
Spor[false,292,2]:=0;	Spor[true,292,2]:=0;
Spor[false,292,3]:=0;	Spor[true,292,3]:=0;
Spor[false,292,4]:=0;	Spor[true,292,4]:=0;
Spor[false,292,5]:=0;	Spor[true,292,5]:=0;
Spor[false,292,6]:=0;	Spor[true,292,6]:=0;
Spor[false,292,7]:=0;	Spor[true,292,7]:=0;
Spor[false,292,8]:=0;	Spor[true,292,8]:=0;
Spor[false,293,1]:=282;	Spor[true,293,1]:=302;
Spor[false,293,2]:=0;	Spor[true,293,2]:=0;
Spor[false,293,3]:=0;	Spor[true,293,3]:=0;
Spor[false,293,4]:=0;	Spor[true,293,4]:=0;
Spor[false,293,5]:=0;	Spor[true,293,5]:=0;
Spor[false,293,6]:=0;	Spor[true,293,6]:=0;
Spor[false,293,7]:=0;	Spor[true,293,7]:=0;
Spor[false,293,8]:=0;	Spor[true,293,8]:=0;
Spor[false,294,1]:=284;	Spor[true,294,1]:=303;
Spor[false,294,2]:=282;	Spor[true,294,2]:=0;
Spor[false,294,3]:=0;	Spor[true,294,3]:=0;
Spor[false,294,4]:=0;	Spor[true,294,4]:=0;
Spor[false,294,5]:=0;	Spor[true,294,5]:=0;
Spor[false,294,6]:=0;	Spor[true,294,6]:=0;
Spor[false,294,7]:=0;	Spor[true,294,7]:=0;
Spor[false,294,8]:=0;	Spor[true,294,8]:=0;
Spor[false,295,1]:=284;	Spor[true,295,1]:=305;
Spor[false,295,2]:=0;	Spor[true,295,2]:=306;
Spor[false,295,3]:=0;	Spor[true,295,3]:=0;
Spor[false,295,4]:=0;	Spor[true,295,4]:=0;
Spor[false,295,5]:=0;	Spor[true,295,5]:=0;
Spor[false,295,6]:=0;	Spor[true,295,6]:=0;
Spor[false,295,7]:=0;	Spor[true,295,7]:=0;
Spor[false,295,8]:=0;	Spor[true,295,8]:=0;
Spor[false,296,1]:=284;	Spor[true,296,1]:=306;
Spor[false,296,2]:=0;	Spor[true,296,2]:=0;
Spor[false,296,3]:=0;	Spor[true,296,3]:=0;
Spor[false,296,4]:=0;	Spor[true,296,4]:=0;
Spor[false,296,5]:=0;	Spor[true,296,5]:=0;
Spor[false,296,6]:=0;	Spor[true,296,6]:=0;
Spor[false,296,7]:=0;	Spor[true,296,7]:=0;
Spor[false,296,8]:=0;	Spor[true,296,8]:=0;
Spor[false,297,1]:=284;	Spor[true,297,1]:=306;
Spor[false,297,2]:=0;	Spor[true,297,2]:=0;
Spor[false,297,3]:=0;	Spor[true,297,3]:=0;
Spor[false,297,4]:=0;	Spor[true,297,4]:=0;
Spor[false,297,5]:=0;	Spor[true,297,5]:=0;
Spor[false,297,6]:=0;	Spor[true,297,6]:=0;
Spor[false,297,7]:=0;	Spor[true,297,7]:=0;
Spor[false,297,8]:=0;	Spor[true,297,8]:=0;
Spor[false,298,1]:=284;	Spor[true,298,1]:=306;
Spor[false,298,2]:=0;	Spor[true,298,2]:=0;
Spor[false,298,3]:=0;	Spor[true,298,3]:=0;
Spor[false,298,4]:=0;	Spor[true,298,4]:=0;
Spor[false,298,5]:=0;	Spor[true,298,5]:=0;
Spor[false,298,6]:=0;	Spor[true,298,6]:=0;
Spor[false,298,7]:=0;	Spor[true,298,7]:=0;
Spor[false,298,8]:=0;	Spor[true,298,8]:=0;
Spor[false,299,1]:=284;	Spor[true,299,1]:=306;
Spor[false,299,2]:=285;	Spor[true,299,2]:=315;
Spor[false,299,3]:=286;	Spor[true,299,3]:=316;
Spor[false,299,4]:=0;	Spor[true,299,4]:=0;
Spor[false,299,5]:=0;	Spor[true,299,5]:=0;
Spor[false,299,6]:=0;	Spor[true,299,6]:=0;
Spor[false,299,7]:=0;	Spor[true,299,7]:=0;
Spor[false,299,8]:=0;	Spor[true,299,8]:=0;
Spor[false,300,1]:=1292;	Spor[true,300,1]:=1308;
Spor[false,300,2]:=2281;	Spor[true,300,2]:=2301;
Spor[false,300,3]:=0;	Spor[true,300,3]:=0;
Spor[false,300,4]:=0;	Spor[true,300,4]:=0;
Spor[false,300,5]:=0;	Spor[true,300,5]:=0;
Spor[false,300,6]:=0;	Spor[true,300,6]:=0;
Spor[false,300,7]:=0;	Spor[true,300,7]:=0;
Spor[false,300,8]:=0;	Spor[true,300,8]:=0;
Spor[false,301,1]:=300;	Spor[true,301,1]:=302;
Spor[false,301,2]:=0;	Spor[true,301,2]:=309;
Spor[false,301,3]:=0;	Spor[true,301,3]:=0;
Spor[false,301,4]:=0;	Spor[true,301,4]:=0;
Spor[false,301,5]:=0;	Spor[true,301,5]:=0;
Spor[false,301,6]:=0;	Spor[true,301,6]:=0;
Spor[false,301,7]:=0;	Spor[true,301,7]:=0;
Spor[false,301,8]:=0;	Spor[true,301,8]:=0;
Spor[false,302,1]:=293;	Spor[true,302,1]:=312;
Spor[false,302,2]:=301;	Spor[true,302,2]:=311;
Spor[false,302,3]:=0;	Spor[true,302,3]:=303;
Spor[false,302,4]:=0;	Spor[true,302,4]:=0;
Spor[false,302,5]:=0;	Spor[true,302,5]:=0;
Spor[false,302,6]:=0;	Spor[true,302,6]:=0;
Spor[false,302,7]:=0;	Spor[true,302,7]:=0;
Spor[false,302,8]:=0;	Spor[true,302,8]:=0;
Spor[false,303,1]:=294;	Spor[true,303,1]:=313;
Spor[false,303,2]:=302;	Spor[true,303,2]:=314;
Spor[false,303,3]:=0;	Spor[true,303,3]:=305;
Spor[false,303,4]:=0;	Spor[true,303,4]:=0;
Spor[false,303,5]:=0;	Spor[true,303,5]:=0;
Spor[false,303,6]:=0;	Spor[true,303,6]:=0;
Spor[false,303,7]:=0;	Spor[true,303,7]:=0;
Spor[false,303,8]:=0;	Spor[true,303,8]:=0;
Spor[false,304,1]:=0;	Spor[true,304,1]:=305;
Spor[false,304,2]:=0;	Spor[true,304,2]:=306;
Spor[false,304,3]:=0;	Spor[true,304,3]:=0;
Spor[false,304,4]:=0;	Spor[true,304,4]:=0;
Spor[false,304,5]:=0;	Spor[true,304,5]:=0;
Spor[false,304,6]:=0;	Spor[true,304,6]:=0;
Spor[false,304,7]:=0;	Spor[true,304,7]:=0;
Spor[false,304,8]:=0;	Spor[true,304,8]:=0;
Spor[false,305,1]:=295;	Spor[true,305,1]:=319;
Spor[false,305,2]:=303;	Spor[true,305,2]:=0;
Spor[false,305,3]:=0;	Spor[true,305,3]:=0;
Spor[false,305,4]:=0;	Spor[true,305,4]:=0;
Spor[false,305,5]:=0;	Spor[true,305,5]:=0;
Spor[false,305,6]:=0;	Spor[true,305,6]:=0;
Spor[false,305,7]:=0;	Spor[true,305,7]:=0;
Spor[false,305,8]:=0;	Spor[true,305,8]:=0;
Spor[false,306,1]:=295;	Spor[true,306,1]:=319;
Spor[false,306,2]:=296;	Spor[true,306,2]:=318;
Spor[false,306,3]:=297;	Spor[true,306,3]:=0;
Spor[false,306,4]:=298;	Spor[true,306,4]:=0;
Spor[false,306,5]:=299;	Spor[true,306,5]:=0;
Spor[false,306,6]:=0;	Spor[true,306,6]:=0;
Spor[false,306,7]:=0;	Spor[true,306,7]:=0;
Spor[false,306,8]:=0;	Spor[true,306,8]:=0;
Spor[false,307,1]:=0;	Spor[true,307,1]:=0;
Spor[false,307,2]:=0;	Spor[true,307,2]:=0;
Spor[false,307,3]:=0;	Spor[true,307,3]:=0;
Spor[false,307,4]:=0;	Spor[true,307,4]:=0;
Spor[false,307,5]:=0;	Spor[true,307,5]:=0;
Spor[false,307,6]:=0;	Spor[true,307,6]:=0;
Spor[false,307,7]:=0;	Spor[true,307,7]:=0;
Spor[false,307,8]:=0;	Spor[true,307,8]:=0;
Spor[false,308,1]:=300;	Spor[true,308,1]:=310;
Spor[false,308,2]:=0;	Spor[true,308,2]:=0;
Spor[false,308,3]:=0;	Spor[true,308,3]:=0;
Spor[false,308,4]:=0;	Spor[true,308,4]:=0;
Spor[false,308,5]:=0;	Spor[true,308,5]:=0;
Spor[false,308,6]:=0;	Spor[true,308,6]:=0;
Spor[false,308,7]:=0;	Spor[true,308,7]:=0;
Spor[false,308,8]:=0;	Spor[true,308,8]:=0;
Spor[false,309,1]:=301;	Spor[true,309,1]:=0;
Spor[false,309,2]:=0;	Spor[true,309,2]:=0;
Spor[false,309,3]:=0;	Spor[true,309,3]:=0;
Spor[false,309,4]:=0;	Spor[true,309,4]:=0;
Spor[false,309,5]:=0;	Spor[true,309,5]:=0;
Spor[false,309,6]:=0;	Spor[true,309,6]:=0;
Spor[false,309,7]:=0;	Spor[true,309,7]:=0;
Spor[false,309,8]:=0;	Spor[true,309,8]:=0;
Spor[false,310,1]:=308;	Spor[true,310,1]:=0;
Spor[false,310,2]:=0;	Spor[true,310,2]:=0;
Spor[false,310,3]:=0;	Spor[true,310,3]:=0;
Spor[false,310,4]:=0;	Spor[true,310,4]:=0;
Spor[false,310,5]:=0;	Spor[true,310,5]:=0;
Spor[false,310,6]:=0;	Spor[true,310,6]:=0;
Spor[false,310,7]:=0;	Spor[true,310,7]:=0;
Spor[false,310,8]:=0;	Spor[true,310,8]:=0;
Spor[false,311,1]:=302;	Spor[true,311,1]:=0;
Spor[false,311,2]:=0;	Spor[true,311,2]:=0;
Spor[false,311,3]:=0;	Spor[true,311,3]:=0;
Spor[false,311,4]:=0;	Spor[true,311,4]:=0;
Spor[false,311,5]:=0;	Spor[true,311,5]:=0;
Spor[false,311,6]:=0;	Spor[true,311,6]:=0;
Spor[false,311,7]:=0;	Spor[true,311,7]:=0;
Spor[false,311,8]:=0;	Spor[true,311,8]:=0;
Spor[false,312,1]:=302;	Spor[true,312,1]:=0;
Spor[false,312,2]:=0;	Spor[true,312,2]:=0;
Spor[false,312,3]:=0;	Spor[true,312,3]:=0;
Spor[false,312,4]:=0;	Spor[true,312,4]:=0;
Spor[false,312,5]:=0;	Spor[true,312,5]:=0;
Spor[false,312,6]:=0;	Spor[true,312,6]:=0;
Spor[false,312,7]:=0;	Spor[true,312,7]:=0;
Spor[false,312,8]:=0;	Spor[true,312,8]:=0;
Spor[false,313,1]:=303;	Spor[true,313,1]:=0;
Spor[false,313,2]:=0;	Spor[true,313,2]:=0;
Spor[false,313,3]:=0;	Spor[true,313,3]:=0;
Spor[false,313,4]:=0;	Spor[true,313,4]:=0;
Spor[false,313,5]:=0;	Spor[true,313,5]:=0;
Spor[false,313,6]:=0;	Spor[true,313,6]:=0;
Spor[false,313,7]:=0;	Spor[true,313,7]:=0;
Spor[false,313,8]:=0;	Spor[true,313,8]:=0;
Spor[false,314,1]:=303;	Spor[true,314,1]:=0;
Spor[false,314,2]:=0;	Spor[true,314,2]:=0;
Spor[false,314,3]:=0;	Spor[true,314,3]:=0;
Spor[false,314,4]:=0;	Spor[true,314,4]:=0;
Spor[false,314,5]:=0;	Spor[true,314,5]:=0;
Spor[false,314,6]:=0;	Spor[true,314,6]:=0;
Spor[false,314,7]:=0;	Spor[true,314,7]:=0;
Spor[false,314,8]:=0;	Spor[true,314,8]:=0;
Spor[false,315,1]:=299;	Spor[true,315,1]:=0;
Spor[false,315,2]:=0;	Spor[true,315,2]:=0;
Spor[false,315,3]:=0;	Spor[true,315,3]:=0;
Spor[false,315,4]:=0;	Spor[true,315,4]:=0;
Spor[false,315,5]:=0;	Spor[true,315,5]:=0;
Spor[false,315,6]:=0;	Spor[true,315,6]:=0;
Spor[false,315,7]:=0;	Spor[true,315,7]:=0;
Spor[false,315,8]:=0;	Spor[true,315,8]:=0;
Spor[false,316,1]:=299;	Spor[true,316,1]:=0;
Spor[false,316,2]:=0;	Spor[true,316,2]:=0;
Spor[false,316,3]:=0;	Spor[true,316,3]:=0;
Spor[false,316,4]:=0;	Spor[true,316,4]:=0;
Spor[false,316,5]:=0;	Spor[true,316,5]:=0;
Spor[false,316,6]:=0;	Spor[true,316,6]:=0;
Spor[false,316,7]:=0;	Spor[true,316,7]:=0;
Spor[false,316,8]:=0;	Spor[true,316,8]:=0;
Spor[false,317,1]:=0;	Spor[true,317,1]:=0;
Spor[false,317,2]:=0;	Spor[true,317,2]:=0;
Spor[false,317,3]:=0;	Spor[true,317,3]:=0;
Spor[false,317,4]:=0;	Spor[true,317,4]:=0;
Spor[false,317,5]:=0;	Spor[true,317,5]:=0;
Spor[false,317,6]:=0;	Spor[true,317,6]:=0;
Spor[false,317,7]:=0;	Spor[true,317,7]:=0;
Spor[false,317,8]:=0;	Spor[true,317,8]:=0;
Spor[false,318,1]:=306;	Spor[true,318,1]:=0;
Spor[false,318,2]:=0;	Spor[true,318,2]:=0;
Spor[false,318,3]:=0;	Spor[true,318,3]:=0;
Spor[false,318,4]:=0;	Spor[true,318,4]:=0;
Spor[false,318,5]:=0;	Spor[true,318,5]:=0;
Spor[false,318,6]:=0;	Spor[true,318,6]:=0;
Spor[false,318,7]:=0;	Spor[true,318,7]:=0;
Spor[false,318,8]:=0;	Spor[true,318,8]:=0;
Spor[false,319,1]:=305;	Spor[true,319,1]:=320;
Spor[false,319,2]:=306;	Spor[true,319,2]:=0;
Spor[false,319,3]:=0;	Spor[true,319,3]:=0;
Spor[false,319,4]:=0;	Spor[true,319,4]:=0;
Spor[false,319,5]:=0;	Spor[true,319,5]:=0;
Spor[false,319,6]:=0;	Spor[true,319,6]:=0;
Spor[false,319,7]:=0;	Spor[true,319,7]:=0;
Spor[false,319,8]:=0;	Spor[true,319,8]:=0;
Spor[false,320,1]:=319;	Spor[true,320,1]:=0;
Spor[false,320,2]:=0;	Spor[true,320,2]:=0;
Spor[false,320,3]:=0;	Spor[true,320,3]:=0;
Spor[false,320,4]:=0;	Spor[true,320,4]:=0;
Spor[false,320,5]:=0;	Spor[true,320,5]:=0;
Spor[false,320,6]:=0;	Spor[true,320,6]:=0;
Spor[false,320,7]:=0;	Spor[true,320,7]:=0;
Spor[false,320,8]:=0;	Spor[true,320,8]:=0;
Spor[false,321,1]:=310;	Spor[true,321,1]:=0;
Spor[false,321,2]:=0;	Spor[true,321,2]:=0;
Spor[false,321,3]:=0;	Spor[true,321,3]:=0;
Spor[false,321,4]:=0;	Spor[true,321,4]:=0;
Spor[false,321,5]:=0;	Spor[true,321,5]:=0;
Spor[false,321,6]:=0;	Spor[true,321,6]:=0;
Spor[false,321,7]:=0;	Spor[true,321,7]:=0;
Spor[false,321,8]:=0;	Spor[true,321,8]:=0;


end;

end.


   
   

Sporskft

Sporskft er en tabel over, hvordan et eller flere sporskiftere skal stå, for at sikre, at en kørsel fra A til B bliver korrekt.

Denne tabel er en direkte parallel til den forrige tabel; Sporplan. Hvis der er flere veje at køre fra en blok, så må det være, fordi der er sporskiftere i blokken. I denne tabel kan man se, hvordan sporskifterne skal stå, for at sikre en korrekt kørsel fra A til B.

Tabellen er dog lidt speciel bygget op. Tabellen er en kopi i opbygningen af Sporplan, men indholdet er anderledes. Dette ses bedst i regnearket. Her kan man se, at der er vist 00, 01,og 10 til at indikere den ønskede sporskiftestilling. Derfor er tallene her i tabellen både små og store - alt efter antallet af sporskiftere i blokken.

Der er plads til 8 sporskiftere per ende per blok.


 unit sporskft;


interface

procedure initsporskifts;

VAR
   Weiche                 :  ARRAY [false..true,191..320,1..8] OF WORD;   (* Skema over bane*)


implementation


procedure initsporskifts;

  begin

Weiche[false,191,1]:=$0000;	Weiche[true,191,1]:=$0000;
Weiche[false,191,2]:=$0000;	Weiche[true,191,2]:=$0000;
Weiche[false,191,3]:=$0000;	Weiche[true,191,3]:=$0000;
Weiche[false,191,4]:=$0000;	Weiche[true,191,4]:=$0000;
Weiche[false,191,5]:=$0000;	Weiche[true,191,5]:=$0000;
Weiche[false,191,6]:=$0000;	Weiche[true,191,6]:=$0000;
Weiche[false,191,7]:=$0000;	Weiche[true,191,7]:=$0000;
Weiche[false,191,8]:=$0000;	Weiche[true,191,8]:=$0000;
Weiche[false,192,1]:=$0000;	Weiche[true,192,1]:=$0000;
Weiche[false,192,2]:=$0000;	Weiche[true,192,2]:=$0000;
Weiche[false,192,3]:=$0000;	Weiche[true,192,3]:=$0000;
Weiche[false,192,4]:=$0000;	Weiche[true,192,4]:=$0000;
Weiche[false,192,5]:=$0000;	Weiche[true,192,5]:=$0000;
Weiche[false,192,6]:=$0000;	Weiche[true,192,6]:=$0000;
Weiche[false,192,7]:=$0000;	Weiche[true,192,7]:=$0000;
Weiche[false,192,8]:=$0000;	Weiche[true,192,8]:=$0000;
Weiche[false,193,1]:=$0000;	Weiche[true,193,1]:=$0000;
Weiche[false,193,2]:=$0000;	Weiche[true,193,2]:=$0000;
Weiche[false,193,3]:=$0000;	Weiche[true,193,3]:=$0000;
Weiche[false,193,4]:=$0000;	Weiche[true,193,4]:=$0000;
Weiche[false,193,5]:=$0000;	Weiche[true,193,5]:=$0000;
Weiche[false,193,6]:=$0000;	Weiche[true,193,6]:=$0000;
Weiche[false,193,7]:=$0000;	Weiche[true,193,7]:=$0000;
Weiche[false,193,8]:=$0000;	Weiche[true,193,8]:=$0000;
Weiche[false,194,1]:=$0000;	Weiche[true,194,1]:=$0000;
Weiche[false,194,2]:=$0000;	Weiche[true,194,2]:=$0000;
Weiche[false,194,3]:=$0000;	Weiche[true,194,3]:=$0000;
Weiche[false,194,4]:=$0000;	Weiche[true,194,4]:=$0000;
Weiche[false,194,5]:=$0000;	Weiche[true,194,5]:=$0000;
Weiche[false,194,6]:=$0000;	Weiche[true,194,6]:=$0000;
Weiche[false,194,7]:=$0000;	Weiche[true,194,7]:=$0000;
Weiche[false,194,8]:=$0000;	Weiche[true,194,8]:=$0000;
Weiche[false,195,1]:=$0000;	Weiche[true,195,1]:=$0000;
Weiche[false,195,2]:=$0000;	Weiche[true,195,2]:=$0000;
Weiche[false,195,3]:=$0000;	Weiche[true,195,3]:=$0000;
Weiche[false,195,4]:=$0000;	Weiche[true,195,4]:=$0000;
Weiche[false,195,5]:=$0000;	Weiche[true,195,5]:=$0000;
Weiche[false,195,6]:=$0000;	Weiche[true,195,6]:=$0000;
Weiche[false,195,7]:=$0000;	Weiche[true,195,7]:=$0000;
Weiche[false,195,8]:=$0000;	Weiche[true,195,8]:=$0000;
Weiche[false,196,1]:=$0000;	Weiche[true,196,1]:=$0000;
Weiche[false,196,2]:=$0000;	Weiche[true,196,2]:=$0000;
Weiche[false,196,3]:=$0000;	Weiche[true,196,3]:=$0000;
Weiche[false,196,4]:=$0000;	Weiche[true,196,4]:=$0000;
Weiche[false,196,5]:=$0000;	Weiche[true,196,5]:=$0000;
Weiche[false,196,6]:=$0000;	Weiche[true,196,6]:=$0000;
Weiche[false,196,7]:=$0000;	Weiche[true,196,7]:=$0000;
Weiche[false,196,8]:=$0000;	Weiche[true,196,8]:=$0000;
Weiche[false,197,1]:=$0000;	Weiche[true,197,1]:=$0000;
Weiche[false,197,2]:=$0000;	Weiche[true,197,2]:=$0000;
Weiche[false,197,3]:=$0000;	Weiche[true,197,3]:=$0000;
Weiche[false,197,4]:=$0000;	Weiche[true,197,4]:=$0000;
Weiche[false,197,5]:=$0000;	Weiche[true,197,5]:=$0000;
Weiche[false,197,6]:=$0000;	Weiche[true,197,6]:=$0000;
Weiche[false,197,7]:=$0000;	Weiche[true,197,7]:=$0000;
Weiche[false,197,8]:=$0000;	Weiche[true,197,8]:=$0000;
Weiche[false,198,1]:=$0000;	Weiche[true,198,1]:=$0000;
Weiche[false,198,2]:=$0000;	Weiche[true,198,2]:=$0000;
Weiche[false,198,3]:=$0000;	Weiche[true,198,3]:=$0000;
Weiche[false,198,4]:=$0000;	Weiche[true,198,4]:=$0000;
Weiche[false,198,5]:=$0000;	Weiche[true,198,5]:=$0000;
Weiche[false,198,6]:=$0000;	Weiche[true,198,6]:=$0000;
Weiche[false,198,7]:=$0000;	Weiche[true,198,7]:=$0000;
Weiche[false,198,8]:=$0000;	Weiche[true,198,8]:=$0000;
Weiche[false,199,1]:=$0000;	Weiche[true,199,1]:=$0000;
Weiche[false,199,2]:=$0000;	Weiche[true,199,2]:=$0000;
Weiche[false,199,3]:=$0000;	Weiche[true,199,3]:=$0000;
Weiche[false,199,4]:=$0000;	Weiche[true,199,4]:=$0000;
Weiche[false,199,5]:=$0000;	Weiche[true,199,5]:=$0000;
Weiche[false,199,6]:=$0000;	Weiche[true,199,6]:=$0000;
Weiche[false,199,7]:=$0000;	Weiche[true,199,7]:=$0000;
Weiche[false,199,8]:=$0000;	Weiche[true,199,8]:=$0000;
Weiche[false,200,1]:=$0000;	Weiche[true,200,1]:=$0000;
Weiche[false,200,2]:=$0000;	Weiche[true,200,2]:=$0000;
Weiche[false,200,3]:=$0000;	Weiche[true,200,3]:=$0000;
Weiche[false,200,4]:=$0000;	Weiche[true,200,4]:=$0000;
Weiche[false,200,5]:=$0000;	Weiche[true,200,5]:=$0000;
Weiche[false,200,6]:=$0000;	Weiche[true,200,6]:=$0000;
Weiche[false,200,7]:=$0000;	Weiche[true,200,7]:=$0000;
Weiche[false,200,8]:=$0000;	Weiche[true,200,8]:=$0000;
Weiche[false,201,1]:=$0000;	Weiche[true,201,1]:=$0001;
Weiche[false,201,2]:=$0000;	Weiche[true,201,2]:=$0002;
Weiche[false,201,3]:=$0000;	Weiche[true,201,3]:=$0000;
Weiche[false,201,4]:=$0000;	Weiche[true,201,4]:=$0000;
Weiche[false,201,5]:=$0000;	Weiche[true,201,5]:=$0000;
Weiche[false,201,6]:=$0000;	Weiche[true,201,6]:=$0000;
Weiche[false,201,7]:=$0000;	Weiche[true,201,7]:=$0000;
Weiche[false,201,8]:=$0000;	Weiche[true,201,8]:=$0000;
Weiche[false,202,1]:=$0000;	Weiche[true,202,1]:=$0001;
Weiche[false,202,2]:=$0000;	Weiche[true,202,2]:=$0002;
Weiche[false,202,3]:=$0000;	Weiche[true,202,3]:=$0000;
Weiche[false,202,4]:=$0000;	Weiche[true,202,4]:=$0000;
Weiche[false,202,5]:=$0000;	Weiche[true,202,5]:=$0000;
Weiche[false,202,6]:=$0000;	Weiche[true,202,6]:=$0000;
Weiche[false,202,7]:=$0000;	Weiche[true,202,7]:=$0000;
Weiche[false,202,8]:=$0000;	Weiche[true,202,8]:=$0000;
Weiche[false,203,1]:=$0004;	Weiche[true,203,1]:=$0001;
Weiche[false,203,2]:=$0008;	Weiche[true,203,2]:=$0002;
Weiche[false,203,3]:=$0000;	Weiche[true,203,3]:=$0000;
Weiche[false,203,4]:=$0000;	Weiche[true,203,4]:=$0000;
Weiche[false,203,5]:=$0000;	Weiche[true,203,5]:=$0000;
Weiche[false,203,6]:=$0000;	Weiche[true,203,6]:=$0000;
Weiche[false,203,7]:=$0000;	Weiche[true,203,7]:=$0000;
Weiche[false,203,8]:=$0000;	Weiche[true,203,8]:=$0000;
Weiche[false,204,1]:=$0004;	Weiche[true,204,1]:=$0001;
Weiche[false,204,2]:=$0008;	Weiche[true,204,2]:=$0002;
Weiche[false,204,3]:=$0000;	Weiche[true,204,3]:=$0000;
Weiche[false,204,4]:=$0000;	Weiche[true,204,4]:=$0000;
Weiche[false,204,5]:=$0000;	Weiche[true,204,5]:=$0000;
Weiche[false,204,6]:=$0000;	Weiche[true,204,6]:=$0000;
Weiche[false,204,7]:=$0000;	Weiche[true,204,7]:=$0000;
Weiche[false,204,8]:=$0000;	Weiche[true,204,8]:=$0000;
Weiche[false,205,1]:=$0004;	Weiche[true,205,1]:=$0001;
Weiche[false,205,2]:=$0008;	Weiche[true,205,2]:=$0002;
Weiche[false,205,3]:=$0000;	Weiche[true,205,3]:=$0000;
Weiche[false,205,4]:=$0000;	Weiche[true,205,4]:=$0000;
Weiche[false,205,5]:=$0000;	Weiche[true,205,5]:=$0000;
Weiche[false,205,6]:=$0000;	Weiche[true,205,6]:=$0000;
Weiche[false,205,7]:=$0000;	Weiche[true,205,7]:=$0000;
Weiche[false,205,8]:=$0000;	Weiche[true,205,8]:=$0000;
Weiche[false,206,1]:=$0045;	Weiche[true,206,1]:=$0010;
Weiche[false,206,2]:=$0046;	Weiche[true,206,2]:=$0020;
Weiche[false,206,3]:=$0048;	Weiche[true,206,3]:=$0000;
Weiche[false,206,4]:=$0080;	Weiche[true,206,4]:=$0000;
Weiche[false,206,5]:=$0000;	Weiche[true,206,5]:=$0000;
Weiche[false,206,6]:=$0000;	Weiche[true,206,6]:=$0000;
Weiche[false,206,7]:=$0000;	Weiche[true,206,7]:=$0000;
Weiche[false,206,8]:=$0000;	Weiche[true,206,8]:=$0000;
Weiche[false,207,1]:=$0004;	Weiche[true,207,1]:=$0001;
Weiche[false,207,2]:=$0008;	Weiche[true,207,2]:=$0002;
Weiche[false,207,3]:=$0000;	Weiche[true,207,3]:=$0000;
Weiche[false,207,4]:=$0000;	Weiche[true,207,4]:=$0000;
Weiche[false,207,5]:=$0000;	Weiche[true,207,5]:=$0000;
Weiche[false,207,6]:=$0000;	Weiche[true,207,6]:=$0000;
Weiche[false,207,7]:=$0000;	Weiche[true,207,7]:=$0000;
Weiche[false,207,8]:=$0000;	Weiche[true,207,8]:=$0000;
Weiche[false,208,1]:=$0000;	Weiche[true,208,1]:=$0000;
Weiche[false,208,2]:=$0000;	Weiche[true,208,2]:=$0000;
Weiche[false,208,3]:=$0000;	Weiche[true,208,3]:=$0000;
Weiche[false,208,4]:=$0000;	Weiche[true,208,4]:=$0000;
Weiche[false,208,5]:=$0000;	Weiche[true,208,5]:=$0000;
Weiche[false,208,6]:=$0000;	Weiche[true,208,6]:=$0000;
Weiche[false,208,7]:=$0000;	Weiche[true,208,7]:=$0000;
Weiche[false,208,8]:=$0000;	Weiche[true,208,8]:=$0000;
Weiche[false,209,1]:=$0004;	Weiche[true,209,1]:=$0001;
Weiche[false,209,2]:=$0008;	Weiche[true,209,2]:=$0002;
Weiche[false,209,3]:=$0000;	Weiche[true,209,3]:=$0000;
Weiche[false,209,4]:=$0000;	Weiche[true,209,4]:=$0000;
Weiche[false,209,5]:=$0000;	Weiche[true,209,5]:=$0000;
Weiche[false,209,6]:=$0000;	Weiche[true,209,6]:=$0000;
Weiche[false,209,7]:=$0000;	Weiche[true,209,7]:=$0000;
Weiche[false,209,8]:=$0000;	Weiche[true,209,8]:=$0000;
Weiche[false,210,1]:=$0004;	Weiche[true,210,1]:=$0001;
Weiche[false,210,2]:=$0008;	Weiche[true,210,2]:=$0012;
Weiche[false,210,3]:=$0000;	Weiche[true,210,3]:=$0022;
Weiche[false,210,4]:=$0000;	Weiche[true,210,4]:=$0000;
Weiche[false,210,5]:=$0000;	Weiche[true,210,5]:=$0000;
Weiche[false,210,6]:=$0000;	Weiche[true,210,6]:=$0000;
Weiche[false,210,7]:=$0000;	Weiche[true,210,7]:=$0000;
Weiche[false,210,8]:=$0000;	Weiche[true,210,8]:=$0000;
Weiche[false,211,1]:=$0001;	Weiche[true,211,1]:=$0004;
Weiche[false,211,2]:=$0002;	Weiche[true,211,2]:=$0008;
Weiche[false,211,3]:=$0000;	Weiche[true,211,3]:=$0000;
Weiche[false,211,4]:=$0000;	Weiche[true,211,4]:=$0000;
Weiche[false,211,5]:=$0000;	Weiche[true,211,5]:=$0000;
Weiche[false,211,6]:=$0000;	Weiche[true,211,6]:=$0000;
Weiche[false,211,7]:=$0000;	Weiche[true,211,7]:=$0000;
Weiche[false,211,8]:=$0000;	Weiche[true,211,8]:=$0000;
Weiche[false,212,1]:=$0000;	Weiche[true,212,1]:=$0000;
Weiche[false,212,2]:=$0000;	Weiche[true,212,2]:=$0000;
Weiche[false,212,3]:=$0000;	Weiche[true,212,3]:=$0000;
Weiche[false,212,4]:=$0000;	Weiche[true,212,4]:=$0000;
Weiche[false,212,5]:=$0000;	Weiche[true,212,5]:=$0000;
Weiche[false,212,6]:=$0000;	Weiche[true,212,6]:=$0000;
Weiche[false,212,7]:=$0000;	Weiche[true,212,7]:=$0000;
Weiche[false,212,8]:=$0000;	Weiche[true,212,8]:=$0000;
Weiche[false,213,1]:=$0001;	Weiche[true,213,1]:=$0000;
Weiche[false,213,2]:=$0002;	Weiche[true,213,2]:=$0000;
Weiche[false,213,3]:=$0000;	Weiche[true,213,3]:=$0000;
Weiche[false,213,4]:=$0000;	Weiche[true,213,4]:=$0000;
Weiche[false,213,5]:=$0000;	Weiche[true,213,5]:=$0000;
Weiche[false,213,6]:=$0000;	Weiche[true,213,6]:=$0000;
Weiche[false,213,7]:=$0000;	Weiche[true,213,7]:=$0000;
Weiche[false,213,8]:=$0000;	Weiche[true,213,8]:=$0000;
Weiche[false,214,1]:=$0001;	Weiche[true,214,1]:=$0000;
Weiche[false,214,2]:=$0002;	Weiche[true,214,2]:=$0000;
Weiche[false,214,3]:=$0000;	Weiche[true,214,3]:=$0000;
Weiche[false,214,4]:=$0000;	Weiche[true,214,4]:=$0000;
Weiche[false,214,5]:=$0000;	Weiche[true,214,5]:=$0000;
Weiche[false,214,6]:=$0000;	Weiche[true,214,6]:=$0000;
Weiche[false,214,7]:=$0000;	Weiche[true,214,7]:=$0000;
Weiche[false,214,8]:=$0000;	Weiche[true,214,8]:=$0000;
Weiche[false,215,1]:=$0000;	Weiche[true,215,1]:=$0000;
Weiche[false,215,2]:=$0000;	Weiche[true,215,2]:=$0000;
Weiche[false,215,3]:=$0000;	Weiche[true,215,3]:=$0000;
Weiche[false,215,4]:=$0000;	Weiche[true,215,4]:=$0000;
Weiche[false,215,5]:=$0000;	Weiche[true,215,5]:=$0000;
Weiche[false,215,6]:=$0000;	Weiche[true,215,6]:=$0000;
Weiche[false,215,7]:=$0000;	Weiche[true,215,7]:=$0000;
Weiche[false,215,8]:=$0000;	Weiche[true,215,8]:=$0000;
Weiche[false,216,1]:=$0000;	Weiche[true,216,1]:=$0001;
Weiche[false,216,2]:=$0000;	Weiche[true,216,2]:=$0002;
Weiche[false,216,3]:=$0000;	Weiche[true,216,3]:=$0000;
Weiche[false,216,4]:=$0000;	Weiche[true,216,4]:=$0000;
Weiche[false,216,5]:=$0000;	Weiche[true,216,5]:=$0000;
Weiche[false,216,6]:=$0000;	Weiche[true,216,6]:=$0000;
Weiche[false,216,7]:=$0000;	Weiche[true,216,7]:=$0000;
Weiche[false,216,8]:=$0000;	Weiche[true,216,8]:=$0000;
Weiche[false,217,1]:=$0000;	Weiche[true,217,1]:=$0000;
Weiche[false,217,2]:=$0000;	Weiche[true,217,2]:=$0000;
Weiche[false,217,3]:=$0000;	Weiche[true,217,3]:=$0000;
Weiche[false,217,4]:=$0000;	Weiche[true,217,4]:=$0000;
Weiche[false,217,5]:=$0000;	Weiche[true,217,5]:=$0000;
Weiche[false,217,6]:=$0000;	Weiche[true,217,6]:=$0000;
Weiche[false,217,7]:=$0000;	Weiche[true,217,7]:=$0000;
Weiche[false,217,8]:=$0000;	Weiche[true,217,8]:=$0000;
Weiche[false,218,1]:=$0000;	Weiche[true,218,1]:=$0000;
Weiche[false,218,2]:=$0000;	Weiche[true,218,2]:=$0000;
Weiche[false,218,3]:=$0000;	Weiche[true,218,3]:=$0000;
Weiche[false,218,4]:=$0000;	Weiche[true,218,4]:=$0000;
Weiche[false,218,5]:=$0000;	Weiche[true,218,5]:=$0000;
Weiche[false,218,6]:=$0000;	Weiche[true,218,6]:=$0000;
Weiche[false,218,7]:=$0000;	Weiche[true,218,7]:=$0000;
Weiche[false,218,8]:=$0000;	Weiche[true,218,8]:=$0000;
Weiche[false,219,1]:=$0000;	Weiche[true,219,1]:=$0001;
Weiche[false,219,2]:=$0000;	Weiche[true,219,2]:=$0002;
Weiche[false,219,3]:=$0000;	Weiche[true,219,3]:=$0000;
Weiche[false,219,4]:=$0000;	Weiche[true,219,4]:=$0000;
Weiche[false,219,5]:=$0000;	Weiche[true,219,5]:=$0000;
Weiche[false,219,6]:=$0000;	Weiche[true,219,6]:=$0000;
Weiche[false,219,7]:=$0000;	Weiche[true,219,7]:=$0000;
Weiche[false,219,8]:=$0000;	Weiche[true,219,8]:=$0000;
Weiche[false,220,1]:=$0000;	Weiche[true,220,1]:=$0000;
Weiche[false,220,2]:=$0000;	Weiche[true,220,2]:=$0000;
Weiche[false,220,3]:=$0000;	Weiche[true,220,3]:=$0000;
Weiche[false,220,4]:=$0000;	Weiche[true,220,4]:=$0000;
Weiche[false,220,5]:=$0000;	Weiche[true,220,5]:=$0000;
Weiche[false,220,6]:=$0000;	Weiche[true,220,6]:=$0000;
Weiche[false,220,7]:=$0000;	Weiche[true,220,7]:=$0000;
Weiche[false,220,8]:=$0000;	Weiche[true,220,8]:=$0000;
Weiche[false,221,1]:=$0000;	Weiche[true,221,1]:=$0000;
Weiche[false,221,2]:=$0000;	Weiche[true,221,2]:=$0000;
Weiche[false,221,3]:=$0000;	Weiche[true,221,3]:=$0000;
Weiche[false,221,4]:=$0000;	Weiche[true,221,4]:=$0000;
Weiche[false,221,5]:=$0000;	Weiche[true,221,5]:=$0000;
Weiche[false,221,6]:=$0000;	Weiche[true,221,6]:=$0000;
Weiche[false,221,7]:=$0000;	Weiche[true,221,7]:=$0000;
Weiche[false,221,8]:=$0000;	Weiche[true,221,8]:=$0000;
Weiche[false,222,1]:=$0000;	Weiche[true,222,1]:=$0001;
Weiche[false,222,2]:=$0000;	Weiche[true,222,2]:=$0002;
Weiche[false,222,3]:=$0000;	Weiche[true,222,3]:=$0000;
Weiche[false,222,4]:=$0000;	Weiche[true,222,4]:=$0000;
Weiche[false,222,5]:=$0000;	Weiche[true,222,5]:=$0000;
Weiche[false,222,6]:=$0000;	Weiche[true,222,6]:=$0000;
Weiche[false,222,7]:=$0000;	Weiche[true,222,7]:=$0000;
Weiche[false,222,8]:=$0000;	Weiche[true,222,8]:=$0000;
Weiche[false,223,1]:=$0011;	Weiche[true,223,1]:=$0004;
Weiche[false,223,2]:=$0012;	Weiche[true,223,2]:=$0008;
Weiche[false,223,3]:=$0020;	Weiche[true,223,3]:=$0000;
Weiche[false,223,4]:=$0000;	Weiche[true,223,4]:=$0000;
Weiche[false,223,5]:=$0000;	Weiche[true,223,5]:=$0000;
Weiche[false,223,6]:=$0000;	Weiche[true,223,6]:=$0000;
Weiche[false,223,7]:=$0000;	Weiche[true,223,7]:=$0000;
Weiche[false,223,8]:=$0000;	Weiche[true,223,8]:=$0000;
Weiche[false,224,1]:=$0001;	Weiche[true,224,1]:=$0004;
Weiche[false,224,2]:=$0002;	Weiche[true,224,2]:=$0008;
Weiche[false,224,3]:=$0000;	Weiche[true,224,3]:=$0000;
Weiche[false,224,4]:=$0000;	Weiche[true,224,4]:=$0000;
Weiche[false,224,5]:=$0000;	Weiche[true,224,5]:=$0000;
Weiche[false,224,6]:=$0000;	Weiche[true,224,6]:=$0000;
Weiche[false,224,7]:=$0000;	Weiche[true,224,7]:=$0000;
Weiche[false,224,8]:=$0000;	Weiche[true,224,8]:=$0000;
Weiche[false,225,1]:=$0001;	Weiche[true,225,1]:=$0000;
Weiche[false,225,2]:=$0002;	Weiche[true,225,2]:=$0000;
Weiche[false,225,3]:=$0000;	Weiche[true,225,3]:=$0000;
Weiche[false,225,4]:=$0000;	Weiche[true,225,4]:=$0000;
Weiche[false,225,5]:=$0000;	Weiche[true,225,5]:=$0000;
Weiche[false,225,6]:=$0000;	Weiche[true,225,6]:=$0000;
Weiche[false,225,7]:=$0000;	Weiche[true,225,7]:=$0000;
Weiche[false,225,8]:=$0000;	Weiche[true,225,8]:=$0000;
Weiche[false,226,1]:=$0001;	Weiche[true,226,1]:=$0004;
Weiche[false,226,2]:=$0002;	Weiche[true,226,2]:=$0008;
Weiche[false,226,3]:=$0000;	Weiche[true,226,3]:=$0000;
Weiche[false,226,4]:=$0000;	Weiche[true,226,4]:=$0000;
Weiche[false,226,5]:=$0000;	Weiche[true,226,5]:=$0000;
Weiche[false,226,6]:=$0000;	Weiche[true,226,6]:=$0000;
Weiche[false,226,7]:=$0000;	Weiche[true,226,7]:=$0000;
Weiche[false,226,8]:=$0000;	Weiche[true,226,8]:=$0000;
Weiche[false,227,1]:=$0001;	Weiche[true,227,1]:=$0014;
Weiche[false,227,2]:=$0002;	Weiche[true,227,2]:=$0024;
Weiche[false,227,3]:=$0000;	Weiche[true,227,3]:=$0008;
Weiche[false,227,4]:=$0000;	Weiche[true,227,4]:=$0000;
Weiche[false,227,5]:=$0000;	Weiche[true,227,5]:=$0000;
Weiche[false,227,6]:=$0000;	Weiche[true,227,6]:=$0000;
Weiche[false,227,7]:=$0000;	Weiche[true,227,7]:=$0000;
Weiche[false,227,8]:=$0000;	Weiche[true,227,8]:=$0000;
Weiche[false,228,1]:=$0001;	Weiche[true,228,1]:=$0008;
Weiche[false,228,2]:=$0002;	Weiche[true,228,2]:=$0004;
Weiche[false,228,3]:=$0000;	Weiche[true,228,3]:=$0000;
Weiche[false,228,4]:=$0000;	Weiche[true,228,4]:=$0000;
Weiche[false,228,5]:=$0000;	Weiche[true,228,5]:=$0000;
Weiche[false,228,6]:=$0000;	Weiche[true,228,6]:=$0000;
Weiche[false,228,7]:=$0000;	Weiche[true,228,7]:=$0000;
Weiche[false,228,8]:=$0000;	Weiche[true,228,8]:=$0000;
Weiche[false,229,1]:=$0004;	Weiche[true,229,1]:=$0001;
Weiche[false,229,2]:=$0008;	Weiche[true,229,2]:=$0002;
Weiche[false,229,3]:=$0000;	Weiche[true,229,3]:=$0000;
Weiche[false,229,4]:=$0000;	Weiche[true,229,4]:=$0000;
Weiche[false,229,5]:=$0000;	Weiche[true,229,5]:=$0000;
Weiche[false,229,6]:=$0000;	Weiche[true,229,6]:=$0000;
Weiche[false,229,7]:=$0000;	Weiche[true,229,7]:=$0000;
Weiche[false,229,8]:=$0000;	Weiche[true,229,8]:=$0000;
Weiche[false,230,1]:=$0004;	Weiche[true,230,1]:=$0001;
Weiche[false,230,2]:=$0008;	Weiche[true,230,2]:=$0002;
Weiche[false,230,3]:=$0000;	Weiche[true,230,3]:=$0000;
Weiche[false,230,4]:=$0000;	Weiche[true,230,4]:=$0000;
Weiche[false,230,5]:=$0000;	Weiche[true,230,5]:=$0000;
Weiche[false,230,6]:=$0000;	Weiche[true,230,6]:=$0000;
Weiche[false,230,7]:=$0000;	Weiche[true,230,7]:=$0000;
Weiche[false,230,8]:=$0000;	Weiche[true,230,8]:=$0000;
Weiche[false,231,1]:=$0000;	Weiche[true,231,1]:=$0000;
Weiche[false,231,2]:=$0000;	Weiche[true,231,2]:=$0000;
Weiche[false,231,3]:=$0000;	Weiche[true,231,3]:=$0000;
Weiche[false,231,4]:=$0000;	Weiche[true,231,4]:=$0000;
Weiche[false,231,5]:=$0000;	Weiche[true,231,5]:=$0000;
Weiche[false,231,6]:=$0000;	Weiche[true,231,6]:=$0000;
Weiche[false,231,7]:=$0000;	Weiche[true,231,7]:=$0000;
Weiche[false,231,8]:=$0000;	Weiche[true,231,8]:=$0000;
Weiche[false,232,1]:=$0000;	Weiche[true,232,1]:=$0000;
Weiche[false,232,2]:=$0000;	Weiche[true,232,2]:=$0000;
Weiche[false,232,3]:=$0000;	Weiche[true,232,3]:=$0000;
Weiche[false,232,4]:=$0000;	Weiche[true,232,4]:=$0000;
Weiche[false,232,5]:=$0000;	Weiche[true,232,5]:=$0000;
Weiche[false,232,6]:=$0000;	Weiche[true,232,6]:=$0000;
Weiche[false,232,7]:=$0000;	Weiche[true,232,7]:=$0000;
Weiche[false,232,8]:=$0000;	Weiche[true,232,8]:=$0000;
Weiche[false,233,1]:=$0000;	Weiche[true,233,1]:=$0000;
Weiche[false,233,2]:=$0000;	Weiche[true,233,2]:=$0000;
Weiche[false,233,3]:=$0000;	Weiche[true,233,3]:=$0000;
Weiche[false,233,4]:=$0000;	Weiche[true,233,4]:=$0000;
Weiche[false,233,5]:=$0000;	Weiche[true,233,5]:=$0000;
Weiche[false,233,6]:=$0000;	Weiche[true,233,6]:=$0000;
Weiche[false,233,7]:=$0000;	Weiche[true,233,7]:=$0000;
Weiche[false,233,8]:=$0000;	Weiche[true,233,8]:=$0000;
Weiche[false,234,1]:=$0000;	Weiche[true,234,1]:=$0000;
Weiche[false,234,2]:=$0000;	Weiche[true,234,2]:=$0000;
Weiche[false,234,3]:=$0000;	Weiche[true,234,3]:=$0000;
Weiche[false,234,4]:=$0000;	Weiche[true,234,4]:=$0000;
Weiche[false,234,5]:=$0000;	Weiche[true,234,5]:=$0000;
Weiche[false,234,6]:=$0000;	Weiche[true,234,6]:=$0000;
Weiche[false,234,7]:=$0000;	Weiche[true,234,7]:=$0000;
Weiche[false,234,8]:=$0000;	Weiche[true,234,8]:=$0000;
Weiche[false,235,1]:=$0000;	Weiche[true,235,1]:=$0000;
Weiche[false,235,2]:=$0000;	Weiche[true,235,2]:=$0000;
Weiche[false,235,3]:=$0000;	Weiche[true,235,3]:=$0000;
Weiche[false,235,4]:=$0000;	Weiche[true,235,4]:=$0000;
Weiche[false,235,5]:=$0000;	Weiche[true,235,5]:=$0000;
Weiche[false,235,6]:=$0000;	Weiche[true,235,6]:=$0000;
Weiche[false,235,7]:=$0000;	Weiche[true,235,7]:=$0000;
Weiche[false,235,8]:=$0000;	Weiche[true,235,8]:=$0000;
Weiche[false,236,1]:=$0000;	Weiche[true,236,1]:=$0000;
Weiche[false,236,2]:=$0000;	Weiche[true,236,2]:=$0000;
Weiche[false,236,3]:=$0000;	Weiche[true,236,3]:=$0000;
Weiche[false,236,4]:=$0000;	Weiche[true,236,4]:=$0000;
Weiche[false,236,5]:=$0000;	Weiche[true,236,5]:=$0000;
Weiche[false,236,6]:=$0000;	Weiche[true,236,6]:=$0000;
Weiche[false,236,7]:=$0000;	Weiche[true,236,7]:=$0000;
Weiche[false,236,8]:=$0000;	Weiche[true,236,8]:=$0000;
Weiche[false,237,1]:=$0000;	Weiche[true,237,1]:=$0000;
Weiche[false,237,2]:=$0000;	Weiche[true,237,2]:=$0000;
Weiche[false,237,3]:=$0000;	Weiche[true,237,3]:=$0000;
Weiche[false,237,4]:=$0000;	Weiche[true,237,4]:=$0000;
Weiche[false,237,5]:=$0000;	Weiche[true,237,5]:=$0000;
Weiche[false,237,6]:=$0000;	Weiche[true,237,6]:=$0000;
Weiche[false,237,7]:=$0000;	Weiche[true,237,7]:=$0000;
Weiche[false,237,8]:=$0000;	Weiche[true,237,8]:=$0000;
Weiche[false,238,1]:=$0000;	Weiche[true,238,1]:=$0000;
Weiche[false,238,2]:=$0000;	Weiche[true,238,2]:=$0000;
Weiche[false,238,3]:=$0000;	Weiche[true,238,3]:=$0000;
Weiche[false,238,4]:=$0000;	Weiche[true,238,4]:=$0000;
Weiche[false,238,5]:=$0000;	Weiche[true,238,5]:=$0000;
Weiche[false,238,6]:=$0000;	Weiche[true,238,6]:=$0000;
Weiche[false,238,7]:=$0000;	Weiche[true,238,7]:=$0000;
Weiche[false,238,8]:=$0000;	Weiche[true,238,8]:=$0000;
Weiche[false,239,1]:=$0000;	Weiche[true,239,1]:=$0000;
Weiche[false,239,2]:=$0000;	Weiche[true,239,2]:=$0000;
Weiche[false,239,3]:=$0000;	Weiche[true,239,3]:=$0000;
Weiche[false,239,4]:=$0000;	Weiche[true,239,4]:=$0000;
Weiche[false,239,5]:=$0000;	Weiche[true,239,5]:=$0000;
Weiche[false,239,6]:=$0000;	Weiche[true,239,6]:=$0000;
Weiche[false,239,7]:=$0000;	Weiche[true,239,7]:=$0000;
Weiche[false,239,8]:=$0000;	Weiche[true,239,8]:=$0000;
Weiche[false,240,1]:=$0000;	Weiche[true,240,1]:=$0000;
Weiche[false,240,2]:=$0000;	Weiche[true,240,2]:=$0000;
Weiche[false,240,3]:=$0000;	Weiche[true,240,3]:=$0000;
Weiche[false,240,4]:=$0000;	Weiche[true,240,4]:=$0000;
Weiche[false,240,5]:=$0000;	Weiche[true,240,5]:=$0000;
Weiche[false,240,6]:=$0000;	Weiche[true,240,6]:=$0000;
Weiche[false,240,7]:=$0000;	Weiche[true,240,7]:=$0000;
Weiche[false,240,8]:=$0000;	Weiche[true,240,8]:=$0000;
Weiche[false,241,1]:=$0000;	Weiche[true,241,1]:=$0000;
Weiche[false,241,2]:=$0000;	Weiche[true,241,2]:=$0000;
Weiche[false,241,3]:=$0000;	Weiche[true,241,3]:=$0000;
Weiche[false,241,4]:=$0000;	Weiche[true,241,4]:=$0000;
Weiche[false,241,5]:=$0000;	Weiche[true,241,5]:=$0000;
Weiche[false,241,6]:=$0000;	Weiche[true,241,6]:=$0000;
Weiche[false,241,7]:=$0000;	Weiche[true,241,7]:=$0000;
Weiche[false,241,8]:=$0000;	Weiche[true,241,8]:=$0000;
Weiche[false,242,1]:=$0000;	Weiche[true,242,1]:=$0000;
Weiche[false,242,2]:=$0000;	Weiche[true,242,2]:=$0000;
Weiche[false,242,3]:=$0000;	Weiche[true,242,3]:=$0000;
Weiche[false,242,4]:=$0000;	Weiche[true,242,4]:=$0000;
Weiche[false,242,5]:=$0000;	Weiche[true,242,5]:=$0000;
Weiche[false,242,6]:=$0000;	Weiche[true,242,6]:=$0000;
Weiche[false,242,7]:=$0000;	Weiche[true,242,7]:=$0000;
Weiche[false,242,8]:=$0000;	Weiche[true,242,8]:=$0000;
Weiche[false,243,1]:=$0000;	Weiche[true,243,1]:=$0000;
Weiche[false,243,2]:=$0000;	Weiche[true,243,2]:=$0000;
Weiche[false,243,3]:=$0000;	Weiche[true,243,3]:=$0000;
Weiche[false,243,4]:=$0000;	Weiche[true,243,4]:=$0000;
Weiche[false,243,5]:=$0000;	Weiche[true,243,5]:=$0000;
Weiche[false,243,6]:=$0000;	Weiche[true,243,6]:=$0000;
Weiche[false,243,7]:=$0000;	Weiche[true,243,7]:=$0000;
Weiche[false,243,8]:=$0000;	Weiche[true,243,8]:=$0000;
Weiche[false,244,1]:=$0000;	Weiche[true,244,1]:=$0001;
Weiche[false,244,2]:=$0000;	Weiche[true,244,2]:=$0002;
Weiche[false,244,3]:=$0000;	Weiche[true,244,3]:=$0000;
Weiche[false,244,4]:=$0000;	Weiche[true,244,4]:=$0000;
Weiche[false,244,5]:=$0000;	Weiche[true,244,5]:=$0000;
Weiche[false,244,6]:=$0000;	Weiche[true,244,6]:=$0000;
Weiche[false,244,7]:=$0000;	Weiche[true,244,7]:=$0000;
Weiche[false,244,8]:=$0000;	Weiche[true,244,8]:=$0000;
Weiche[false,245,1]:=$0000;	Weiche[true,245,1]:=$0000;
Weiche[false,245,2]:=$0000;	Weiche[true,245,2]:=$0000;
Weiche[false,245,3]:=$0000;	Weiche[true,245,3]:=$0000;
Weiche[false,245,4]:=$0000;	Weiche[true,245,4]:=$0000;
Weiche[false,245,5]:=$0000;	Weiche[true,245,5]:=$0000;
Weiche[false,245,6]:=$0000;	Weiche[true,245,6]:=$0000;
Weiche[false,245,7]:=$0000;	Weiche[true,245,7]:=$0000;
Weiche[false,245,8]:=$0000;	Weiche[true,245,8]:=$0000;
Weiche[false,246,1]:=$0000;	Weiche[true,246,1]:=$0000;
Weiche[false,246,2]:=$0000;	Weiche[true,246,2]:=$0000;
Weiche[false,246,3]:=$0000;	Weiche[true,246,3]:=$0000;
Weiche[false,246,4]:=$0000;	Weiche[true,246,4]:=$0000;
Weiche[false,246,5]:=$0000;	Weiche[true,246,5]:=$0000;
Weiche[false,246,6]:=$0000;	Weiche[true,246,6]:=$0000;
Weiche[false,246,7]:=$0000;	Weiche[true,246,7]:=$0000;
Weiche[false,246,8]:=$0000;	Weiche[true,246,8]:=$0000;
Weiche[false,247,1]:=$0000;	Weiche[true,247,1]:=$0000;
Weiche[false,247,2]:=$0000;	Weiche[true,247,2]:=$0000;
Weiche[false,247,3]:=$0000;	Weiche[true,247,3]:=$0000;
Weiche[false,247,4]:=$0000;	Weiche[true,247,4]:=$0000;
Weiche[false,247,5]:=$0000;	Weiche[true,247,5]:=$0000;
Weiche[false,247,6]:=$0000;	Weiche[true,247,6]:=$0000;
Weiche[false,247,7]:=$0000;	Weiche[true,247,7]:=$0000;
Weiche[false,247,8]:=$0000;	Weiche[true,247,8]:=$0000;
Weiche[false,248,1]:=$0000;	Weiche[true,248,1]:=$0000;
Weiche[false,248,2]:=$0000;	Weiche[true,248,2]:=$0000;
Weiche[false,248,3]:=$0000;	Weiche[true,248,3]:=$0000;
Weiche[false,248,4]:=$0000;	Weiche[true,248,4]:=$0000;
Weiche[false,248,5]:=$0000;	Weiche[true,248,5]:=$0000;
Weiche[false,248,6]:=$0000;	Weiche[true,248,6]:=$0000;
Weiche[false,248,7]:=$0000;	Weiche[true,248,7]:=$0000;
Weiche[false,248,8]:=$0000;	Weiche[true,248,8]:=$0000;
Weiche[false,249,1]:=$0000;	Weiche[true,249,1]:=$0000;
Weiche[false,249,2]:=$0000;	Weiche[true,249,2]:=$0000;
Weiche[false,249,3]:=$0000;	Weiche[true,249,3]:=$0000;
Weiche[false,249,4]:=$0000;	Weiche[true,249,4]:=$0000;
Weiche[false,249,5]:=$0000;	Weiche[true,249,5]:=$0000;
Weiche[false,249,6]:=$0000;	Weiche[true,249,6]:=$0000;
Weiche[false,249,7]:=$0000;	Weiche[true,249,7]:=$0000;
Weiche[false,249,8]:=$0000;	Weiche[true,249,8]:=$0000;
Weiche[false,250,1]:=$0000;	Weiche[true,250,1]:=$0002;
Weiche[false,250,2]:=$0000;	Weiche[true,250,2]:=$0001;
Weiche[false,250,3]:=$0000;	Weiche[true,250,3]:=$0000;
Weiche[false,250,4]:=$0000;	Weiche[true,250,4]:=$0000;
Weiche[false,250,5]:=$0000;	Weiche[true,250,5]:=$0000;
Weiche[false,250,6]:=$0000;	Weiche[true,250,6]:=$0000;
Weiche[false,250,7]:=$0000;	Weiche[true,250,7]:=$0000;
Weiche[false,250,8]:=$0000;	Weiche[true,250,8]:=$0000;
Weiche[false,251,1]:=$0000;	Weiche[true,251,1]:=$0000;
Weiche[false,251,2]:=$0000;	Weiche[true,251,2]:=$0000;
Weiche[false,251,3]:=$0000;	Weiche[true,251,3]:=$0000;
Weiche[false,251,4]:=$0000;	Weiche[true,251,4]:=$0000;
Weiche[false,251,5]:=$0000;	Weiche[true,251,5]:=$0000;
Weiche[false,251,6]:=$0000;	Weiche[true,251,6]:=$0000;
Weiche[false,251,7]:=$0000;	Weiche[true,251,7]:=$0000;
Weiche[false,251,8]:=$0000;	Weiche[true,251,8]:=$0000;
Weiche[false,252,1]:=$0000;	Weiche[true,252,1]:=$0000;
Weiche[false,252,2]:=$0000;	Weiche[true,252,2]:=$0000;
Weiche[false,252,3]:=$0000;	Weiche[true,252,3]:=$0000;
Weiche[false,252,4]:=$0000;	Weiche[true,252,4]:=$0000;
Weiche[false,252,5]:=$0000;	Weiche[true,252,5]:=$0000;
Weiche[false,252,6]:=$0000;	Weiche[true,252,6]:=$0000;
Weiche[false,252,7]:=$0000;	Weiche[true,252,7]:=$0000;
Weiche[false,252,8]:=$0000;	Weiche[true,252,8]:=$0000;
Weiche[false,253,1]:=$0000;	Weiche[true,253,1]:=$0002;
Weiche[false,253,2]:=$0000;	Weiche[true,253,2]:=$0001;
Weiche[false,253,3]:=$0000;	Weiche[true,253,3]:=$0000;
Weiche[false,253,4]:=$0000;	Weiche[true,253,4]:=$0000;
Weiche[false,253,5]:=$0000;	Weiche[true,253,5]:=$0000;
Weiche[false,253,6]:=$0000;	Weiche[true,253,6]:=$0000;
Weiche[false,253,7]:=$0000;	Weiche[true,253,7]:=$0000;
Weiche[false,253,8]:=$0000;	Weiche[true,253,8]:=$0000;
Weiche[false,254,1]:=$0000;	Weiche[true,254,1]:=$0000;
Weiche[false,254,2]:=$0000;	Weiche[true,254,2]:=$0000;
Weiche[false,254,3]:=$0000;	Weiche[true,254,3]:=$0000;
Weiche[false,254,4]:=$0000;	Weiche[true,254,4]:=$0000;
Weiche[false,254,5]:=$0000;	Weiche[true,254,5]:=$0000;
Weiche[false,254,6]:=$0000;	Weiche[true,254,6]:=$0000;
Weiche[false,254,7]:=$0000;	Weiche[true,254,7]:=$0000;
Weiche[false,254,8]:=$0000;	Weiche[true,254,8]:=$0000;
Weiche[false,255,1]:=$0000;	Weiche[true,255,1]:=$0000;
Weiche[false,255,2]:=$0000;	Weiche[true,255,2]:=$0000;
Weiche[false,255,3]:=$0000;	Weiche[true,255,3]:=$0000;
Weiche[false,255,4]:=$0000;	Weiche[true,255,4]:=$0000;
Weiche[false,255,5]:=$0000;	Weiche[true,255,5]:=$0000;
Weiche[false,255,6]:=$0000;	Weiche[true,255,6]:=$0000;
Weiche[false,255,7]:=$0000;	Weiche[true,255,7]:=$0000;
Weiche[false,255,8]:=$0000;	Weiche[true,255,8]:=$0000;
Weiche[false,256,1]:=$0000;	Weiche[true,256,1]:=$0000;
Weiche[false,256,2]:=$0000;	Weiche[true,256,2]:=$0000;
Weiche[false,256,3]:=$0000;	Weiche[true,256,3]:=$0000;
Weiche[false,256,4]:=$0000;	Weiche[true,256,4]:=$0000;
Weiche[false,256,5]:=$0000;	Weiche[true,256,5]:=$0000;
Weiche[false,256,6]:=$0000;	Weiche[true,256,6]:=$0000;
Weiche[false,256,7]:=$0000;	Weiche[true,256,7]:=$0000;
Weiche[false,256,8]:=$0000;	Weiche[true,256,8]:=$0000;
Weiche[false,257,1]:=$0000;	Weiche[true,257,1]:=$0000;
Weiche[false,257,2]:=$0000;	Weiche[true,257,2]:=$0000;
Weiche[false,257,3]:=$0000;	Weiche[true,257,3]:=$0000;
Weiche[false,257,4]:=$0000;	Weiche[true,257,4]:=$0000;
Weiche[false,257,5]:=$0000;	Weiche[true,257,5]:=$0000;
Weiche[false,257,6]:=$0000;	Weiche[true,257,6]:=$0000;
Weiche[false,257,7]:=$0000;	Weiche[true,257,7]:=$0000;
Weiche[false,257,8]:=$0000;	Weiche[true,257,8]:=$0000;
Weiche[false,258,1]:=$0000;	Weiche[true,258,1]:=$0000;
Weiche[false,258,2]:=$0000;	Weiche[true,258,2]:=$0000;
Weiche[false,258,3]:=$0000;	Weiche[true,258,3]:=$0000;
Weiche[false,258,4]:=$0000;	Weiche[true,258,4]:=$0000;
Weiche[false,258,5]:=$0000;	Weiche[true,258,5]:=$0000;
Weiche[false,258,6]:=$0000;	Weiche[true,258,6]:=$0000;
Weiche[false,258,7]:=$0000;	Weiche[true,258,7]:=$0000;
Weiche[false,258,8]:=$0000;	Weiche[true,258,8]:=$0000;
Weiche[false,259,1]:=$0000;	Weiche[true,259,1]:=$0000;
Weiche[false,259,2]:=$0000;	Weiche[true,259,2]:=$0000;
Weiche[false,259,3]:=$0000;	Weiche[true,259,3]:=$0000;
Weiche[false,259,4]:=$0000;	Weiche[true,259,4]:=$0000;
Weiche[false,259,5]:=$0000;	Weiche[true,259,5]:=$0000;
Weiche[false,259,6]:=$0000;	Weiche[true,259,6]:=$0000;
Weiche[false,259,7]:=$0000;	Weiche[true,259,7]:=$0000;
Weiche[false,259,8]:=$0000;	Weiche[true,259,8]:=$0000;
Weiche[false,260,1]:=$0000;	Weiche[true,260,1]:=$0000;
Weiche[false,260,2]:=$0000;	Weiche[true,260,2]:=$0000;
Weiche[false,260,3]:=$0000;	Weiche[true,260,3]:=$0000;
Weiche[false,260,4]:=$0000;	Weiche[true,260,4]:=$0000;
Weiche[false,260,5]:=$0000;	Weiche[true,260,5]:=$0000;
Weiche[false,260,6]:=$0000;	Weiche[true,260,6]:=$0000;
Weiche[false,260,7]:=$0000;	Weiche[true,260,7]:=$0000;
Weiche[false,260,8]:=$0000;	Weiche[true,260,8]:=$0000;
Weiche[false,261,1]:=$0004;	Weiche[true,261,1]:=$0002;
Weiche[false,261,2]:=$0008;	Weiche[true,261,2]:=$0021;
Weiche[false,261,3]:=$0000;	Weiche[true,261,3]:=$0011;
Weiche[false,261,4]:=$0000;	Weiche[true,261,4]:=$0000;
Weiche[false,261,5]:=$0000;	Weiche[true,261,5]:=$0000;
Weiche[false,261,6]:=$0000;	Weiche[true,261,6]:=$0000;
Weiche[false,261,7]:=$0000;	Weiche[true,261,7]:=$0000;
Weiche[false,261,8]:=$0000;	Weiche[true,261,8]:=$0000;
Weiche[false,262,1]:=$0000;	Weiche[true,262,1]:=$0000;
Weiche[false,262,2]:=$0000;	Weiche[true,262,2]:=$0000;
Weiche[false,262,3]:=$0000;	Weiche[true,262,3]:=$0000;
Weiche[false,262,4]:=$0000;	Weiche[true,262,4]:=$0000;
Weiche[false,262,5]:=$0000;	Weiche[true,262,5]:=$0000;
Weiche[false,262,6]:=$0000;	Weiche[true,262,6]:=$0000;
Weiche[false,262,7]:=$0000;	Weiche[true,262,7]:=$0000;
Weiche[false,262,8]:=$0000;	Weiche[true,262,8]:=$0000;
Weiche[false,263,1]:=$0004;	Weiche[true,263,1]:=$0002;
Weiche[false,263,2]:=$0008;	Weiche[true,263,2]:=$0001;
Weiche[false,263,3]:=$0000;	Weiche[true,263,3]:=$0000;
Weiche[false,263,4]:=$0000;	Weiche[true,263,4]:=$0000;
Weiche[false,263,5]:=$0000;	Weiche[true,263,5]:=$0000;
Weiche[false,263,6]:=$0000;	Weiche[true,263,6]:=$0000;
Weiche[false,263,7]:=$0000;	Weiche[true,263,7]:=$0000;
Weiche[false,263,8]:=$0000;	Weiche[true,263,8]:=$0000;
Weiche[false,264,1]:=$0001;	Weiche[true,264,1]:=$0004;
Weiche[false,264,2]:=$0002;	Weiche[true,264,2]:=$0008;
Weiche[false,264,3]:=$0000;	Weiche[true,264,3]:=$0000;
Weiche[false,264,4]:=$0000;	Weiche[true,264,4]:=$0000;
Weiche[false,264,5]:=$0000;	Weiche[true,264,5]:=$0000;
Weiche[false,264,6]:=$0000;	Weiche[true,264,6]:=$0000;
Weiche[false,264,7]:=$0000;	Weiche[true,264,7]:=$0000;
Weiche[false,264,8]:=$0000;	Weiche[true,264,8]:=$0000;
Weiche[false,265,1]:=$0008;	Weiche[true,265,1]:=$0012;
Weiche[false,265,2]:=$0004;	Weiche[true,265,2]:=$0022;
Weiche[false,265,3]:=$0000;	Weiche[true,265,3]:=$0001;
Weiche[false,265,4]:=$0000;	Weiche[true,265,4]:=$0000;
Weiche[false,265,5]:=$0000;	Weiche[true,265,5]:=$0000;
Weiche[false,265,6]:=$0000;	Weiche[true,265,6]:=$0000;
Weiche[false,265,7]:=$0000;	Weiche[true,265,7]:=$0000;
Weiche[false,265,8]:=$0000;	Weiche[true,265,8]:=$0000;
Weiche[false,266,1]:=$0000;	Weiche[true,266,1]:=$0000;
Weiche[false,266,2]:=$0000;	Weiche[true,266,2]:=$0000;
Weiche[false,266,3]:=$0000;	Weiche[true,266,3]:=$0000;
Weiche[false,266,4]:=$0000;	Weiche[true,266,4]:=$0000;
Weiche[false,266,5]:=$0000;	Weiche[true,266,5]:=$0000;
Weiche[false,266,6]:=$0000;	Weiche[true,266,6]:=$0000;
Weiche[false,266,7]:=$0000;	Weiche[true,266,7]:=$0000;
Weiche[false,266,8]:=$0000;	Weiche[true,266,8]:=$0000;
Weiche[false,267,1]:=$0001;	Weiche[true,267,1]:=$0004;
Weiche[false,267,2]:=$0002;	Weiche[true,267,2]:=$0008;
Weiche[false,267,3]:=$0000;	Weiche[true,267,3]:=$0000;
Weiche[false,267,4]:=$0000;	Weiche[true,267,4]:=$0000;
Weiche[false,267,5]:=$0000;	Weiche[true,267,5]:=$0000;
Weiche[false,267,6]:=$0000;	Weiche[true,267,6]:=$0000;
Weiche[false,267,7]:=$0000;	Weiche[true,267,7]:=$0000;
Weiche[false,267,8]:=$0000;	Weiche[true,267,8]:=$0000;
Weiche[false,268,1]:=$0001;	Weiche[true,268,1]:=$0000;
Weiche[false,268,2]:=$0002;	Weiche[true,268,2]:=$0000;
Weiche[false,268,3]:=$0000;	Weiche[true,268,3]:=$0000;
Weiche[false,268,4]:=$0000;	Weiche[true,268,4]:=$0000;
Weiche[false,268,5]:=$0000;	Weiche[true,268,5]:=$0000;
Weiche[false,268,6]:=$0000;	Weiche[true,268,6]:=$0000;
Weiche[false,268,7]:=$0000;	Weiche[true,268,7]:=$0000;
Weiche[false,268,8]:=$0000;	Weiche[true,268,8]:=$0000;
Weiche[false,269,1]:=$0000;	Weiche[true,269,1]:=$0000;
Weiche[false,269,2]:=$0000;	Weiche[true,269,2]:=$0000;
Weiche[false,269,3]:=$0000;	Weiche[true,269,3]:=$0000;
Weiche[false,269,4]:=$0000;	Weiche[true,269,4]:=$0000;
Weiche[false,269,5]:=$0000;	Weiche[true,269,5]:=$0000;
Weiche[false,269,6]:=$0000;	Weiche[true,269,6]:=$0000;
Weiche[false,269,7]:=$0000;	Weiche[true,269,7]:=$0000;
Weiche[false,269,8]:=$0000;	Weiche[true,269,8]:=$0000;
Weiche[false,270,1]:=$0001;	Weiche[true,270,1]:=$0000;
Weiche[false,270,2]:=$0002;	Weiche[true,270,2]:=$0000;
Weiche[false,270,3]:=$0000;	Weiche[true,270,3]:=$0000;
Weiche[false,270,4]:=$0000;	Weiche[true,270,4]:=$0000;
Weiche[false,270,5]:=$0000;	Weiche[true,270,5]:=$0000;
Weiche[false,270,6]:=$0000;	Weiche[true,270,6]:=$0000;
Weiche[false,270,7]:=$0000;	Weiche[true,270,7]:=$0000;
Weiche[false,270,8]:=$0000;	Weiche[true,270,8]:=$0000;
Weiche[false,271,1]:=$0001;	Weiche[true,271,1]:=$0004;
Weiche[false,271,2]:=$0002;	Weiche[true,271,2]:=$0008;
Weiche[false,271,3]:=$0000;	Weiche[true,271,3]:=$0000;
Weiche[false,271,4]:=$0000;	Weiche[true,271,4]:=$0000;
Weiche[false,271,5]:=$0000;	Weiche[true,271,5]:=$0000;
Weiche[false,271,6]:=$0000;	Weiche[true,271,6]:=$0000;
Weiche[false,271,7]:=$0000;	Weiche[true,271,7]:=$0000;
Weiche[false,271,8]:=$0000;	Weiche[true,271,8]:=$0000;
Weiche[false,272,1]:=$0045;	Weiche[true,272,1]:=$0010;
Weiche[false,272,2]:=$0046;	Weiche[true,272,2]:=$0020;
Weiche[false,272,3]:=$0048;	Weiche[true,272,3]:=$0000;
Weiche[false,272,4]:=$0080;	Weiche[true,272,4]:=$0000;
Weiche[false,272,5]:=$0000;	Weiche[true,272,5]:=$0000;
Weiche[false,272,6]:=$0000;	Weiche[true,272,6]:=$0000;
Weiche[false,272,7]:=$0000;	Weiche[true,272,7]:=$0000;
Weiche[false,272,8]:=$0000;	Weiche[true,272,8]:=$0000;
Weiche[false,273,1]:=$0002;	Weiche[true,273,1]:=$0004;
Weiche[false,273,2]:=$0001;	Weiche[true,273,2]:=$0008;
Weiche[false,273,3]:=$0000;	Weiche[true,273,3]:=$0000;
Weiche[false,273,4]:=$0000;	Weiche[true,273,4]:=$0000;
Weiche[false,273,5]:=$0000;	Weiche[true,273,5]:=$0000;
Weiche[false,273,6]:=$0000;	Weiche[true,273,6]:=$0000;
Weiche[false,273,7]:=$0000;	Weiche[true,273,7]:=$0000;
Weiche[false,273,8]:=$0000;	Weiche[true,273,8]:=$0000;
Weiche[false,274,1]:=$0004;	Weiche[true,274,1]:=$0001;
Weiche[false,274,2]:=$0008;	Weiche[true,274,2]:=$0002;
Weiche[false,274,3]:=$0000;	Weiche[true,274,3]:=$0000;
Weiche[false,274,4]:=$0000;	Weiche[true,274,4]:=$0000;
Weiche[false,274,5]:=$0000;	Weiche[true,274,5]:=$0000;
Weiche[false,274,6]:=$0000;	Weiche[true,274,6]:=$0000;
Weiche[false,274,7]:=$0000;	Weiche[true,274,7]:=$0000;
Weiche[false,274,8]:=$0000;	Weiche[true,274,8]:=$0000;
Weiche[false,275,1]:=$0002;	Weiche[true,275,1]:=$0004;
Weiche[false,275,2]:=$0001;	Weiche[true,275,2]:=$0008;
Weiche[false,275,3]:=$0000;	Weiche[true,275,3]:=$0000;
Weiche[false,275,4]:=$0000;	Weiche[true,275,4]:=$0000;
Weiche[false,275,5]:=$0000;	Weiche[true,275,5]:=$0000;
Weiche[false,275,6]:=$0000;	Weiche[true,275,6]:=$0000;
Weiche[false,275,7]:=$0000;	Weiche[true,275,7]:=$0000;
Weiche[false,275,8]:=$0000;	Weiche[true,275,8]:=$0000;
Weiche[false,276,1]:=$0004;	Weiche[true,276,1]:=$0001;
Weiche[false,276,2]:=$0008;	Weiche[true,276,2]:=$0002;
Weiche[false,276,3]:=$0000;	Weiche[true,276,3]:=$0000;
Weiche[false,276,4]:=$0000;	Weiche[true,276,4]:=$0000;
Weiche[false,276,5]:=$0000;	Weiche[true,276,5]:=$0000;
Weiche[false,276,6]:=$0000;	Weiche[true,276,6]:=$0000;
Weiche[false,276,7]:=$0000;	Weiche[true,276,7]:=$0000;
Weiche[false,276,8]:=$0000;	Weiche[true,276,8]:=$0000;
Weiche[false,277,1]:=$0001;	Weiche[true,277,1]:=$0000;
Weiche[false,277,2]:=$0002;	Weiche[true,277,2]:=$0000;
Weiche[false,277,3]:=$0000;	Weiche[true,277,3]:=$0000;
Weiche[false,277,4]:=$0000;	Weiche[true,277,4]:=$0000;
Weiche[false,277,5]:=$0000;	Weiche[true,277,5]:=$0000;
Weiche[false,277,6]:=$0000;	Weiche[true,277,6]:=$0000;
Weiche[false,277,7]:=$0000;	Weiche[true,277,7]:=$0000;
Weiche[false,277,8]:=$0000;	Weiche[true,277,8]:=$0000;
Weiche[false,278,1]:=$0001;	Weiche[true,278,1]:=$0000;
Weiche[false,278,2]:=$0002;	Weiche[true,278,2]:=$0000;
Weiche[false,278,3]:=$0000;	Weiche[true,278,3]:=$0000;
Weiche[false,278,4]:=$0000;	Weiche[true,278,4]:=$0000;
Weiche[false,278,5]:=$0000;	Weiche[true,278,5]:=$0000;
Weiche[false,278,6]:=$0000;	Weiche[true,278,6]:=$0000;
Weiche[false,278,7]:=$0000;	Weiche[true,278,7]:=$0000;
Weiche[false,278,8]:=$0000;	Weiche[true,278,8]:=$0000;
Weiche[false,279,1]:=$0001;	Weiche[true,279,1]:=$0004;
Weiche[false,279,2]:=$0002;	Weiche[true,279,2]:=$0008;
Weiche[false,279,3]:=$0000;	Weiche[true,279,3]:=$0000;
Weiche[false,279,4]:=$0000;	Weiche[true,279,4]:=$0000;
Weiche[false,279,5]:=$0000;	Weiche[true,279,5]:=$0000;
Weiche[false,279,6]:=$0000;	Weiche[true,279,6]:=$0000;
Weiche[false,279,7]:=$0000;	Weiche[true,279,7]:=$0000;
Weiche[false,279,8]:=$0000;	Weiche[true,279,8]:=$0000;
Weiche[false,280,1]:=$0000;	Weiche[true,280,1]:=$0000;
Weiche[false,280,2]:=$0000;	Weiche[true,280,2]:=$0000;
Weiche[false,280,3]:=$0000;	Weiche[true,280,3]:=$0000;
Weiche[false,280,4]:=$0000;	Weiche[true,280,4]:=$0000;
Weiche[false,280,5]:=$0000;	Weiche[true,280,5]:=$0000;
Weiche[false,280,6]:=$0000;	Weiche[true,280,6]:=$0000;
Weiche[false,280,7]:=$0000;	Weiche[true,280,7]:=$0000;
Weiche[false,280,8]:=$0000;	Weiche[true,280,8]:=$0000;
Weiche[false,281,1]:=$0000;	Weiche[true,281,1]:=$0000;
Weiche[false,281,2]:=$0000;	Weiche[true,281,2]:=$0000;
Weiche[false,281,3]:=$0000;	Weiche[true,281,3]:=$0000;
Weiche[false,281,4]:=$0000;	Weiche[true,281,4]:=$0000;
Weiche[false,281,5]:=$0000;	Weiche[true,281,5]:=$0000;
Weiche[false,281,6]:=$0000;	Weiche[true,281,6]:=$0000;
Weiche[false,281,7]:=$0000;	Weiche[true,281,7]:=$0000;
Weiche[false,281,8]:=$0000;	Weiche[true,281,8]:=$0000;
Weiche[false,282,1]:=$0004;	Weiche[true,282,1]:=$0022;
Weiche[false,282,2]:=$0008;	Weiche[true,282,2]:=$0012;
Weiche[false,282,3]:=$0000;	Weiche[true,282,3]:=$0041;
Weiche[false,282,4]:=$0000;	Weiche[true,282,4]:=$0081;
Weiche[false,282,5]:=$0000;	Weiche[true,282,5]:=$0000;
Weiche[false,282,6]:=$0000;	Weiche[true,282,6]:=$0000;
Weiche[false,282,7]:=$0000;	Weiche[true,282,7]:=$0000;
Weiche[false,282,8]:=$0000;	Weiche[true,282,8]:=$0000;
Weiche[false,283,1]:=$0040;	Weiche[true,283,1]:=$0020;
Weiche[false,283,2]:=$0088;	Weiche[true,283,2]:=$0010;
Weiche[false,283,3]:=$0086;	Weiche[true,283,3]:=$0000;
Weiche[false,283,4]:=$0085;	Weiche[true,283,4]:=$0000;
Weiche[false,283,5]:=$0000;	Weiche[true,283,5]:=$0000;
Weiche[false,283,6]:=$0000;	Weiche[true,283,6]:=$0000;
Weiche[false,283,7]:=$0000;	Weiche[true,283,7]:=$0000;
Weiche[false,283,8]:=$0000;	Weiche[true,283,8]:=$0000;
Weiche[false,284,1]:=$0000;	Weiche[true,284,1]:=$0009;
Weiche[false,284,2]:=$0000;	Weiche[true,284,2]:=$0005;
Weiche[false,284,3]:=$0000;	Weiche[true,284,3]:=$0022;
Weiche[false,284,4]:=$0000;	Weiche[true,284,4]:=$0092;
Weiche[false,284,5]:=$0000;	Weiche[true,284,5]:=$0252;
Weiche[false,284,6]:=$0000;	Weiche[true,284,6]:=$0152;
Weiche[false,284,7]:=$0000;	Weiche[true,284,7]:=$0000;
Weiche[false,284,8]:=$0000;	Weiche[true,284,8]:=$0000;
Weiche[false,285,1]:=$0000;	Weiche[true,285,1]:=$0000;
Weiche[false,285,2]:=$0000;	Weiche[true,285,2]:=$0000;
Weiche[false,285,3]:=$0000;	Weiche[true,285,3]:=$0000;
Weiche[false,285,4]:=$0000;	Weiche[true,285,4]:=$0000;
Weiche[false,285,5]:=$0000;	Weiche[true,285,5]:=$0000;
Weiche[false,285,6]:=$0000;	Weiche[true,285,6]:=$0000;
Weiche[false,285,7]:=$0000;	Weiche[true,285,7]:=$0000;
Weiche[false,285,8]:=$0000;	Weiche[true,285,8]:=$0000;
Weiche[false,286,1]:=$0000;	Weiche[true,286,1]:=$0000;
Weiche[false,286,2]:=$0000;	Weiche[true,286,2]:=$0000;
Weiche[false,286,3]:=$0000;	Weiche[true,286,3]:=$0000;
Weiche[false,286,4]:=$0000;	Weiche[true,286,4]:=$0000;
Weiche[false,286,5]:=$0000;	Weiche[true,286,5]:=$0000;
Weiche[false,286,6]:=$0000;	Weiche[true,286,6]:=$0000;
Weiche[false,286,7]:=$0000;	Weiche[true,286,7]:=$0000;
Weiche[false,286,8]:=$0000;	Weiche[true,286,8]:=$0000;
Weiche[false,287,1]:=$0000;	Weiche[true,287,1]:=$0000;
Weiche[false,287,2]:=$0000;	Weiche[true,287,2]:=$0000;
Weiche[false,287,3]:=$0000;	Weiche[true,287,3]:=$0000;
Weiche[false,287,4]:=$0000;	Weiche[true,287,4]:=$0000;
Weiche[false,287,5]:=$0000;	Weiche[true,287,5]:=$0000;
Weiche[false,287,6]:=$0000;	Weiche[true,287,6]:=$0000;
Weiche[false,287,7]:=$0000;	Weiche[true,287,7]:=$0000;
Weiche[false,287,8]:=$0000;	Weiche[true,287,8]:=$0000;
Weiche[false,288,1]:=$0000;	Weiche[true,288,1]:=$0000;
Weiche[false,288,2]:=$0000;	Weiche[true,288,2]:=$000;
Weiche[false,288,3]:=$0000;	Weiche[true,288,3]:=$0000;
Weiche[false,288,4]:=$0000;	Weiche[true,288,4]:=$0000;
Weiche[false,288,5]:=$0000;	Weiche[true,288,5]:=$0000;
Weiche[false,288,6]:=$0000;	Weiche[true,288,6]:=$0000;
Weiche[false,288,7]:=$0000;	Weiche[true,288,7]:=$0000;
Weiche[false,288,8]:=$0000;	Weiche[true,288,8]:=$0000;
Weiche[false,289,1]:=$0000;	Weiche[true,289,1]:=$0000;
Weiche[false,289,2]:=$0000;	Weiche[true,289,2]:=$0000;
Weiche[false,289,3]:=$0000;	Weiche[true,289,3]:=$0000;
Weiche[false,289,4]:=$0000;	Weiche[true,289,4]:=$0000;
Weiche[false,289,5]:=$0000;	Weiche[true,289,5]:=$0000;
Weiche[false,289,6]:=$0000;	Weiche[true,289,6]:=$0000;
Weiche[false,289,7]:=$0000;	Weiche[true,289,7]:=$0000;
Weiche[false,289,8]:=$0000;	Weiche[true,289,8]:=$0000;
Weiche[false,290,1]:=$0000;	Weiche[true,290,1]:=$0000;
Weiche[false,290,2]:=$0000;	Weiche[true,290,2]:=$0000;
Weiche[false,290,3]:=$0000;	Weiche[true,290,3]:=$0000;
Weiche[false,290,4]:=$0000;	Weiche[true,290,4]:=$0000;
Weiche[false,290,5]:=$0000;	Weiche[true,290,5]:=$0000;
Weiche[false,290,6]:=$0000;	Weiche[true,290,6]:=$0000;
Weiche[false,290,7]:=$0000;	Weiche[true,290,7]:=$0000;
Weiche[false,290,8]:=$0000;	Weiche[true,290,8]:=$0000;
Weiche[false,291,1]:=$0000;	Weiche[true,291,1]:=$0000;
Weiche[false,291,2]:=$0000;	Weiche[true,291,2]:=$0000;
Weiche[false,291,3]:=$0000;	Weiche[true,291,3]:=$0000;
Weiche[false,291,4]:=$0000;	Weiche[true,291,4]:=$0000;
Weiche[false,291,5]:=$0000;	Weiche[true,291,5]:=$0000;
Weiche[false,291,6]:=$0000;	Weiche[true,291,6]:=$0000;
Weiche[false,291,7]:=$0000;	Weiche[true,291,7]:=$0000;
Weiche[false,291,8]:=$0000;	Weiche[true,291,8]:=$0000;
Weiche[false,292,1]:=$0000;	Weiche[true,292,1]:=$0000;
Weiche[false,292,2]:=$0000;	Weiche[true,292,2]:=$0000;
Weiche[false,292,3]:=$0000;	Weiche[true,292,3]:=$0000;
Weiche[false,292,4]:=$0000;	Weiche[true,292,4]:=$0000;
Weiche[false,292,5]:=$0000;	Weiche[true,292,5]:=$0000;
Weiche[false,292,6]:=$0000;	Weiche[true,292,6]:=$0000;
Weiche[false,292,7]:=$0000;	Weiche[true,292,7]:=$0000;
Weiche[false,292,8]:=$0000;	Weiche[true,292,8]:=$0000;
Weiche[false,293,1]:=$0000;	Weiche[true,293,1]:=$0000;
Weiche[false,293,2]:=$0000;	Weiche[true,293,2]:=$0000;
Weiche[false,293,3]:=$0000;	Weiche[true,293,3]:=$0000;
Weiche[false,293,4]:=$0000;	Weiche[true,293,4]:=$0000;
Weiche[false,293,5]:=$0000;	Weiche[true,293,5]:=$0000;
Weiche[false,293,6]:=$0000;	Weiche[true,293,6]:=$0000;
Weiche[false,293,7]:=$0000;	Weiche[true,293,7]:=$0000;
Weiche[false,293,8]:=$0000;	Weiche[true,293,8]:=$0000;
Weiche[false,294,1]:=$0001;	Weiche[true,294,1]:=$0000;
Weiche[false,294,2]:=$0002;	Weiche[true,294,2]:=$0000;
Weiche[false,294,3]:=$0000;	Weiche[true,294,3]:=$0000;
Weiche[false,294,4]:=$0000;	Weiche[true,294,4]:=$0000;
Weiche[false,294,5]:=$0000;	Weiche[true,294,5]:=$0000;
Weiche[false,294,6]:=$0000;	Weiche[true,294,6]:=$0000;
Weiche[false,294,7]:=$0000;	Weiche[true,294,7]:=$0000;
Weiche[false,294,8]:=$0000;	Weiche[true,294,8]:=$0000;
Weiche[false,295,1]:=$0000;	Weiche[true,295,1]:=$0001;
Weiche[false,295,2]:=$0000;	Weiche[true,295,2]:=$0002;
Weiche[false,295,3]:=$0000;	Weiche[true,295,3]:=$0000;
Weiche[false,295,4]:=$0000;	Weiche[true,295,4]:=$0000;
Weiche[false,295,5]:=$0000;	Weiche[true,295,5]:=$0000;
Weiche[false,295,6]:=$0000;	Weiche[true,295,6]:=$0000;
Weiche[false,295,7]:=$0000;	Weiche[true,295,7]:=$0000;
Weiche[false,295,8]:=$0000;	Weiche[true,295,8]:=$0000;
Weiche[false,296,1]:=$0000;	Weiche[true,296,1]:=$0000;
Weiche[false,296,2]:=$0000;	Weiche[true,296,2]:=$0000;
Weiche[false,296,3]:=$0000;	Weiche[true,296,3]:=$0000;
Weiche[false,296,4]:=$0000;	Weiche[true,296,4]:=$0000;
Weiche[false,296,5]:=$0000;	Weiche[true,296,5]:=$0000;
Weiche[false,296,6]:=$0000;	Weiche[true,296,6]:=$0000;
Weiche[false,296,7]:=$0000;	Weiche[true,296,7]:=$0000;
Weiche[false,296,8]:=$0000;	Weiche[true,296,8]:=$0000;
Weiche[false,297,1]:=$0000;	Weiche[true,297,1]:=$0000;
Weiche[false,297,2]:=$0000;	Weiche[true,297,2]:=$0000;
Weiche[false,297,3]:=$0000;	Weiche[true,297,3]:=$0000;
Weiche[false,297,4]:=$0000;	Weiche[true,297,4]:=$0000;
Weiche[false,297,5]:=$0000;	Weiche[true,297,5]:=$0000;
Weiche[false,297,6]:=$0000;	Weiche[true,297,6]:=$0000;
Weiche[false,297,7]:=$0000;	Weiche[true,297,7]:=$0000;
Weiche[false,297,8]:=$0000;	Weiche[true,297,8]:=$0000;
Weiche[false,298,1]:=$0000;	Weiche[true,298,1]:=$0000;
Weiche[false,298,2]:=$0000;	Weiche[true,298,2]:=$0000;
Weiche[false,298,3]:=$0000;	Weiche[true,298,3]:=$0000;
Weiche[false,298,4]:=$0000;	Weiche[true,298,4]:=$0000;
Weiche[false,298,5]:=$0000;	Weiche[true,298,5]:=$0000;
Weiche[false,298,6]:=$0000;	Weiche[true,298,6]:=$0000;
Weiche[false,298,7]:=$0000;	Weiche[true,298,7]:=$0000;
Weiche[false,298,8]:=$0000;	Weiche[true,298,8]:=$0000;
Weiche[false,299,1]:=$0008;	Weiche[true,299,1]:=$0010;
Weiche[false,299,2]:=$0005;	Weiche[true,299,2]:=$0060;
Weiche[false,299,3]:=$0006;	Weiche[true,299,3]:=$00A0;
Weiche[false,299,4]:=$0000;	Weiche[true,299,4]:=$0000;
Weiche[false,299,5]:=$0000;	Weiche[true,299,5]:=$0000;
Weiche[false,299,6]:=$0000;	Weiche[true,299,6]:=$0000;
Weiche[false,299,7]:=$0000;	Weiche[true,299,7]:=$0000;
Weiche[false,299,8]:=$0000;	Weiche[true,299,8]:=$0000;
Weiche[false,300,1]:=$0001;	Weiche[true,300,1]:=$0004;
Weiche[false,300,2]:=$0002;	Weiche[true,300,2]:=$0008;
Weiche[false,300,3]:=$0000;	Weiche[true,300,3]:=$0000;
Weiche[false,300,4]:=$0000;	Weiche[true,300,4]:=$0000;
Weiche[false,300,5]:=$0000;	Weiche[true,300,5]:=$0000;
Weiche[false,300,6]:=$0000;	Weiche[true,300,6]:=$0000;
Weiche[false,300,7]:=$0000;	Weiche[true,300,7]:=$0000;
Weiche[false,300,8]:=$0000;	Weiche[true,300,8]:=$0000;
Weiche[false,301,1]:=$0000;	Weiche[true,301,1]:=$0001;
Weiche[false,301,2]:=$0000;	Weiche[true,301,2]:=$0002;
Weiche[false,301,3]:=$0000;	Weiche[true,301,3]:=$0000;
Weiche[false,301,4]:=$0000;	Weiche[true,301,4]:=$0000;
Weiche[false,301,5]:=$0000;	Weiche[true,301,5]:=$0000;
Weiche[false,301,6]:=$0000;	Weiche[true,301,6]:=$0000;
Weiche[false,301,7]:=$0000;	Weiche[true,301,7]:=$0000;
Weiche[false,301,8]:=$0000;	Weiche[true,301,8]:=$0000;
Weiche[false,302,1]:=$0004;	Weiche[true,302,1]:=$0011;
Weiche[false,302,2]:=$0008;	Weiche[true,302,2]:=$0021;
Weiche[false,302,3]:=$0000;	Weiche[true,302,3]:=$0002;
Weiche[false,302,4]:=$0000;	Weiche[true,302,4]:=$0000;
Weiche[false,302,5]:=$0000;	Weiche[true,302,5]:=$0000;
Weiche[false,302,6]:=$0000;	Weiche[true,302,6]:=$0000;
Weiche[false,302,7]:=$0000;	Weiche[true,302,7]:=$0000;
Weiche[false,302,8]:=$0000;	Weiche[true,302,8]:=$0000;
Weiche[false,303,1]:=$0004;	Weiche[true,303,1]:=$0011;
Weiche[false,303,2]:=$0008;	Weiche[true,303,2]:=$0021;
Weiche[false,303,3]:=$0000;	Weiche[true,303,3]:=$0002;
Weiche[false,303,4]:=$0000;	Weiche[true,303,4]:=$0000;
Weiche[false,303,5]:=$0000;	Weiche[true,303,5]:=$0000;
Weiche[false,303,6]:=$0000;	Weiche[true,303,6]:=$0000;
Weiche[false,303,7]:=$0000;	Weiche[true,303,7]:=$0000;
Weiche[false,303,8]:=$0000;	Weiche[true,303,8]:=$0000;
Weiche[false,304,1]:=$0000;	Weiche[true,304,1]:=$0000;
Weiche[false,304,2]:=$0000;	Weiche[true,304,2]:=$0000;
Weiche[false,304,3]:=$0000;	Weiche[true,304,3]:=$0000;
Weiche[false,304,4]:=$0000;	Weiche[true,304,4]:=$0000;
Weiche[false,304,5]:=$0000;	Weiche[true,304,5]:=$0000;
Weiche[false,304,6]:=$0000;	Weiche[true,304,6]:=$0000;
Weiche[false,304,7]:=$0000;	Weiche[true,304,7]:=$0000;
Weiche[false,304,8]:=$0000;	Weiche[true,304,8]:=$0000;
Weiche[false,305,1]:=$0001;	Weiche[true,305,1]:=$0000;
Weiche[false,305,2]:=$0002;	Weiche[true,305,2]:=$0000;
Weiche[false,305,3]:=$0000;	Weiche[true,305,3]:=$0000;
Weiche[false,305,4]:=$0000;	Weiche[true,305,4]:=$0000;
Weiche[false,305,5]:=$0000;	Weiche[true,305,5]:=$0000;
Weiche[false,305,6]:=$0000;	Weiche[true,305,6]:=$0000;
Weiche[false,305,7]:=$0000;	Weiche[true,305,7]:=$0000;
Weiche[false,305,8]:=$0000;	Weiche[true,305,8]:=$0000;
Weiche[false,306,1]:=$0055;	Weiche[true,306,1]:=$0100;
Weiche[false,306,2]:=$0056;	Weiche[true,306,2]:=$0200;
Weiche[false,306,3]:=$0058;	Weiche[true,306,3]:=$0000;
Weiche[false,306,4]:=$0060;	Weiche[true,306,4]:=$0000;
Weiche[false,306,5]:=$0080;	Weiche[true,306,5]:=$0000;
Weiche[false,306,6]:=$0000;	Weiche[true,306,6]:=$0000;
Weiche[false,306,7]:=$0000;	Weiche[true,306,7]:=$0000;
Weiche[false,306,8]:=$0000;	Weiche[true,306,8]:=$0000;
Weiche[false,307,1]:=$0000;	Weiche[true,307,1]:=$0000;
Weiche[false,307,2]:=$0000;	Weiche[true,307,2]:=$0000;
Weiche[false,307,3]:=$0000;	Weiche[true,307,3]:=$0000;
Weiche[false,307,4]:=$0000;	Weiche[true,307,4]:=$0000;
Weiche[false,307,5]:=$0000;	Weiche[true,307,5]:=$0000;
Weiche[false,307,6]:=$0000;	Weiche[true,307,6]:=$0000;
Weiche[false,307,7]:=$0000;	Weiche[true,307,7]:=$0000;
Weiche[false,307,8]:=$0000;	Weiche[true,307,8]:=$0000;
Weiche[false,308,1]:=$0000;	Weiche[true,308,1]:=$0000;
Weiche[false,308,2]:=$0000;	Weiche[true,308,2]:=$0000;
Weiche[false,308,3]:=$0000;	Weiche[true,308,3]:=$0000;
Weiche[false,308,4]:=$0000;	Weiche[true,308,4]:=$0000;
Weiche[false,308,5]:=$0000;	Weiche[true,308,5]:=$0000;
Weiche[false,308,6]:=$0000;	Weiche[true,308,6]:=$0000;
Weiche[false,308,7]:=$0000;	Weiche[true,308,7]:=$0000;
Weiche[false,308,8]:=$0000;	Weiche[true,308,8]:=$0000;
Weiche[false,309,1]:=$0000;	Weiche[true,309,1]:=$0000;
Weiche[false,309,2]:=$0000;	Weiche[true,309,2]:=$0000;
Weiche[false,309,3]:=$0000;	Weiche[true,309,3]:=$0000;
Weiche[false,309,4]:=$0000;	Weiche[true,309,4]:=$0000;
Weiche[false,309,5]:=$0000;	Weiche[true,309,5]:=$0000;
Weiche[false,309,6]:=$0000;	Weiche[true,309,6]:=$0000;
Weiche[false,309,7]:=$0000;	Weiche[true,309,7]:=$0000;
Weiche[false,309,8]:=$0000;	Weiche[true,309,8]:=$0000;
Weiche[false,310,1]:=$0000;	Weiche[true,310,1]:=$0000;
Weiche[false,310,2]:=$0000;	Weiche[true,310,2]:=$0000;
Weiche[false,310,3]:=$0000;	Weiche[true,310,3]:=$0000;
Weiche[false,310,4]:=$0000;	Weiche[true,310,4]:=$0000;
Weiche[false,310,5]:=$0000;	Weiche[true,310,5]:=$0000;
Weiche[false,310,6]:=$0000;	Weiche[true,310,6]:=$0000;
Weiche[false,310,7]:=$0000;	Weiche[true,310,7]:=$0000;
Weiche[false,310,8]:=$0000;	Weiche[true,310,8]:=$0000;
Weiche[false,311,1]:=$0000;	Weiche[true,311,1]:=$0000;
Weiche[false,311,2]:=$0000;	Weiche[true,311,2]:=$0000;
Weiche[false,311,3]:=$0000;	Weiche[true,311,3]:=$0000;
Weiche[false,311,4]:=$0000;	Weiche[true,311,4]:=$0000;
Weiche[false,311,5]:=$0000;	Weiche[true,311,5]:=$0000;
Weiche[false,311,6]:=$0000;	Weiche[true,311,6]:=$0000;
Weiche[false,311,7]:=$0000;	Weiche[true,311,7]:=$0000;
Weiche[false,311,8]:=$0000;	Weiche[true,311,8]:=$0000;
Weiche[false,312,1]:=$0000;	Weiche[true,312,1]:=$0000;
Weiche[false,312,2]:=$0000;	Weiche[true,312,2]:=$0000;
Weiche[false,312,3]:=$0000;	Weiche[true,312,3]:=$0000;
Weiche[false,312,4]:=$0000;	Weiche[true,312,4]:=$0000;
Weiche[false,312,5]:=$0000;	Weiche[true,312,5]:=$0000;
Weiche[false,312,6]:=$0000;	Weiche[true,312,6]:=$0000;
Weiche[false,312,7]:=$0000;	Weiche[true,312,7]:=$0000;
Weiche[false,312,8]:=$0000;	Weiche[true,312,8]:=$0000;
Weiche[false,313,1]:=$0000;	Weiche[true,313,1]:=$0000;
Weiche[false,313,2]:=$0000;	Weiche[true,313,2]:=$0000;
Weiche[false,313,3]:=$0000;	Weiche[true,313,3]:=$0000;
Weiche[false,313,4]:=$0000;	Weiche[true,313,4]:=$0000;
Weiche[false,313,5]:=$0000;	Weiche[true,313,5]:=$0000;
Weiche[false,313,6]:=$0000;	Weiche[true,313,6]:=$0000;
Weiche[false,313,7]:=$0000;	Weiche[true,313,7]:=$0000;
Weiche[false,313,8]:=$0000;	Weiche[true,313,8]:=$0000;
Weiche[false,314,1]:=$0000;	Weiche[true,314,1]:=$0000;
Weiche[false,314,2]:=$0000;	Weiche[true,314,2]:=$0000;
Weiche[false,314,3]:=$0000;	Weiche[true,314,3]:=$0000;
Weiche[false,314,4]:=$0000;	Weiche[true,314,4]:=$0000;
Weiche[false,314,5]:=$0000;	Weiche[true,314,5]:=$0000;
Weiche[false,314,6]:=$0000;	Weiche[true,314,6]:=$0000;
Weiche[false,314,7]:=$0000;	Weiche[true,314,7]:=$0000;
Weiche[false,314,8]:=$0000;	Weiche[true,314,8]:=$0000;
Weiche[false,315,1]:=$0000;	Weiche[true,315,1]:=$0000;
Weiche[false,315,2]:=$0000;	Weiche[true,315,2]:=$0000;
Weiche[false,315,3]:=$0000;	Weiche[true,315,3]:=$0000;
Weiche[false,315,4]:=$0000;	Weiche[true,315,4]:=$0000;
Weiche[false,315,5]:=$0000;	Weiche[true,315,5]:=$0000;
Weiche[false,315,6]:=$0000;	Weiche[true,315,6]:=$0000;
Weiche[false,315,7]:=$0000;	Weiche[true,315,7]:=$0000;
Weiche[false,315,8]:=$0000;	Weiche[true,315,8]:=$0000;
Weiche[false,316,1]:=$0000;	Weiche[true,316,1]:=$0000;
Weiche[false,316,2]:=$0000;	Weiche[true,316,2]:=$0000;
Weiche[false,316,3]:=$0000;	Weiche[true,316,3]:=$0000;
Weiche[false,316,4]:=$0000;	Weiche[true,316,4]:=$0000;
Weiche[false,316,5]:=$0000;	Weiche[true,316,5]:=$0000;
Weiche[false,316,6]:=$0000;	Weiche[true,316,6]:=$0000;
Weiche[false,316,7]:=$0000;	Weiche[true,316,7]:=$0000;
Weiche[false,316,8]:=$0000;	Weiche[true,316,8]:=$0000;
Weiche[false,317,1]:=$0000;	Weiche[true,317,1]:=$0000;
Weiche[false,317,2]:=$0000;	Weiche[true,317,2]:=$0000;
Weiche[false,317,3]:=$0000;	Weiche[true,317,3]:=$0000;
Weiche[false,317,4]:=$0000;	Weiche[true,317,4]:=$0000;
Weiche[false,317,5]:=$0000;	Weiche[true,317,5]:=$0000;
Weiche[false,317,6]:=$0000;	Weiche[true,317,6]:=$0000;
Weiche[false,317,7]:=$0000;	Weiche[true,317,7]:=$0000;
Weiche[false,317,8]:=$0000;	Weiche[true,317,8]:=$0000;
Weiche[false,318,1]:=$0000;	Weiche[true,318,1]:=$0000;
Weiche[false,318,2]:=$0000;	Weiche[true,318,2]:=$0000;
Weiche[false,318,3]:=$0000;	Weiche[true,318,3]:=$0000;
Weiche[false,318,4]:=$0000;	Weiche[true,318,4]:=$0000;
Weiche[false,318,5]:=$0000;	Weiche[true,318,5]:=$0000;
Weiche[false,318,6]:=$0000;	Weiche[true,318,6]:=$0000;
Weiche[false,318,7]:=$0000;	Weiche[true,318,7]:=$0000;
Weiche[false,318,8]:=$0000;	Weiche[true,318,8]:=$0000;
Weiche[false,319,1]:=$0001;	Weiche[true,319,1]:=$0000;
Weiche[false,319,2]:=$0002;	Weiche[true,319,2]:=$0000;
Weiche[false,319,3]:=$0000;	Weiche[true,319,3]:=$0000;
Weiche[false,319,4]:=$0000;	Weiche[true,319,4]:=$0000;
Weiche[false,319,5]:=$0000;	Weiche[true,319,5]:=$0000;
Weiche[false,319,6]:=$0000;	Weiche[true,319,6]:=$0000;
Weiche[false,319,7]:=$0000;	Weiche[true,319,7]:=$0000;
Weiche[false,319,8]:=$0000;	Weiche[true,319,8]:=$0000;
Weiche[false,320,1]:=$0000;	Weiche[true,320,1]:=$0000;
Weiche[false,320,2]:=$0000;	Weiche[true,320,2]:=$0000;
Weiche[false,320,3]:=$0000;	Weiche[true,320,3]:=$0000;
Weiche[false,320,4]:=$0000;	Weiche[true,320,4]:=$0000;
Weiche[false,320,5]:=$0000;	Weiche[true,320,5]:=$0000;
Weiche[false,320,6]:=$0000;	Weiche[true,320,6]:=$0000;
Weiche[false,320,7]:=$0000;	Weiche[true,320,7]:=$0000;
Weiche[false,320,8]:=$0000;	Weiche[true,320,8]:=$0000;
                                                          

end;



end.
   
   
   

Signaler

Signaler er en tabel over alle signaler og deres funktion og lamper.

Indholdet er primært til at få signaler på selve tavlen til at vise den korrekte stilling. Selv om at der er flere visninger på delve signalet, er det ikke nødvendigt at vise alle stillinger på tavlen. Set sørger teknikken for.

Der bruges samme teknik til at på signalernes LEDs til at lys som til sporskiftere: Flere WS2811 sat i serie og styret som Neopixels.


 unit Signaler;


interface

procedure initsignaler;

var
   SignalLN      :  ARRAY [1201..1364] OF WORD;
   LNSignal      :  ARRAY [false..true,1..320] OF WORD;
   Signal        :  ARRAY [false..true,1201..1364] OF WORD;
   SignalDescr   :  ARRAY [false..true,1..320,0..8] OF WORD;


implementation

procedure initsignaler;

begin
  SignalLN[1201] := 112; SignalLN[1202] := 112;		LNSignal[False,112] := 1201;LNSignal[True,112] := 1202;
  SignalLN[1203] := 195; SignalLN[1204] := 195;		LNSignal[False,195] := 1203;LNSignal[True,195] := 1204;
  SignalLN[1205] := 196; SignalLN[1206] := 196;	        LNSignal[False,196] := 1205;LNSignal[True,196] := 1206;
  SignalLN[1207] := 197; SignalLN[1208] := 197;		LNSignal[False,197] := 1207;LNSignal[True,197] := 1208;
  SignalLN[1209] := 198; SignalLN[1210] := 198;		LNSignal[False,198] := 1209;LNSignal[True,198] := 1210;
  SignalLN[1211] := 199; SignalLN[1212] := 199;		LNSignal[False,199] := 1211;LNSignal[True,199] := 1212;
  SignalLN[1213] := 200; SignalLN[1214] := 200;		LNSignal[False,200] := 1213;LNSignal[True,200] := 1214;
  SignalLN[1215] := 201; SignalLN[1216] := 201;		LNSignal[False,201] := 1215;LNSignal[True,201] := 1216;
  SignalLN[1217] := 202; SignalLN[1218] := 202;		LNSignal[False,202] := 1217;LNSignal[True,202] := 1218;
  SignalLN[1219] := 208; SignalLN[1220] := 208;		LNSignal[False,208] := 1219;LNSignal[True,208] := 1220;
  SignalLN[1221] := 212; SignalLN[1222] := 212;		LNSignal[False,212] := 1221;LNSignal[True,212] := 1222;
  SignalLN[1223] := 214; SignalLN[1224] := 214;		LNSignal[False,214] := 1223;LNSignal[True,214] := 1224;
  SignalLN[1225] := 215; SignalLN[1226] := 215;		LNSignal[False,215] := 1225;LNSignal[True,215] := 1226;
  SignalLN[1227] := 216; SignalLN[1228] := 216;		LNSignal[False,216] := 1227;LNSignal[True,216] := 1228;
  SignalLN[1229] := 217; SignalLN[1230] := 217;		LNSignal[False,217] := 1229;LNSignal[True,217] := 1230;
  SignalLN[1231] := 218; SignalLN[1232] := 218;		LNSignal[False,218] := 1231;LNSignal[True,218] := 1232;
  SignalLN[1233] := 219; SignalLN[1234] := 219;		LNSignal[False,219] := 1233;LNSignal[True,219] := 1234;
  SignalLN[1235] := 221; SignalLN[1236] := 221;		LNSignal[False,221] := 1235;LNSignal[True,221] := 1236;
  SignalLN[1237] := 222; SignalLN[1238] := 222;		LNSignal[False,222] := 1237;LNSignal[True,222] := 1238;
  SignalLN[1239] := 225; SignalLN[1240] := 225;		LNSignal[False,225] := 1239;LNSignal[True,225] := 1240;
  SignalLN[1241] := 231; SignalLN[1242] := 231;		LNSignal[False,231] := 1241;LNSignal[True,231] := 1242;
  SignalLN[1243] := 232; SignalLN[1244] := 232;		LNSignal[False,232] := 1243;LNSignal[True,232] := 1244;
  SignalLN[1245] := 233; SignalLN[1246] := 233;		LNSignal[False,233] := 1245;LNSignal[True,233] := 1246;
  SignalLN[1247] := 234; SignalLN[1248] := 234;		LNSignal[False,234] := 1247;LNSignal[True,234] := 1248;
  SignalLN[1249] := 235; SignalLN[1250] := 235;		LNSignal[False,235] := 1249;LNSignal[True,235] := 1250;
  SignalLN[1251] := 236; SignalLN[1252] := 236;		LNSignal[False,236] := 1251;LNSignal[True,236] := 1252;
  SignalLN[1253] := 237; SignalLN[1254] := 237;		LNSignal[False,237] := 1253;LNSignal[True,237] := 1254;
  SignalLN[1255] := 238; SignalLN[1256] := 238;		LNSignal[False,238] := 1255;LNSignal[True,238] := 1256;
  SignalLN[1257] := 239; SignalLN[1258] := 239;		LNSignal[False,239] := 1257;LNSignal[True,239] := 1258;
  SignalLN[1259] := 240; SignalLN[1260] := 240;		LNSignal[False,240] := 1259;LNSignal[True,240] := 1260;

  SignalLN[1271] := 241; SignalLN[1272] := 241;		LNSignal[False,241] := 1271;LNSignal[True,241] := 1272;
  SignalLN[1273] := 242; SignalLN[1274] := 242;		LNSignal[False,242] := 1273;LNSignal[True,242] := 1274;
  SignalLN[1275] := 243; SignalLN[1276] := 243;		LNSignal[False,243] := 1275;LNSignal[True,243] := 1276;
  SignalLN[1277] := 244; SignalLN[1278] := 244;		LNSignal[False,244] := 1277;LNSignal[True,244] := 1278;
  SignalLN[1279] := 245; SignalLN[1280] := 245;		LNSignal[False,245] := 1279;LNSignal[True,245] := 1280;
  SignalLN[1281] := 246; SignalLN[1282] := 246;		LNSignal[False,246] := 1281;LNSignal[True,246] := 1282;
  SignalLN[1283] := 247; SignalLN[1284] := 247;		LNSignal[False,247] := 1283;LNSignal[True,247] := 1284;
  SignalLN[1285] := 248; SignalLN[1286] := 248;		LNSignal[False,248] := 1285;LNSignal[True,248] := 1286;
  SignalLN[1287] := 249; SignalLN[1288] := 249;		LNSignal[False,249] := 1287;LNSignal[True,249] := 1288;
  SignalLN[1289] := 250; SignalLN[1290] := 250;		LNSignal[False,250] := 1289;LNSignal[True,250] := 1290;
  SignalLN[1291] := 251; SignalLN[1292] := 251;		LNSignal[False,251] := 1291;LNSignal[True,251] := 1292;
  SignalLN[1293] := 252; SignalLN[1294] := 252;		LNSignal[False,252] := 1293;LNSignal[True,252] := 1294;
  SignalLN[1295] := 253; SignalLN[1296] := 253;		LNSignal[False,253] := 1295;LNSignal[True,253] := 1296;
  SignalLN[1297] := 254; SignalLN[1298] := 254;		LNSignal[False,254] := 1297;LNSignal[True,254] := 1298;
  SignalLN[1299] := 262; SignalLN[1300] := 262;		LNSignal[False,262] := 1299;LNSignal[True,262] := 1300;
  SignalLN[1301] := 266; SignalLN[1302] := 266;		LNSignal[False,266] := 1301;LNSignal[True,266] := 1302;
  SignalLN[1303] := 267; SignalLN[1304] := 267;		LNSignal[False,267] := 1303;LNSignal[True,267] := 1304;
  SignalLN[1305] := 268; SignalLN[1306] := 268;		LNSignal[False,268] := 1305;LNSignal[True,268] := 1306;
  SignalLN[1307] := 269; SignalLN[1308] := 269;		LNSignal[False,269] := 1307;LNSignal[True,269] := 1308;
  SignalLN[1309] := 277; SignalLN[1310] := 277;		LNSignal[False,277] := 1309;LNSignal[True,277] := 1310;
  SignalLN[1311] := 278; SignalLN[1312] := 278;		LNSignal[False,278] := 1311;LNSignal[True,278] := 1312;
  SignalLN[1313] := 285; SignalLN[1314] := 285;		LNSignal[False,285] := 1313;LNSignal[True,285] := 1314;
  SignalLN[1315] := 286; SignalLN[1316] := 286;		LNSignal[False,286] := 1315;LNSignal[True,286] := 1316;
  SignalLN[1317] := 287; SignalLN[1318] := 287;		LNSignal[False,287] := 1317;LNSignal[True,287] := 1318;
  SignalLN[1319] := 289; SignalLN[1320] := 289;		LNSignal[False,289] := 1319;LNSignal[True,289] := 1320;
  SignalLN[1321] := 291; SignalLN[1322] := 291;		LNSignal[False,291] := 1321;LNSignal[True,291] := 1322;
  SignalLN[1323] := 292; SignalLN[1324] := 292;		LNSignal[False,292] := 1323;LNSignal[True,292] := 1324;
  SignalLN[1325] := 293; SignalLN[1326] := 293;		LNSignal[False,293] := 1325;LNSignal[True,293] := 1326;
  SignalLN[1327] := 294; SignalLN[1328] := 294;		LNSignal[False,294] := 1327;LNSignal[True,294] := 1328;
  SignalLN[1329] := 295; SignalLN[1330] := 295;		LNSignal[False,295] := 1329;LNSignal[True,295] := 1330;
  SignalLN[1331] := 296; SignalLN[1332] := 296;		LNSignal[False,296] := 1331;LNSignal[True,296] := 1332;
  SignalLN[1333] := 297; SignalLN[1334] := 297;		LNSignal[False,297] := 1333;LNSignal[True,297] := 1334;
  SignalLN[1335] := 298; SignalLN[1336] := 298;		LNSignal[False,298] := 1335;LNSignal[True,298] := 1336;
  SignalLN[1337] := 299; SignalLN[1338] := 299;		LNSignal[False,299] := 1337;LNSignal[True,299] := 1338;
  SignalLN[1339] := 305; SignalLN[1340] := 305;		LNSignal[False,305] := 1339;LNSignal[True,305] := 1340;
  SignalLN[1341] := 308; SignalLN[1342] := 308;		LNSignal[False,308] := 1341;LNSignal[True,308] := 1342;
  SignalLN[1343] := 309; SignalLN[1344] := 309;		LNSignal[False,309] := 1343;LNSignal[True,309] := 1344;
  SignalLN[1345] := 310; SignalLN[1346] := 310;		LNSignal[False,310] := 1345;LNSignal[True,310] := 1346;
  SignalLN[1347] := 311; SignalLN[1348] := 311;		LNSignal[False,311] := 1347;LNSignal[True,311] := 1348;
  SignalLN[1349] := 312; SignalLN[1350] := 312;		LNSignal[False,312] := 1349;LNSignal[True,312] := 1350;
  SignalLN[1351] := 313; SignalLN[1352] := 313;		LNSignal[False,313] := 1351;LNSignal[True,313] := 1352;
  SignalLN[1353] := 314; SignalLN[1354] := 314;		LNSignal[False,314] := 1353;LNSignal[True,314] := 1354;
  SignalLN[1355] := 315; SignalLN[1356] := 315;		LNSignal[False,315] := 1355;LNSignal[True,315] := 1356;
  SignalLN[1357] := 316; SignalLN[1358] := 316;		LNSignal[False,316] := 1357;LNSignal[True,316] := 1358;
  SignalLN[1359] := 318; SignalLN[1360] := 318;		LNSignal[False,318] := 1359;LNSignal[True,318] := 1360;
  SignalLN[1361] := 319; SignalLN[1362] := 319;		LNSignal[False,319] := 1361;LNSignal[True,319] := 1362;
  SignalLN[1363] := 320; SignalLN[1364] := 320;		LNSignal[False,320] := 1363;LNSignal[True,320] := 1364;

  Signal[False,1201] := 0;Signal[True, 1202] := 0;
Signal[False,1203] := 0;Signal[True, 1204] := 0;
Signal[False,1205] := 0;Signal[True, 1206] := 0;
Signal[False,1207] := 0;Signal[True, 1208] := 0;
Signal[False,1209] := 0;Signal[True, 1210] := 0;
Signal[False,1211] := 0;Signal[True, 1212] := 0;
Signal[False,1213] := 0;Signal[True, 1214] := 0;
Signal[False,1215] := 0;Signal[True, 1216] := 0;
Signal[False,1217] := 0;Signal[True, 1218] := 0;
Signal[False,1219] := 0;Signal[True, 1220] := 0;
Signal[False,1221] := 0;Signal[True, 1222] := 0;
Signal[False,1223] := 0;Signal[True, 1224] := 0;
Signal[False,1225] := 0;Signal[True, 1226] := 0;
Signal[False,1227] := 0;Signal[True, 1228] := 0;
Signal[False,1229] := 0;Signal[True, 1230] := 0;
Signal[False,1231] := 0;Signal[True, 1232] := 0;
Signal[False,1233] := 0;Signal[True, 1234] := 0;
Signal[False,1235] := 0;Signal[True, 1236] := 0;
Signal[False,1237] := 0;Signal[True, 1238] := 0;
Signal[False,1239] := 0;Signal[True, 1240] := 0;
Signal[False,1241] := 0;Signal[True, 1242] := 0;
Signal[False,1243] := 0;Signal[True, 1244] := 0;
Signal[False,1245] := 0;Signal[True, 1246] := 0;
Signal[False,1247] := 0;Signal[True, 1248] := 0;
Signal[False,1249] := 0;Signal[True, 1250] := 0;
Signal[False,1251] := 0;Signal[True, 1252] := 0;
Signal[False,1253] := 0;Signal[True, 1254] := 0;
Signal[False,1255] := 0;Signal[True, 1256] := 0;
Signal[False,1257] := 0;Signal[True, 1258] := 0;
Signal[False,1259] := 0;Signal[True, 1260] := 0;

Signal[False,1271] := 0;Signal[True, 1272] := 0;
Signal[False,1273] := 0;Signal[True, 1274] := 0;
Signal[False,1275] := 0;Signal[True, 1276] := 0;
Signal[False,1277] := 0;Signal[True, 1278] := 0;
Signal[False,1279] := 0;Signal[True, 1280] := 0;
Signal[False,1281] := 0;Signal[True, 1282] := 0;
Signal[False,1283] := 0;Signal[True, 1284] := 0;
Signal[False,1285] := 0;Signal[True, 1286] := 0;
Signal[False,1287] := 0;Signal[True, 1288] := 0;
Signal[False,1289] := 0;Signal[True, 1290] := 0;
Signal[False,1291] := 0;Signal[True, 1292] := 0;
Signal[False,1293] := 0;Signal[True, 1294] := 0;
Signal[False,1295] := 0;Signal[True, 1296] := 0;
Signal[False,1297] := 0;Signal[True, 1298] := 0;
Signal[False,1299] := 0;Signal[True, 1300] := 0;
Signal[False,1301] := 0;Signal[True, 1302] := 0;
Signal[False,1303] := 0;Signal[True, 1304] := 0;
Signal[False,1305] := 0;Signal[True, 1306] := 0;
Signal[False,1307] := 0;Signal[True, 1308] := 0;
Signal[False,1309] := 0;Signal[True, 1310] := 0;
Signal[False,1311] := 0;Signal[True, 1312] := 0;
Signal[False,1313] := 0;Signal[True, 1314] := 0;
Signal[False,1315] := 0;Signal[True, 1316] := 0;
Signal[False,1317] := 0;Signal[True, 1318] := 0;
Signal[False,1319] := 0;Signal[True, 1320] := 0;
Signal[False,1321] := 0;Signal[True, 1322] := 0;
Signal[False,1323] := 0;Signal[True, 1324] := 0;
Signal[False,1325] := 0;Signal[True, 1326] := 0;
Signal[False,1327] := 0;Signal[True, 1328] := 0;
Signal[False,1329] := 0;Signal[True, 1330] := 0;
Signal[False,1331] := 0;Signal[True, 1332] := 0;
Signal[False,1333] := 0;Signal[True, 1334] := 0;
Signal[False,1335] := 0;Signal[True, 1336] := 0;
Signal[False,1337] := 0;Signal[True, 1338] := 0;
Signal[False,1339] := 0;Signal[True, 1340] := 0;
Signal[False,1341] := 0;Signal[True, 1342] := 0;
Signal[False,1343] := 0;Signal[True, 1344] := 0;
Signal[False,1345] := 0;Signal[True, 1346] := 0;
Signal[False,1347] := 0;Signal[True, 1348] := 0;
Signal[False,1349] := 0;Signal[True, 1350] := 0;
Signal[False,1351] := 0;Signal[True, 1352] := 0;
Signal[False,1353] := 0;Signal[True, 1354] := 0;
Signal[False,1355] := 0;Signal[True, 1356] := 0;
Signal[False,1357] := 0;Signal[True, 1358] := 0;
Signal[False,1359] := 0;Signal[True, 1360] := 0;
Signal[False,1361] := 0;Signal[True, 1362] := 0;
Signal[False,1363] := 0;Signal[True, 1364] := 0;

SignalDescr[False,112, 0] :=0;SignalDescr[True,112, 0] :=2;
SignalDescr[False,195, 0] :=0;SignalDescr[True,195, 0] :=4;
SignalDescr[False,196, 0] :=0;SignalDescr[True,196, 0] :=4;
SignalDescr[False,197, 0] :=0;SignalDescr[True,197, 0] :=4;
SignalDescr[False,198, 0] :=0;SignalDescr[True,198, 0] :=3;
SignalDescr[False,199, 0] :=0;SignalDescr[True,199, 0] :=3;
SignalDescr[False,200, 0] :=0;SignalDescr[True,200, 0] :=2;
SignalDescr[False,201, 0] :=0;SignalDescr[True,201, 0] :=4;
SignalDescr[False,202, 0] :=0;SignalDescr[True,202, 0] :=4;
SignalDescr[False,208, 0] :=0;SignalDescr[True,208, 0] :=4;
SignalDescr[False,212, 0] :=0;SignalDescr[True,212, 0] :=4;
SignalDescr[False,214, 0] :=4;SignalDescr[True,214, 0] :=4;
SignalDescr[False,215, 0] :=4;SignalDescr[True,215, 0] :=4;
SignalDescr[False,216, 0] :=4;SignalDescr[True,216, 0] :=4;
SignalDescr[False,217, 0] :=4;SignalDescr[True,217, 0] :=0;
SignalDescr[False,218, 0] :=4;SignalDescr[True,218, 0] :=4;
SignalDescr[False,219, 0] :=0;SignalDescr[True,219, 0] :=4;
SignalDescr[False,221, 0] :=4;SignalDescr[True,221, 0] :=4;
SignalDescr[False,222, 0] :=4;SignalDescr[True,222, 0] :=4;
SignalDescr[False,225, 0] :=4;SignalDescr[True,225, 0] :=4;
SignalDescr[False,231, 0] :=3;SignalDescr[True,231, 0] :=0;
SignalDescr[False,232, 0] :=3;SignalDescr[True,232, 0] :=0;
SignalDescr[False,233, 0] :=3;SignalDescr[True,233, 0] :=0;
SignalDescr[False,234, 0] :=3;SignalDescr[True,234, 0] :=0;
SignalDescr[False,235, 0] :=3;SignalDescr[True,235, 0] :=0;
SignalDescr[False,236, 0] :=3;SignalDescr[True,236, 0] :=0;
SignalDescr[False,237, 0] :=3;SignalDescr[True,237, 0] :=0;
SignalDescr[False,238, 0] :=3;SignalDescr[True,238, 0] :=0;
SignalDescr[False,239, 0] :=3;SignalDescr[True,239, 0] :=0;
SignalDescr[False,240, 0] :=3;SignalDescr[True,240, 0] :=0;

SignalDescr[False,241, 0] :=0;SignalDescr[True,241, 0] :=0;
SignalDescr[False,242, 0] :=0;SignalDescr[True,242, 0] :=0;
SignalDescr[False,243, 0] :=0;SignalDescr[True,243, 0] :=0;
SignalDescr[False,244, 0] :=0;SignalDescr[True,244, 0] :=0;
SignalDescr[False,245, 0] :=0;SignalDescr[True,245, 0] :=0;
SignalDescr[False,246, 0] :=0;SignalDescr[True,246, 0] :=0;
SignalDescr[False,247, 0] :=0;SignalDescr[True,247, 0] :=0;
SignalDescr[False,248, 0] :=0;SignalDescr[True,248, 0] :=0;
SignalDescr[False,249, 0] :=0;SignalDescr[True,249, 0] :=0;
SignalDescr[False,250, 0] :=0;SignalDescr[True,250, 0] :=0;
SignalDescr[False,251, 0] :=0;SignalDescr[True,251, 0] :=0;
SignalDescr[False,252, 0] :=0;SignalDescr[True,252, 0] :=0;
SignalDescr[False,253, 0] :=0;SignalDescr[True,253, 0] :=0;
SignalDescr[False,254, 0] :=0;SignalDescr[True,254, 0] :=0;
SignalDescr[False,262, 0] :=0;SignalDescr[True,262, 0] :=0;
SignalDescr[False,266, 0] :=0;SignalDescr[True,266, 0] :=0;
SignalDescr[False,267, 0] :=0;SignalDescr[True,267, 0] :=0;
SignalDescr[False,268, 0] :=0;SignalDescr[True,268, 0] :=0;
SignalDescr[False,269, 0] :=0;SignalDescr[True,269, 0] :=0;
SignalDescr[False,277, 0] :=0;SignalDescr[True,277, 0] :=0;
SignalDescr[False,278, 0] :=0;SignalDescr[True,278, 0] :=0;
SignalDescr[False,285, 0] :=0;SignalDescr[True,285, 0] :=0;
SignalDescr[False,286, 0] :=0;SignalDescr[True,286, 0] :=0;
SignalDescr[False,287, 0] :=0;SignalDescr[True,287, 0] :=0;
SignalDescr[False,289, 0] :=0;SignalDescr[True,289, 0] :=0;
SignalDescr[False,291, 0] :=0;SignalDescr[True,291, 0] :=0;
SignalDescr[False,292, 0] :=0;SignalDescr[True,292, 0] :=0;
SignalDescr[False,293, 0] :=0;SignalDescr[True,293, 0] :=0;
SignalDescr[False,294, 0] :=0;SignalDescr[True,294, 0] :=0;
SignalDescr[False,295, 0] :=0;SignalDescr[True,295, 0] :=0;
SignalDescr[False,296, 0] :=0;SignalDescr[True,296, 0] :=0;
SignalDescr[False,297, 0] :=0;SignalDescr[True,297, 0] :=0;
SignalDescr[False,298, 0] :=0;SignalDescr[True,298, 0] :=0;
SignalDescr[False,299, 0] :=0;SignalDescr[True,299, 0] :=0;
SignalDescr[False,305, 0] :=0;SignalDescr[True,305, 0] :=0;
SignalDescr[False,308, 0] :=0;SignalDescr[True,308, 0] :=0;
SignalDescr[False,309, 0] :=0;SignalDescr[True,309, 0] :=0;
SignalDescr[False,310, 0] :=0;SignalDescr[True,310, 0] :=0;
SignalDescr[False,311, 0] :=0;SignalDescr[True,311, 0] :=0;
SignalDescr[False,312, 0] :=0;SignalDescr[True,312, 0] :=0;
SignalDescr[False,313, 0] :=0;SignalDescr[True,313, 0] :=0;
SignalDescr[False,314, 0] :=0;SignalDescr[True,314, 0] :=0;
SignalDescr[False,315, 0] :=0;SignalDescr[True,315, 0] :=0;
SignalDescr[False,316, 0] :=0;SignalDescr[True,316, 0] :=0;
SignalDescr[False,318, 0] :=0;SignalDescr[True,318, 0] :=0;
SignalDescr[False,319, 0] :=0;SignalDescr[True,319, 0] :=0;
SignalDescr[False,320, 0] :=0;SignalDescr[True,320, 0] :=0;

SignalDescr[False,112, 1] :=0;SignalDescr[False,112, 2] :=0;
SignalDescr[False,195, 1] :=0;SignalDescr[False,195, 2] :=0;
SignalDescr[False,196, 1] :=0;SignalDescr[False,196, 2] :=0;
SignalDescr[False,197, 1] :=0;SignalDescr[False,197, 2] :=0;
SignalDescr[False,198, 1] :=0;SignalDescr[False,198, 2] :=0;
SignalDescr[False,199, 1] :=0;SignalDescr[False,199, 2] :=0;
SignalDescr[False,200, 1] :=0;SignalDescr[False,200, 2] :=0;
SignalDescr[False,201, 1] :=0;SignalDescr[False,201, 2] :=0;
SignalDescr[False,202, 1] :=0;SignalDescr[False,202, 2] :=0;
SignalDescr[False,208, 1] :=0;SignalDescr[False,208, 2] :=0;
SignalDescr[False,212, 1] :=0;SignalDescr[False,212, 2] :=0;
SignalDescr[False,214, 1] :=8;SignalDescr[False,214, 2] :=3;
SignalDescr[False,215, 1] :=10;SignalDescr[False,215, 2] :=1;
SignalDescr[False,216, 1] :=11;SignalDescr[False,216, 2] :=2;
SignalDescr[False,217, 1] :=12;SignalDescr[False,217, 2] :=3;
SignalDescr[False,218, 1] :=13;SignalDescr[False,218, 2] :=2;
SignalDescr[False,219, 1] :=0;SignalDescr[False,219, 2] :=0;
SignalDescr[False,221, 1] :=15;SignalDescr[False,221, 2] :=2;
SignalDescr[False,222, 1] :=16;SignalDescr[False,222, 2] :=3;
SignalDescr[False,225, 1] :=18;SignalDescr[False,225, 2] :=1;
SignalDescr[False,231, 1] :=19;SignalDescr[False,231, 2] :=2;
SignalDescr[False,232, 1] :=20;SignalDescr[False,232, 2] :=3;
SignalDescr[False,233, 1] :=22;SignalDescr[False,233, 2] :=1;
SignalDescr[False,234, 1] :=23;SignalDescr[False,234, 2] :=2;
SignalDescr[False,235, 1] :=24;SignalDescr[False,235, 2] :=3;
SignalDescr[False,236, 1] :=26;SignalDescr[False,236, 2] :=1;
SignalDescr[False,237, 1] :=27;SignalDescr[False,237, 2] :=2;
SignalDescr[False,238, 1] :=28;SignalDescr[False,238, 2] :=3;
SignalDescr[False,239, 1] :=30;SignalDescr[False,239, 2] :=1;
SignalDescr[False,240, 1] :=31;SignalDescr[False,240, 2] :=2;

SignalDescr[False,241, 1] :=0;SignalDescr[False,241, 2] :=0;
SignalDescr[False,242, 1] :=0;SignalDescr[False,242, 2] :=0;
SignalDescr[False,243, 1] :=0;SignalDescr[False,243, 2] :=0;
SignalDescr[False,244, 1] :=0;SignalDescr[False,244, 2] :=0;
SignalDescr[False,245, 1] :=0;SignalDescr[False,245, 2] :=0;
SignalDescr[False,246, 1] :=0;SignalDescr[False,246, 2] :=0;
SignalDescr[False,247, 1] :=0;SignalDescr[False,247, 2] :=0;
SignalDescr[False,248, 1] :=0;SignalDescr[False,248, 2] :=0;
SignalDescr[False,249, 1] :=0;SignalDescr[False,249, 2] :=0;
SignalDescr[False,250, 1] :=0;SignalDescr[False,250, 2] :=0;
SignalDescr[False,251, 1] :=0;SignalDescr[False,251, 2] :=0;
SignalDescr[False,252, 1] :=0;SignalDescr[False,252, 2] :=0;
SignalDescr[False,253, 1] :=0;SignalDescr[False,253, 2] :=0;
SignalDescr[False,254, 1] :=16;SignalDescr[False,254, 2] :=3;
SignalDescr[False,262, 1] :=17;SignalDescr[False,262, 2] :=2;
SignalDescr[False,266, 1] :=18;SignalDescr[False,266, 2] :=1;
SignalDescr[False,267, 1] :=19;SignalDescr[False,267, 2] :=2;
SignalDescr[False,268, 1] :=20;SignalDescr[False,268, 2] :=3;
SignalDescr[False,269, 1] :=21;SignalDescr[False,269, 2] :=2;
SignalDescr[False,277, 1] :=22;SignalDescr[False,277, 2] :=1;
SignalDescr[False,278, 1] :=22;SignalDescr[False,278, 2] :=3;
SignalDescr[False,285, 1] :=0;SignalDescr[False,285, 2] :=0;
SignalDescr[False,286, 1] :=0;SignalDescr[False,286, 2] :=0;
SignalDescr[False,287, 1] :=24;SignalDescr[False,287, 2] :=3;
SignalDescr[False,289, 1] :=26;SignalDescr[False,289, 2] :=1;
SignalDescr[False,291, 1] :=27;SignalDescr[False,291, 2] :=2;
SignalDescr[False,292, 1] :=28;SignalDescr[False,292, 2] :=1;
SignalDescr[False,293, 1] :=29;SignalDescr[False,293, 2] :=2;
SignalDescr[False,294, 1] :=31;SignalDescr[False,294, 2] :=2;
SignalDescr[False,295, 1] :=32;SignalDescr[False,295, 2] :=3;
SignalDescr[False,296, 1] :=34;SignalDescr[False,296, 2] :=3;
SignalDescr[False,297, 1] :=36;SignalDescr[False,297, 2] :=1;
SignalDescr[False,298, 1] :=37;SignalDescr[False,298, 2] :=2;
SignalDescr[False,299, 1] :=38;SignalDescr[False,299, 2] :=3;
SignalDescr[False,305, 1] :=40;SignalDescr[False,305, 2] :=1;
SignalDescr[False,308, 1] :=41;SignalDescr[False,308, 2] :=2;
SignalDescr[False,309, 1] :=42;SignalDescr[False,309, 2] :=3;
SignalDescr[False,310, 1] :=43;SignalDescr[False,310, 2] :=2;
SignalDescr[False,311, 1] :=45;SignalDescr[False,311, 2] :=3;
SignalDescr[False,312, 1] :=46;SignalDescr[False,312, 2] :=2;
SignalDescr[False,313, 1] :=47;SignalDescr[False,313, 2] :=1;
SignalDescr[False,314, 1] :=47;SignalDescr[False,314, 2] :=3;
SignalDescr[False,315, 1] :=48;SignalDescr[False,315, 2] :=2;
SignalDescr[False,316, 1] :=49;SignalDescr[False,316, 2] :=1;
SignalDescr[False,318, 1] :=49;SignalDescr[False,318, 2] :=3;
SignalDescr[False,319, 1] :=50;SignalDescr[False,319, 2] :=2;
SignalDescr[False,320, 1] :=51;SignalDescr[False,320, 2] :=1;

SignalDescr[True,112, 1] :=0;SignalDescr[True,112, 2] :=1;
SignalDescr[True,195, 1] :=0;SignalDescr[True,195, 2] :=3;
SignalDescr[True,196, 1] :=1;SignalDescr[True,196, 2] :=2;
SignalDescr[True,197, 1] :=2;SignalDescr[True,197, 2] :=1;
SignalDescr[True,198, 1] :=2;SignalDescr[True,198, 2] :=3;
SignalDescr[True,199, 1] :=4;SignalDescr[True,199, 2] :=1;
SignalDescr[True,200, 1] :=5;SignalDescr[True,200, 2] :=2;
SignalDescr[True,201, 1] :=6;SignalDescr[True,201, 2] :=1;
SignalDescr[True,202, 1] :=6;SignalDescr[True,202, 2] :=3;
SignalDescr[True,208, 1] :=7;SignalDescr[True,208, 2] :=2;
SignalDescr[True,212, 1] :=8;SignalDescr[True,212, 2] :=1;
SignalDescr[True,214, 1] :=9;SignalDescr[True,214, 2] :=2;
SignalDescr[True,215, 1] :=10;SignalDescr[True,215, 2] :=3;
SignalDescr[True,216, 1] :=12;SignalDescr[True,216, 2] :=1;
SignalDescr[True,217, 1] :=0;SignalDescr[True,217, 2] :=0;
SignalDescr[True,218, 1] :=14;SignalDescr[True,218, 2] :=1;
SignalDescr[True,219, 1] :=14;SignalDescr[True,219, 2] :=3;
SignalDescr[True,221, 1] :=16;SignalDescr[True,221, 2] :=1;
SignalDescr[True,222, 1] :=17;SignalDescr[True,222, 2] :=2;
SignalDescr[True,225, 1] :=18;SignalDescr[True,225, 2] :=3;
SignalDescr[True,231, 1] :=0;SignalDescr[True,231, 2] :=0;
SignalDescr[True,232, 1] :=0;SignalDescr[True,232, 2] :=0;
SignalDescr[True,233, 1] :=0;SignalDescr[True,233, 2] :=0;
SignalDescr[True,234, 1] :=0;SignalDescr[True,234, 2] :=0;
SignalDescr[True,235, 1] :=0;SignalDescr[True,235, 2] :=0;
SignalDescr[True,236, 1] :=0;SignalDescr[True,236, 2] :=0;
SignalDescr[True,237, 1] :=0;SignalDescr[True,237, 2] :=0;
SignalDescr[True,238, 1] :=0;SignalDescr[True,238, 2] :=0;
SignalDescr[True,239, 1] :=0;SignalDescr[True,239, 2] :=0;
SignalDescr[True,240, 1] :=0;SignalDescr[True,240, 2] :=0;

SignalDescr[True,241, 1] :=0;SignalDescr[True,241, 2] :=1;
SignalDescr[True,242, 1] :=1;SignalDescr[True,242, 2] :=2;
SignalDescr[True,243, 1] :=2;SignalDescr[True,243, 2] :=3;
SignalDescr[True,244, 1] :=4;SignalDescr[True,244, 2] :=1;
SignalDescr[True,245, 1] :=5;SignalDescr[True,245, 2] :=2;
SignalDescr[True,246, 1] :=6;SignalDescr[True,246, 2] :=3;
SignalDescr[True,247, 1] :=8;SignalDescr[True,247, 2] :=1;
SignalDescr[True,248, 1] :=9;SignalDescr[True,248, 2] :=2;
SignalDescr[True,249, 1] :=10;SignalDescr[True,249, 2] :=3;
SignalDescr[True,250, 1] :=12;SignalDescr[True,250, 2] :=1;
SignalDescr[True,251, 1] :=13;SignalDescr[True,251, 2] :=2;
SignalDescr[True,252, 1] :=14;SignalDescr[True,252, 2] :=3;
SignalDescr[True,253, 1] :=16;SignalDescr[True,253, 2] :=1;
SignalDescr[True,254, 1] :=0;SignalDescr[True,254, 2] :=0;
SignalDescr[True,262, 1] :=0;SignalDescr[True,262, 2] :=0;
SignalDescr[True,266, 1] :=18;SignalDescr[True,266, 2] :=3;
SignalDescr[True,267, 1] :=20;SignalDescr[True,267, 2] :=1;
SignalDescr[True,268, 1] :=0;SignalDescr[True,268, 2] :=0;
SignalDescr[True,269, 1] :=0;SignalDescr[True,269, 2] :=0;
SignalDescr[True,277, 1] :=0;SignalDescr[True,277, 2] :=0;
SignalDescr[True,278, 1] :=0;SignalDescr[True,278, 2] :=0;
SignalDescr[True,285, 1] :=23;SignalDescr[True,285, 2] :=2;
SignalDescr[True,286, 1] :=24;SignalDescr[True,286, 2] :=1;
SignalDescr[True,287, 1] :=0;SignalDescr[True,287, 2] :=0;
SignalDescr[True,289, 1] :=0;SignalDescr[True,289, 2] :=0;
SignalDescr[True,291, 1] :=0;SignalDescr[True,291, 2] :=0;
SignalDescr[True,292, 1] :=28;SignalDescr[True,292, 2] :=3;
SignalDescr[True,293, 1] :=30;SignalDescr[True,293, 2] :=1;
SignalDescr[True,294, 1] :=32;SignalDescr[True,294, 2] :=1;
SignalDescr[True,295, 1] :=33;SignalDescr[True,295, 2] :=2;
SignalDescr[True,296, 1] :=35;SignalDescr[True,296, 2] :=2;
SignalDescr[True,297, 1] :=36;SignalDescr[True,297, 2] :=3;
SignalDescr[True,298, 1] :=38;SignalDescr[True,298, 2] :=1;
SignalDescr[True,299, 1] :=39;SignalDescr[True,299, 2] :=2;
SignalDescr[True,305, 1] :=40;SignalDescr[True,305, 2] :=3;
SignalDescr[True,308, 1] :=42;SignalDescr[True,308, 2] :=1;
SignalDescr[True,309, 1] :=0;SignalDescr[True,309, 2] :=0;
SignalDescr[True,310, 1] :=0;SignalDescr[True,310, 2] :=0;
SignalDescr[True,311, 1] :=0;SignalDescr[True,311, 2] :=0;
SignalDescr[True,312, 1] :=0;SignalDescr[True,312, 2] :=0;
SignalDescr[True,313, 1] :=0;SignalDescr[True,313, 2] :=0;
SignalDescr[True,314, 1] :=0;SignalDescr[True,314, 2] :=0;
SignalDescr[True,315, 1] :=0;SignalDescr[True,315, 2] :=0;
SignalDescr[True,316, 1] :=0;SignalDescr[True,316, 2] :=0;
SignalDescr[True,318, 1] :=0;SignalDescr[True,318, 2] :=0;
SignalDescr[True,319, 1] :=0;SignalDescr[True,319, 2] :=0;
SignalDescr[True,320, 1] :=0;SignalDescr[True,320, 2] :=0;


   end;



end.

 
 
   
   
   

Knapper

Knapper er en tabel over det, som knapperne skal bruges til. De er delt ind i nummererede grupper, alt efter hvilket brug de er til. Da der er to knapper per blok for de røde og gule knapper, bruges knappens nummer til at bestemme kørselsretningen.

- De røde knapper læses ind i en nummergruppe, der går fra 1 til 64. Knappens indhold er det tilhørende spor.
- De gule knapper læses ind i en nummergruppe, der går fra 65 til 224. Knappens indhold er det tilhørende spor.
- Der er også knapper, der er placeret midt på en blok. Disse går fra 225 til 256. Knappens indhold er det tilhørende spor.
De sorte knapper læses ind i en nummergruppe, der går fra 257 til 400. Knappens indhold er det tilhørende sporskiftes Loconet-nummer.

Til sporskifterne er der flere tabeller, der er med til at fortælle, hvilke blokke de hører til.


 unit KNAPPER;


interface

procedure initKnapperP;    (* Røde knapper, plankørsel     *)
procedure initKnapperR;    (* gule/blå knapper, rangering  *)
procedure initKnapperSPSK; (* Sorte knapper, sporskifter   *)
procedure Aussentaster;


VAR

  Knap : ARRAY [1..416] OF WORD;   (* Spor tilh›rende knap                           *)
                                       (* Arraynummeret er Loconet adressen p† knappen. *)
                                       (* Tilh›rende retning er implicit i             *)
                                       (* nummeret p† knappen:
                                       *)
                                       (* Ulige er mod venstre  <                    *)
                                       (* Lige  er mod h›jre    >                   *)
  Midterknap  :  ARRAY [false..true, 193..212] OF BYTE;        {[retning, blok]}


implementation


procedure initKnapperP;

  begin

Knap[1]:=289;	Knap[2]:=289;
Knap[3]:=112;	Knap[4]:=112;
Knap[5]:=119;	Knap[6]:=119;
Knap[7]:=199;	Knap[8]:=199;
Knap[9]:=200;	Knap[10]:=200;
Knap[11]:=231;	Knap[12]:=241;
Knap[13]:=232;	Knap[14]:=242;
Knap[15]:=233;	Knap[16]:=243;

Knap[17]:=234;	Knap[18]:=244;
Knap[19]:=235;	Knap[20]:=245;
Knap[21]:=236;	Knap[22]:=246;
Knap[23]:=237;	Knap[24]:=247;
Knap[25]:=238;	Knap[26]:=248;
Knap[27]:=239;	Knap[28]:=249;
Knap[29]:=240;	Knap[30]:=250;
Knap[31]:=251;	Knap[32]:=251;

Knap[33]:=252;	Knap[34]:=252;
Knap[35]:=253;	Knap[36]:=253;
Knap[37]:=287;	Knap[38]:=287;
Knap[39]:=293;	Knap[40]:=293;
Knap[41]:=295;	Knap[42]:=295;
Knap[43]:=306;	Knap[44]:=306;
Knap[45]:=310;	Knap[46]:=310;
Knap[47]:=320;	Knap[48]:=320;
                              

Midterknap[false,193]:=231;	Midterknap[true,194]:=241;	
Midterknap[false,195]:=232;	Midterknap[true,196]:=242;	
Midterknap[false,197]:=233;	Midterknap[true,198]:=243;	
Midterknap[false,199]:=234;	Midterknap[true,200]:=244;	
Midterknap[false,201]:=235;	Midterknap[true,202]:=245;	
Midterknap[false,203]:=236;	Midterknap[true,204]:=246;	
Midterknap[false,205]:=237;	Midterknap[true,206]:=247;	
Midterknap[false,207]:=238;	Midterknap[true,208]:=248;	
Midterknap[false,209]:=239;	Midterknap[true,210]:=249;	
Midterknap[false,211]:=240;	Midterknap[true,212]:=240;	

end;


procedure initKnapperR;

  begin

  Knap[65]:=198;	Knap[66]:=198;
  Knap[67]:=195;	Knap[68]:=195;
  Knap[69]:=196;	Knap[70]:=196;
  Knap[71]:=197;	Knap[72]:=197;
  Knap[73]:=199;	Knap[74]:=199;
  Knap[75]:=201;	Knap[76]:=201;
  Knap[77]:=202;	Knap[78]:=202;
  Knap[79]:=208;	Knap[80]:=208;
  Knap[81]:=212;	Knap[82]:=212;
  Knap[83]:=214;	Knap[84]:=214;
  Knap[85]:=215;	Knap[86]:=215;
  Knap[87]:=216;	Knap[88]:=216;
  Knap[89]:=217;	Knap[90]:=217;
  Knap[91]:=218;	Knap[92]:=218;
  Knap[93]:=219;	Knap[94]:=219;
  Knap[95]:=221;	Knap[96]:=221;
  Knap[97]:=222;	Knap[98]:=222;
  Knap[99]:=225;	Knap[100]:=225;
  Knap[101]:=231;	Knap[102]:=241;
  Knap[103]:=232;	Knap[104]:=242;
  Knap[105]:=233;	Knap[106]:=243;
  Knap[107]:=234;	Knap[108]:=244;
  Knap[109]:=235;	Knap[110]:=245;
  Knap[111]:=236;	Knap[112]:=246;
  Knap[113]:=237;	Knap[114]:=247;
  Knap[115]:=238;	Knap[116]:=248;
  Knap[117]:=239;	Knap[118]:=249;
  Knap[119]:=240;	Knap[120]:=250;
  Knap[121]:=251;	Knap[122]:=251;
  Knap[123]:=252;	Knap[124]:=252;
  Knap[125]:=253;	Knap[126]:=253;
  Knap[127]:=254;	Knap[128]:=254;
  Knap[129]:=262;	Knap[130]:=262;
  Knap[131]:=266;	Knap[132]:=266;
  Knap[133]:=267;	Knap[134]:=267;
  Knap[135]:=268;	Knap[136]:=268;
  Knap[137]:=269;	Knap[138]:=269;
  Knap[139]:=277;	Knap[140]:=277;
  Knap[141]:=278;	Knap[142]:=278;
  Knap[143]:=285;	Knap[144]:=285;
  Knap[145]:=286;	Knap[146]:=286;
  Knap[147]:=291;	Knap[148]:=291;
  Knap[149]:=292;	Knap[150]:=292;
  Knap[151]:=293;	Knap[152]:=293;
  Knap[153]:=294;	Knap[154]:=294;
  Knap[155]:=295;	Knap[156]:=295;
  Knap[157]:=296;	Knap[158]:=296;
  Knap[159]:=297;	Knap[160]:=297;
  Knap[161]:=298;	Knap[162]:=298;
  Knap[163]:=299;	Knap[164]:=299;
  Knap[165]:=305;	Knap[166]:=305;
  Knap[167]:=308;	Knap[168]:=308;
  Knap[169]:=309;	Knap[170]:=309;
  Knap[171]:=311;	Knap[172]:=311;
  Knap[173]:=312;	Knap[174]:=312;
  Knap[175]:=313;	Knap[176]:=313;
  Knap[177]:=314;	Knap[178]:=314;
  Knap[179]:=315;	Knap[180]:=315;
  Knap[181]:=316;	Knap[182]:=316;
  Knap[183]:=318;	Knap[184]:=318;
  Knap[185]:=319;	Knap[186]:=319;
  Knap[187]:=0;	Knap[188]:=0;
  Knap[189]:=0;	Knap[190]:=0;
  Knap[191]:=0;	Knap[192]:=0;
  Knap[193]:=0;	Knap[194]:=0;
  Knap[195]:=0;	Knap[196]:=0;
  Knap[197]:=0;	Knap[198]:=0;
  Knap[199]:=0;	Knap[200]:=0;
  Knap[201]:=0;	Knap[202]:=0;
  Knap[203]:=0;	Knap[204]:=0;
  Knap[205]:=0;	Knap[206]:=0;       


end;

procedure initKnapperSPSK;

  begin

  Knap[257]:=1051;
  Knap[258]:=1052;
  Knap[259]:=1053;
  Knap[260]:=1054;
  Knap[261]:=1055;
  Knap[262]:=1056;
  Knap[263]:=1057;
  Knap[264]:=1058;
  Knap[265]:=1059;
  Knap[266]:=1060;
  Knap[267]:=1061;
  Knap[268]:=1062;
  Knap[269]:=1063;
  Knap[270]:=1064;
  Knap[271]:=1065;
  Knap[272]:=1066;

  Knap[273]:=1067;
  Knap[274]:=1068;
  Knap[275]:=1069;
  Knap[276]:=1070;
  Knap[277]:=1071;
  Knap[278]:=1072;
  Knap[279]:=1073;
  Knap[280]:=1074;
  Knap[281]:=1075;
  Knap[282]:=1076;
  Knap[283]:=1077;
  Knap[284]:=1078;
  Knap[285]:=1079;
  Knap[286]:=1080;
  Knap[287]:=1081;
  Knap[288]:=1082;

  Knap[289]:=1083;
  Knap[290]:=1084;
  Knap[291]:=1085;
  Knap[292]:=1086;
  Knap[293]:=1087;
  Knap[294]:=1088;
  Knap[295]:=1089;
  Knap[296]:=1090;
  Knap[297]:=1091;
  Knap[298]:=1092;
  Knap[299]:=1093;
  Knap[300]:=0;
  Knap[301]:=0;
  Knap[302]:=0;
  Knap[303]:=0;
  Knap[304]:=0;

  Knap[305]:=0;        //1
  Knap[306]:=0;
  Knap[307]:=1101;
  Knap[308]:=1102;
  Knap[309]:=1103;
  Knap[310]:=1104;
  Knap[311]:=1105;
  Knap[312]:=1106;
  Knap[313]:=1107;
  Knap[314]:=1108;
  Knap[315]:=1109;
  Knap[316]:=1110;
  Knap[317]:=1111;
  Knap[318]:=1112;
  Knap[319]:=1113;
  Knap[320]:=1114;

  Knap[321]:=1115;      //2
  Knap[322]:=1116;
  Knap[323]:=1117;
  Knap[324]:=1118;
  Knap[325]:=1119;
  Knap[326]:=1120;
  Knap[327]:=1121;
  Knap[328]:=1122;
  Knap[329]:=1123;
  Knap[330]:=1124;
  Knap[331]:=1125;
  Knap[332]:=1126;
  Knap[333]:=1127;
  Knap[334]:=1128;
  Knap[335]:=1129;
  Knap[336]:=1130;

  Knap[337]:=1131;      //3
  Knap[338]:=1132;
  Knap[339]:=1133;
  Knap[340]:=1134;
  Knap[341]:=1135;
  Knap[342]:=1136;
  Knap[343]:=1137;
  Knap[344]:=1138;
  Knap[345]:=1139;
  Knap[346]:=1140;
  Knap[347]:=1141;
  Knap[348]:=1142;
  Knap[349]:=1143;
  Knap[350]:=1144;
  Knap[351]:=1145;
  Knap[352]:=1146;

  Knap[353]:=1147;      //4
  Knap[354]:=1148;
  Knap[355]:=1149;
  Knap[356]:=1150;
  Knap[357]:=1151;
  Knap[358]:=1152;
  Knap[359]:=1153;
  Knap[360]:=1154;
  Knap[361]:=1155;
  Knap[362]:=1156;
  Knap[363]:=1157;
  Knap[364]:=1158;
  Knap[365]:=1159;
  Knap[366]:=1160;
  Knap[367]:=1161;
  Knap[368]:=1162;

  Knap[369]:=1163;      //5
  Knap[370]:=1164;
  Knap[371]:=1165;
  Knap[372]:=1166;
  Knap[373]:=1167;
  Knap[374]:=1168;
  Knap[375]:=1169;
  Knap[376]:=1170;
  Knap[377]:=1171;
  Knap[378]:=1172;
  Knap[379]:=1173;
  Knap[380]:=1174;
  Knap[381]:=0;
  Knap[382]:=0;
  Knap[383]:=0;
  Knap[384]:=0;

end;

procedure Aussentaster;

Begin

Knap[385]:=1;
Knap[386]:=2;
Knap[387]:=3;
Knap[388]:=4;
Knap[389]:=5;
Knap[390]:=6;
Knap[391]:=7;
Knap[392]:=8;
Knap[393]:=9;
Knap[394]:=10;
Knap[395]:=11;
Knap[396]:=12;
Knap[397]:=13;
Knap[398]:=14;
Knap[399]:=15;
Knap[400]:=16;

Knap[401]:=17;
Knap[402]:=18;
Knap[403]:=19;
Knap[404]:=20;
Knap[405]:=21;
Knap[406]:=22;
Knap[407]:=23;
Knap[408]:=24;
Knap[409]:=25;
Knap[410]:=26;
Knap[411]:=27;
Knap[412]:=28;
Knap[413]:=0;
Knap[414]:=0;
Knap[415]:=0;
Knap[416]:=0;


end;

end.

 
 
   
   
   

Foelere

Dette er ikke lavet endnu. Senere vil der komme en tabel over, hvilket følernummer der tilhører hvilken blok. Dette skal bruges til at registrere kørsel. Det vil blive brugt til at nulstille køreveje, efterhånden som blokkene bliver forbikørt. Og signalet vil blive sat på rødt igen.


 unit foelere;


interface

procedure initfoelere1;
procedure initfoelere2;
procedure initfoelere3;

VAR
   Foeler               :  ARRAY [false..true, 0..512] of word;       {Skema over f›lere og hvilke 2 spor, de sidder ved }


implementation


{ ****************************************************************** }
  {  retning:  Venstre = 0 false     H›jre = 1 true     }
{ ****************************************************************** }

procedure initfoelere1;

  begin

Foeler[false,1]:=14;           Foeler[true,1]:=12;
Foeler[false,2]:=13;           Foeler[true,2]:=12;
Foeler[false,3]:=13;           Foeler[true,3]:=11;
Foeler[false,4]:=12;           Foeler[true,4]:=11;
Foeler[false,5]:=11;           Foeler[true,5]:=1;
Foeler[false,6]:=11;           Foeler[true,6]:=2;
Foeler[false,7]:=11;           Foeler[true,7]:=3;
Foeler[false,8]:=11;           Foeler[true,8]:=4;
Foeler[false,9]:=12;           Foeler[true,9]:=5;
Foeler[false,10]:=12;          Foeler[true,10]:=6;
Foeler[false,11]:=12;          Foeler[true,11]:=7;
Foeler[false,12]:=12;          Foeler[true,12]:=8;
Foeler[false,13]:=1;           Foeler[true,13]:=9;
Foeler[false,14]:=2;           Foeler[true,14]:=9;
Foeler[false,15]:=3;           Foeler[true,15]:=9;
Foeler[false,16]:=4;           Foeler[true,16]:=9;
Foeler[false,17]:=5;           Foeler[true,17]:=10;
Foeler[false,18]:=6;           Foeler[true,18]:=10;
Foeler[false,19]:=7;           Foeler[true,19]:=10;
Foeler[false,20]:=8;           Foeler[true,20]:=10;
Foeler[false,21]:=8;           Foeler[true,21]:=28;
Foeler[false,22]:=9;           Foeler[true,22]:=10;
Foeler[false,23]:=9;           Foeler[true,23]:=31;
Foeler[false,24]:=10;          Foeler[true,24]:=31;
Foeler[false,25]:=10;          Foeler[true,25]:=317;
Foeler[false,26]:=0;           Foeler[true,26]:=0;
Foeler[false,27]:=0;           Foeler[true,27]:=0;
Foeler[false,28]:=0;           Foeler[true,28]:=0;
Foeler[false,29]:=0;           Foeler[true,29]:=0;
Foeler[false,30]:=0;           Foeler[true,30]:=0;
Foeler[false,31]:=0;           Foeler[true,31]:=0;
Foeler[false,32]:=0;           Foeler[true,32]:=0;
Foeler[false,33]:=0;           Foeler[true,33]:=0;
Foeler[false,34]:=0;           Foeler[true,34]:=0;
Foeler[false,35]:=0;           Foeler[true,35]:=0;
Foeler[false,36]:=0;           Foeler[true,36]:=0;
Foeler[false,37]:=0;           Foeler[true,37]:=0;
Foeler[false,38]:=0;           Foeler[true,38]:=0;
Foeler[false,39]:=0;           Foeler[true,39]:=0;
Foeler[false,40]:=0;           Foeler[true,40]:=0;
Foeler[false,41]:=318;         Foeler[true,41]:=19;
Foeler[false,42]:=318;         Foeler[true,42]:=20;
Foeler[false,43]:=318;         Foeler[true,43]:=21;
Foeler[false,44]:=30;          Foeler[true,44]:=22;
Foeler[false,45]:=30;          Foeler[true,45]:=23;
Foeler[false,46]:=30;          Foeler[true,46]:=24;
Foeler[false,47]:=30;          Foeler[true,47]:=25;
Foeler[false,48]:=30;          Foeler[true,48]:=26;
Foeler[false,49]:=318;         Foeler[true,49]:=30;
Foeler[false,50]:=32;          Foeler[true,50]:=30;
Foeler[false,51]:=19;          Foeler[true,51]:=15;
Foeler[false,52]:=20;          Foeler[true,52]:=15;
Foeler[false,53]:=21;          Foeler[true,53]:=15;
Foeler[false,54]:=22;          Foeler[true,54]:=15;
Foeler[false,55]:=22;          Foeler[true,55]:=16;
Foeler[false,56]:=22;          Foeler[true,56]:=17;
Foeler[false,57]:=22;          Foeler[true,57]:=18;
Foeler[false,58]:=15;          Foeler[true,58]:=13;
Foeler[false,59]:=16;          Foeler[true,59]:=13;
Foeler[false,60]:=17;          Foeler[true,60]:=13;
Foeler[false,61]:=18;          Foeler[true,61]:=13;
Foeler[false,62]:=23;          Foeler[true,62]:=14;
Foeler[false,63]:=24;          Foeler[true,63]:=14;
Foeler[false,64]:=25;          Foeler[true,64]:=14;
Foeler[false,65]:=26;          Foeler[true,65]:=14;
Foeler[false,66]:=27;          Foeler[true,66]:=14;
Foeler[false,67]:=0;           Foeler[true,67]:=0;
Foeler[false,68]:=0;           Foeler[true,68]:=0;
Foeler[false,69]:=0;           Foeler[true,69]:=0;
Foeler[false,70]:=0;           Foeler[true,70]:=0;
Foeler[false,71]:=0;           Foeler[true,71]:=0;
Foeler[false,72]:=0;           Foeler[true,72]:=0;
Foeler[false,73]:=0;           Foeler[true,73]:=0;
Foeler[false,74]:=0;           Foeler[true,74]:=0;
Foeler[false,75]:=0;           Foeler[true,75]:=0;
Foeler[false,76]:=0;           Foeler[true,76]:=0;
Foeler[false,77]:=0;           Foeler[true,77]:=0;
Foeler[false,78]:=0;           Foeler[true,78]:=0;
Foeler[false,79]:=0;           Foeler[true,79]:=0;
Foeler[false,80]:=0;           Foeler[true,80]:=0;
Foeler[false,81]:=41;          Foeler[true,81]:=43;
Foeler[false,82]:=42;          Foeler[true,82]:=43;
Foeler[false,83]:=43;          Foeler[true,83]:=44;
Foeler[false,84]:=43;          Foeler[true,84]:=45;
Foeler[false,85]:=51;          Foeler[true,85]:=45;
Foeler[false,86]:=45;          Foeler[true,86]:=103;
Foeler[false,87]:=45;          Foeler[true,87]:=104;
Foeler[false,88]:=52;          Foeler[true,88]:=104;
Foeler[false,89]:=31;          Foeler[true,89]:=101;
Foeler[false,90]:=31;          Foeler[true,90]:=34;
Foeler[false,91]:=32;          Foeler[true,91]:=34;
Foeler[false,92]:=34;          Foeler[true,92]:=101;
Foeler[false,93]:=34;          Foeler[true,93]:=102;
Foeler[false,94]:=34;          Foeler[true,94]:=35;
Foeler[false,95]:=36;          Foeler[true,95]:=35;
Foeler[false,96]:=62;          Foeler[true,96]:=71;
Foeler[false,97]:=62;          Foeler[true,97]:=72;
Foeler[false,98]:=63;          Foeler[true,98]:=72;
Foeler[false,99]:=64;          Foeler[true,99]:=73;
Foeler[false,100]:=65;         Foeler[true,100]:=73;
Foeler[false,101]:=65;         Foeler[true,101]:=74;
Foeler[false,102]:=65;         Foeler[true,102]:=75;
Foeler[false,103]:=65;         Foeler[true,103]:=76;
Foeler[false,104]:=65;         Foeler[true,104]:=77;
Foeler[false,105]:=66;         Foeler[true,105]:=77;
Foeler[false,106]:=0;          Foeler[true,106]:=0;
Foeler[false,107]:=0;          Foeler[true,107]:=0;
Foeler[false,108]:=0;          Foeler[true,108]:=0;
Foeler[false,109]:=0;          Foeler[true,109]:=0;
Foeler[false,110]:=0;          Foeler[true,110]:=0;
Foeler[false,111]:=0;          Foeler[true,111]:=0;
Foeler[false,112]:=0;          Foeler[true,112]:=0;
Foeler[false,113]:=0;          Foeler[true,113]:=0;
Foeler[false,114]:=0;          Foeler[true,114]:=0;
Foeler[false,115]:=0;          Foeler[true,115]:=0;
Foeler[false,116]:=0;          Foeler[true,116]:=0;
Foeler[false,117]:=0;          Foeler[true,117]:=0;
Foeler[false,118]:=0;          Foeler[true,118]:=0;
Foeler[false,119]:=0;          Foeler[true,119]:=0;
Foeler[false,120]:=0;          Foeler[true,120]:=0;
Foeler[false,121]:=61;         Foeler[true,121]:=81;
Foeler[false,122]:=71;         Foeler[true,122]:=81;
Foeler[false,123]:=72;         Foeler[true,123]:=81;
Foeler[false,124]:=73;         Foeler[true,124]:=81;
Foeler[false,125]:=74;         Foeler[true,125]:=82;
Foeler[false,126]:=74;         Foeler[true,126]:=83;
Foeler[false,127]:=75;         Foeler[true,127]:=83;
Foeler[false,128]:=76;         Foeler[true,128]:=84;
Foeler[false,129]:=77;         Foeler[true,129]:=84;
Foeler[false,130]:=81;         Foeler[true,130]:=82;
Foeler[false,131]:=84;         Foeler[true,131]:=83;
Foeler[false,132]:=83;         Foeler[true,132]:=82;
Foeler[false,133]:=83;         Foeler[true,133]:=85;
Foeler[false,134]:=84;         Foeler[true,134]:=85;
Foeler[false,135]:=84;         Foeler[true,135]:=89;
Foeler[false,136]:=85;         Foeler[true,136]:=87;
Foeler[false,137]:=85;         Foeler[true,137]:=86;
Foeler[false,138]:=86;         Foeler[true,138]:=88;
Foeler[false,139]:=86;         Foeler[true,139]:=89;
Foeler[false,140]:=88;         Foeler[true,140]:=90;
Foeler[false,141]:=89;         Foeler[true,141]:=90;
Foeler[false,142]:=89;         Foeler[true,142]:=99;
Foeler[false,143]:=0;          Foeler[true,143]:=0;
Foeler[false,144]:=0;          Foeler[true,144]:=0;
Foeler[false,145]:=0;          Foeler[true,145]:=0;
Foeler[false,146]:=0;          Foeler[true,146]:=0;
Foeler[false,147]:=0;          Foeler[true,147]:=0;
Foeler[false,148]:=0;          Foeler[true,148]:=0;
Foeler[false,149]:=0;          Foeler[true,149]:=0;
Foeler[false,150]:=0;          Foeler[true,150]:=0;
Foeler[false,151]:=110;        Foeler[true,151]:=114;
Foeler[false,152]:=110;        Foeler[true,152]:=115;
Foeler[false,153]:=111;        Foeler[true,153]:=115;
Foeler[false,154]:=112;        Foeler[true,154]:=116;
Foeler[false,155]:=113;        Foeler[true,155]:=116;
Foeler[false,156]:=115;        Foeler[true,156]:=116;
Foeler[false,157]:=114;        Foeler[true,157]:=118;
Foeler[false,158]:=116;        Foeler[true,158]:=118;
Foeler[false,159]:=116;        Foeler[true,159]:=119;
Foeler[false,160]:=116;        Foeler[true,160]:=120;
Foeler[false,161]:=117;        Foeler[true,161]:=120;
Foeler[false,162]:=121;        Foeler[true,162]:=120;
Foeler[false,163]:=35;         Foeler[true,163]:=105;
Foeler[false,164]:=105;        Foeler[true,164]:=122;
Foeler[false,165]:=120;        Foeler[true,165]:=134;
Foeler[false,166]:=123;        Foeler[true,166]:=134;
Foeler[false,167]:=122;        Foeler[true,167]:=120;
Foeler[false,168]:=122;        Foeler[true,168]:=123;
Foeler[false,169]:=87;         Foeler[true,169]:=123;
Foeler[false,170]:=82;         Foeler[true,170]:=122;
Foeler[false,171]:=120;        Foeler[true,171]:=501;
Foeler[false,172]:=120;        Foeler[true,172]:=131;
Foeler[false,173]:=120;        Foeler[true,173]:=132;
Foeler[false,174]:=120;        Foeler[true,174]:=133;
Foeler[false,175]:=123;        Foeler[true,175]:=135;
Foeler[false,176]:=123;        Foeler[true,176]:=136;
Foeler[false,177]:=123;        Foeler[true,177]:=137;
Foeler[false,178]:=0;          Foeler[true,178]:=0;
Foeler[false,179]:=0;          Foeler[true,179]:=0;
Foeler[false,180]:=0;          Foeler[true,180]:=0;
Foeler[false,181]:=0;          Foeler[true,181]:=0;
Foeler[false,182]:=0;          Foeler[true,182]:=0;
Foeler[false,183]:=0;          Foeler[true,183]:=0;
Foeler[false,184]:=0;          Foeler[true,184]:=0;
Foeler[false,185]:=0;          Foeler[true,185]:=0;
Foeler[false,186]:=0;          Foeler[true,186]:=0;
Foeler[false,187]:=0;          Foeler[true,187]:=0;
Foeler[false,188]:=0;          Foeler[true,188]:=0;
Foeler[false,189]:=0;          Foeler[true,189]:=0;
Foeler[false,190]:=0;          Foeler[true,190]:=0;
Foeler[false,191]:=0;          Foeler[true,191]:=0;
Foeler[false,192]:=0;          Foeler[true,192]:=0;
Foeler[false,193]:=102;        Foeler[true,193]:=150;
Foeler[false,194]:=101;        Foeler[true,194]:=150;
Foeler[false,195]:=101;        Foeler[true,195]:=151;
Foeler[false,196]:=150;        Foeler[true,196]:=151;
Foeler[false,197]:=150;        Foeler[true,197]:=152;
Foeler[false,198]:=137;        Foeler[true,198]:=142;
Foeler[false,199]:=136;        Foeler[true,199]:=142;
Foeler[false,200]:=135;        Foeler[true,200]:=142;

end;


procedure initfoelere2;

 begin

Foeler[false,201]:=134;        Foeler[true,201]:=142;
Foeler[false,202]:=134;        Foeler[true,202]:=141;
Foeler[false,203]:=133;        Foeler[true,203]:=141;
Foeler[false,204]:=132;        Foeler[true,204]:=141;
Foeler[false,205]:=131;        Foeler[true,205]:=141;
Foeler[false,206]:=142;        Foeler[true,206]:=141;
Foeler[false,207]:=142;        Foeler[true,207]:=143;
Foeler[false,208]:=142;        Foeler[true,208]:=144;
Foeler[false,209]:=0;          Foeler[true,209]:=0;
Foeler[false,210]:=0;          Foeler[true,210]:=0;
Foeler[false,211]:=0;          Foeler[true,211]:=0;
Foeler[false,212]:=0;          Foeler[true,212]:=0;
Foeler[false,213]:=0;          Foeler[true,213]:=0;
Foeler[false,214]:=0;          Foeler[true,214]:=0;
Foeler[false,215]:=0;          Foeler[true,215]:=0;
Foeler[false,216]:=0;          Foeler[true,216]:=0;
Foeler[false,217]:=0;          Foeler[true,217]:=0;
Foeler[false,218]:=0;          Foeler[true,218]:=0;
Foeler[false,219]:=0;          Foeler[true,219]:=0;
Foeler[false,220]:=0;          Foeler[true,220]:=0;
Foeler[false,221]:=0;          Foeler[true,221]:=0;
Foeler[false,222]:=0;          Foeler[true,222]:=0;
Foeler[false,223]:=0;          Foeler[true,223]:=0;
Foeler[false,224]:=0;          Foeler[true,224]:=0;
Foeler[false,225]:=0;          Foeler[true,225]:=0;
Foeler[false,226]:=0;          Foeler[true,226]:=0;
Foeler[false,227]:=0;          Foeler[true,227]:=0;
Foeler[false,228]:=0;          Foeler[true,228]:=0;
Foeler[false,229]:=0;          Foeler[true,229]:=0;
Foeler[false,230]:=0;          Foeler[true,230]:=0;
Foeler[false,231]:=0;          Foeler[true,231]:=0;
Foeler[false,232]:=0;          Foeler[true,232]:=0;
Foeler[false,233]:=0;          Foeler[true,233]:=0;
Foeler[false,234]:=0;          Foeler[true,234]:=0;
Foeler[false,235]:=0;          Foeler[true,235]:=0;
Foeler[false,236]:=0;          Foeler[true,236]:=0;
Foeler[false,237]:=0;          Foeler[true,237]:=0;
Foeler[false,238]:=0;          Foeler[true,238]:=0;
Foeler[false,239]:=0;          Foeler[true,239]:=0;
Foeler[false,240]:=0;          Foeler[true,240]:=0;
Foeler[false,241]:=0;          Foeler[true,241]:=0;
Foeler[false,242]:=0;          Foeler[true,242]:=0;
Foeler[false,243]:=0;          Foeler[true,243]:=0;
Foeler[false,244]:=0;          Foeler[true,244]:=0;
Foeler[false,245]:=0;          Foeler[true,245]:=0;
Foeler[false,246]:=0;          Foeler[true,246]:=0;
Foeler[false,247]:=0;          Foeler[true,247]:=0;
Foeler[false,248]:=0;          Foeler[true,248]:=0;
Foeler[false,249]:=103;        Foeler[true,249]:=191;
Foeler[false,250]:=104;        Foeler[true,250]:=192;
Foeler[false,251]:=193;        Foeler[true,251]:=307;
Foeler[false,252]:=194;        Foeler[true,252]:=308;
Foeler[false,253]:=191;        Foeler[true,253]:=307;
Foeler[false,254]:=192;        Foeler[true,254]:=308;
Foeler[false,255]:=151;        Foeler[true,255]:=201;
Foeler[false,256]:=152;        Foeler[true,256]:=202;
Foeler[false,257]:=141;        Foeler[true,257]:=203;
Foeler[false,258]:=143;        Foeler[true,258]:=229;
Foeler[false,259]:=201;        Foeler[true,259]:=229;
Foeler[false,260]:=229;        Foeler[true,260]:=203;
Foeler[false,261]:=229;        Foeler[true,261]:=204;
Foeler[false,262]:=202;        Foeler[true,262]:=204;
Foeler[false,263]:=201;        Foeler[true,263]:=205;
Foeler[false,264]:=202;        Foeler[true,264]:=206;
Foeler[false,265]:=501;        Foeler[true,265]:=208;
Foeler[false,266]:=501;        Foeler[true,266]:=203;
Foeler[false,267]:=203;        Foeler[true,267]:=208;
Foeler[false,268]:=208;        Foeler[true,268]:=211;
Foeler[false,269]:=208;        Foeler[true,269]:=228;
Foeler[false,270]:=203;        Foeler[true,270]:=204;
Foeler[false,271]:=228;        Foeler[true,271]:=212;
Foeler[false,272]:=204;        Foeler[true,272]:=228;
Foeler[false,273]:=228;        Foeler[true,273]:=213;
Foeler[false,274]:=204;        Foeler[true,274]:=214;
Foeler[false,275]:=204;        Foeler[true,275]:=215;
Foeler[false,276]:=205;        Foeler[true,276]:=215;
Foeler[false,277]:=207;        Foeler[true,277]:=209;
Foeler[false,278]:=207;        Foeler[true,278]:=210;
Foeler[false,279]:=206;        Foeler[true,279]:=215;
Foeler[false,280]:=206;        Foeler[true,280]:=216;
Foeler[false,281]:=209;        Foeler[true,281]:=216;
Foeler[false,282]:=0;          Foeler[true,282]:=0;
Foeler[false,283]:=212;        Foeler[true,283]:=218;
Foeler[false,284]:=213;        Foeler[true,284]:=218;
Foeler[false,285]:=213;        Foeler[true,285]:=219;
Foeler[false,286]:=214;        Foeler[true,286]:=220;
Foeler[false,287]:=215;        Foeler[true,287]:=220;
Foeler[false,288]:=215;        Foeler[true,288]:=221;
Foeler[false,289]:=216;        Foeler[true,289]:=221;
Foeler[false,290]:=216;        Foeler[true,290]:=222;
Foeler[false,291]:=209;        Foeler[true,291]:=222;
Foeler[false,292]:=210;        Foeler[true,292]:=222;
Foeler[false,293]:=217;        Foeler[true,293]:=231;
Foeler[false,294]:=217;        Foeler[true,294]:=232;
Foeler[false,295]:=211;        Foeler[true,295]:=217;
Foeler[false,296]:=218;        Foeler[true,296]:=217;
Foeler[false,297]:=218;        Foeler[true,297]:=233;
Foeler[false,298]:=220;        Foeler[true,298]:=234;
Foeler[false,299]:=220;        Foeler[true,299]:=235;
Foeler[false,300]:=221;        Foeler[true,300]:=222;
Foeler[false,301]:=221;        Foeler[true,301]:=236;
Foeler[false,302]:=221;        Foeler[true,302]:=237;
Foeler[false,303]:=221;        Foeler[true,303]:=238;
Foeler[false,304]:=222;        Foeler[true,304]:=239;
Foeler[false,305]:=222;        Foeler[true,305]:=240;
Foeler[false,306]:=0;          Foeler[true,306]:=0;
Foeler[false,307]:=0;          Foeler[true,307]:=0;
Foeler[false,308]:=0;          Foeler[true,308]:=0;
Foeler[false,309]:=0;          Foeler[true,309]:=0;
Foeler[false,310]:=0;          Foeler[true,310]:=0;
Foeler[false,311]:=0;          Foeler[true,311]:=0;
Foeler[false,312]:=0;          Foeler[true,312]:=0;
Foeler[false,313]:=231;        Foeler[true,313]:=241;
Foeler[false,314]:=232;        Foeler[true,314]:=242;
Foeler[false,315]:=233;        Foeler[true,315]:=243;
Foeler[false,316]:=234;        Foeler[true,316]:=244;
Foeler[false,317]:=235;        Foeler[true,317]:=245;
Foeler[false,318]:=236;        Foeler[true,318]:=246;
Foeler[false,319]:=238;        Foeler[true,319]:=247;
Foeler[false,320]:=239;        Foeler[true,320]:=248;
Foeler[false,321]:=240;        Foeler[true,321]:=249;
Foeler[false,322]:=241;        Foeler[true,322]:=261;
Foeler[false,323]:=241;        Foeler[true,323]:=262;
Foeler[false,324]:=241;        Foeler[true,324]:=263;
Foeler[false,325]:=242;        Foeler[true,325]:=263;
Foeler[false,326]:=244;        Foeler[true,326]:=264;
Foeler[false,327]:=245;        Foeler[true,327]:=264;
Foeler[false,328]:=246;        Foeler[true,328]:=265;
Foeler[false,329]:=268;        Foeler[true,329]:=269;
Foeler[false,330]:=247;        Foeler[true,330]:=265;
Foeler[false,331]:=266;        Foeler[true,331]:=265;
Foeler[false,332]:=266;        Foeler[true,332]:=268;
Foeler[false,333]:=248;        Foeler[true,333]:=266;
Foeler[false,334]:=267;        Foeler[true,334]:=268;
Foeler[false,335]:=249;        Foeler[true,335]:=266;
Foeler[false,336]:=249;        Foeler[true,336]:=267;
Foeler[false,337]:=250;        Foeler[true,337]:=267;
Foeler[false,338]:=251;        Foeler[true,338]:=267;
Foeler[false,339]:=252;        Foeler[true,339]:=267;
Foeler[false,340]:=252;        Foeler[true,340]:=253;
Foeler[false,341]:=243;        Foeler[true,341]:=263;
Foeler[false,342]:=243;        Foeler[true,342]:=274;
Foeler[false,343]:=263;        Foeler[true,343]:=273;
Foeler[false,344]:=264;        Foeler[true,344]:=273;
Foeler[false,345]:=265;        Foeler[true,345]:=274;
Foeler[false,346]:=265;        Foeler[true,346]:=279;
Foeler[false,347]:=265;        Foeler[true,347]:=301;
Foeler[false,348]:=269;        Foeler[true,348]:=270;
Foeler[false,349]:=264;        Foeler[true,349]:=265;
Foeler[false,350]:=262;        Foeler[true,350]:=271;
Foeler[false,351]:=263;        Foeler[true,351]:=271;
Foeler[false,352]:=263;        Foeler[true,352]:=272;
Foeler[false,353]:=273;        Foeler[true,353]:=275;
Foeler[false,354]:=273;        Foeler[true,354]:=274;
Foeler[false,355]:=274;        Foeler[true,355]:=275;
Foeler[false,356]:=274;        Foeler[true,356]:=276;
Foeler[false,357]:=270;        Foeler[true,357]:=276;
Foeler[false,358]:=270;        Foeler[true,358]:=277;
Foeler[false,359]:=275;        Foeler[true,359]:=51;
Foeler[false,360]:=276;        Foeler[true,360]:=52;
Foeler[false,361]:=0;          Foeler[true,361]:=0;
Foeler[false,362]:=0;          Foeler[true,362]:=0;
Foeler[false,363]:=0;          Foeler[true,363]:=0;
Foeler[false,364]:=0;          Foeler[true,364]:=0;
Foeler[false,365]:=0;          Foeler[true,365]:=0;
Foeler[false,366]:=0;          Foeler[true,366]:=0;
Foeler[false,367]:=0;          Foeler[true,367]:=0;
Foeler[false,368]:=0;          Foeler[true,368]:=0;
Foeler[false,369]:=0;          Foeler[true,369]:=0;
Foeler[false,370]:=0;          Foeler[true,370]:=0;
Foeler[false,371]:=0;          Foeler[true,371]:=0;
Foeler[false,372]:=0;          Foeler[true,372]:=0;
Foeler[false,373]:=0;          Foeler[true,373]:=0;
Foeler[false,374]:=0;          Foeler[true,374]:=0;
Foeler[false,375]:=0;          Foeler[true,375]:=0;
Foeler[false,376]:=0;          Foeler[true,376]:=0;
Foeler[false,377]:=0;          Foeler[true,377]:=0;
Foeler[false,378]:=0;          Foeler[true,378]:=0;
Foeler[false,379]:=0;          Foeler[true,379]:=0;
Foeler[false,380]:=0;          Foeler[true,380]:=0;
Foeler[false,381]:=0;          Foeler[true,381]:=0;
Foeler[false,382]:=0;          Foeler[true,382]:=0;
Foeler[false,383]:=0;          Foeler[true,383]:=0;
Foeler[false,384]:=0;          Foeler[true,384]:=0;
Foeler[false,385]:=0;          Foeler[true,385]:=0;
Foeler[false,386]:=0;          Foeler[true,386]:=0;
Foeler[false,387]:=0;          Foeler[true,387]:=0;
Foeler[false,388]:=0;          Foeler[true,388]:=0;
Foeler[false,389]:=0;          Foeler[true,389]:=0;
Foeler[false,390]:=0;          Foeler[true,390]:=0;
Foeler[false,391]:=0;          Foeler[true,391]:=0;
Foeler[false,392]:=0;          Foeler[true,392]:=0;
Foeler[false,393]:=0;          Foeler[true,393]:=0;
Foeler[false,394]:=0;          Foeler[true,394]:=0;
Foeler[false,395]:=0;          Foeler[true,395]:=0;
Foeler[false,396]:=0;          Foeler[true,396]:=0;
Foeler[false,397]:=0;          Foeler[true,397]:=0;
Foeler[false,398]:=0;          Foeler[true,398]:=0;
Foeler[false,399]:=0;          Foeler[true,399]:=0;
Foeler[false,400]:=0;          Foeler[true,400]:=0;

end;


procedure initfoelere3;

 begin

Foeler[false,401]:=0;          Foeler[true,401]:=0;
Foeler[false,402]:=0;          Foeler[true,402]:=0;
Foeler[false,403]:=0;          Foeler[true,403]:=0;
Foeler[false,404]:=0;          Foeler[true,404]:=0;
Foeler[false,405]:=0;          Foeler[true,405]:=0;
Foeler[false,406]:=0;          Foeler[true,406]:=0;
Foeler[false,407]:=0;          Foeler[true,407]:=0;
Foeler[false,408]:=0;          Foeler[true,408]:=0;
Foeler[false,409]:=307;        Foeler[true,409]:=325;
Foeler[false,410]:=307;        Foeler[true,410]:=310;
Foeler[false,411]:=308;        Foeler[true,411]:=310;
Foeler[false,412]:=310;        Foeler[true,412]:=325;
Foeler[false,413]:=310;        Foeler[true,413]:=326;
Foeler[false,414]:=317;        Foeler[true,414]:=316;
Foeler[false,415]:=318;        Foeler[true,415]:=316;
Foeler[false,416]:=316;        Foeler[true,416]:=312;
Foeler[false,417]:=316;        Foeler[true,417]:=313;
Foeler[false,418]:=318;        Foeler[true,418]:=314;
Foeler[false,419]:=318;        Foeler[true,419]:=315;
Foeler[false,420]:=311;        Foeler[true,420]:=319;
Foeler[false,421]:=312;        Foeler[true,421]:=319;
Foeler[false,422]:=313;        Foeler[true,422]:=321;
Foeler[false,423]:=314;        Foeler[true,423]:=322;
Foeler[false,424]:=315;        Foeler[true,424]:=322;
Foeler[false,425]:=319;        Foeler[true,425]:=320;
Foeler[false,426]:=319;        Foeler[true,426]:=321;
Foeler[false,427]:=321;        Foeler[true,427]:=322;
Foeler[false,428]:=321;        Foeler[true,428]:=361;
Foeler[false,429]:=322;        Foeler[true,429]:=362;
Foeler[false,430]:=322;        Foeler[true,430]:=323;
Foeler[false,431]:=0;          Foeler[true,431]:=0;
Foeler[false,432]:=0;          Foeler[true,432]:=0;
Foeler[false,433]:=0;          Foeler[true,433]:=0;
Foeler[false,434]:=0;          Foeler[true,434]:=0;
Foeler[false,435]:=0;          Foeler[true,435]:=0;
Foeler[false,436]:=0;          Foeler[true,436]:=0;
Foeler[false,437]:=0;          Foeler[true,437]:=0;
Foeler[false,438]:=0;          Foeler[true,438]:=0;
Foeler[false,439]:=0;          Foeler[true,439]:=0;
Foeler[false,440]:=0;          Foeler[true,440]:=0;
Foeler[false,441]:=325;        Foeler[true,441]:=338;
Foeler[false,442]:=326;        Foeler[true,442]:=338;
Foeler[false,443]:=337;        Foeler[true,443]:=331;
Foeler[false,444]:=338;        Foeler[true,444]:=331;
Foeler[false,445]:=338;        Foeler[true,445]:=332;
Foeler[false,446]:=326;        Foeler[true,446]:=333;
Foeler[false,447]:=326;        Foeler[true,447]:=334;
Foeler[false,448]:=331;        Foeler[true,448]:=343;
Foeler[false,449]:=332;        Foeler[true,449]:=343;
Foeler[false,450]:=333;        Foeler[true,450]:=342;
Foeler[false,451]:=334;        Foeler[true,451]:=342;
Foeler[false,452]:=334;        Foeler[true,452]:=344;
Foeler[false,453]:=343;        Foeler[true,453]:=341;
Foeler[false,454]:=343;        Foeler[true,454]:=342;
Foeler[false,455]:=361;        Foeler[true,455]:=363;
Foeler[false,456]:=362;        Foeler[true,456]:=364;
Foeler[false,457]:=0;          Foeler[true,457]:=0;
Foeler[false,458]:=0;          Foeler[true,458]:=0;
Foeler[false,459]:=0;          Foeler[true,459]:=0;
Foeler[false,460]:=0;          Foeler[true,460]:=0;
Foeler[false,461]:=0;          Foeler[true,461]:=0;
Foeler[false,462]:=0;          Foeler[true,462]:=0;
Foeler[false,463]:=0;          Foeler[true,463]:=0;
Foeler[false,464]:=0;          Foeler[true,464]:=0;
Foeler[false,465]:=0;          Foeler[true,465]:=0;
Foeler[false,466]:=0;          Foeler[true,466]:=0;
Foeler[false,467]:=0;          Foeler[true,467]:=0;
Foeler[false,468]:=0;          Foeler[true,468]:=0;
Foeler[false,469]:=0;          Foeler[true,469]:=0;
Foeler[false,470]:=0;          Foeler[true,470]:=0;
Foeler[false,471]:=0;          Foeler[true,471]:=0;
Foeler[false,472]:=0;          Foeler[true,472]:=0;
Foeler[false,473]:=0;          Foeler[true,473]:=0;
Foeler[false,474]:=0;          Foeler[true,474]:=0;
Foeler[false,475]:=0;          Foeler[true,475]:=0;
Foeler[false,476]:=0;          Foeler[true,476]:=0;
Foeler[false,477]:=0;          Foeler[true,477]:=0;
Foeler[false,478]:=0;          Foeler[true,478]:=0;
Foeler[false,479]:=0;          Foeler[true,479]:=0;
Foeler[false,480]:=0;          Foeler[true,480]:=0;
Foeler[false,481]:=0;          Foeler[true,481]:=0;
Foeler[false,482]:=0;          Foeler[true,482]:=0;
Foeler[false,483]:=0;          Foeler[true,483]:=0;
Foeler[false,484]:=0;          Foeler[true,484]:=0;
Foeler[false,485]:=0;          Foeler[true,485]:=0;
Foeler[false,486]:=0;          Foeler[true,486]:=0;
Foeler[false,487]:=0;          Foeler[true,487]:=0;
Foeler[false,488]:=0;          Foeler[true,488]:=0;
Foeler[false,489]:=0;          Foeler[true,489]:=0;
Foeler[false,490]:=0;          Foeler[true,490]:=0;
Foeler[false,491]:=0;          Foeler[true,491]:=0;
Foeler[false,492]:=0;          Foeler[true,492]:=0;
Foeler[false,493]:=0;          Foeler[true,493]:=0;
Foeler[false,494]:=0;          Foeler[true,494]:=0;
Foeler[false,495]:=0;          Foeler[true,495]:=0;
Foeler[false,496]:=0;          Foeler[true,496]:=0;
Foeler[false,497]:=0;          Foeler[true,497]:=0;
Foeler[false,498]:=0;          Foeler[true,498]:=0;
Foeler[false,499]:=0;          Foeler[true,499]:=0;
Foeler[false,500]:=0;          Foeler[true,500]:=0;
Foeler[false,501]:=0;          Foeler[true,501]:=0;

end;

end.
 
 
   
   
   

sporskLN

LoconetRead indeholder tabeller over endnu mere lænkning af sporskiftere og deres Loconet-adresser.


 unit sporskLN;


interface

procedure initspskLN;
procedure initLNspsk;

VAR
   WeicheLN                 :  ARRAY [0..1175,0..2] OF WORD;
   (* Skema over sporskifte LN adresse vs sporskiftenummer (spor) *)
   LNWeiche                 :  ARRAY [0..320,0..8] OF WORD;
   (* Skema over sporskifte LN adresse vs sporskiftenummer (spor) *)


implementation


procedure initspskLN;

begin

{Spor                   Sporskifte (1-8)        Kryds eller ej     }   
WeicheLN[1051,0]:=201;	WeicheLN[1051,1]:=1;	WeicheLN[1051,2]:=0;
WeicheLN[1052,0]:=202;	WeicheLN[1052,1]:=1;	WeicheLN[1052,2]:=0;
WeicheLN[1053,0]:=203;	WeicheLN[1053,1]:=1;	WeicheLN[1053,2]:=1;
WeicheLN[1054,0]:=203;	WeicheLN[1054,1]:=2;	WeicheLN[1054,2]:=1;
WeicheLN[1055,0]:=204;	WeicheLN[1055,1]:=1;	WeicheLN[1055,2]:=1;
WeicheLN[1056,0]:=204;	WeicheLN[1056,1]:=2;	WeicheLN[1056,2]:=1;
WeicheLN[1057,0]:=205;	WeicheLN[1057,1]:=1;	WeicheLN[1057,2]:=1;
WeicheLN[1058,0]:=205;	WeicheLN[1058,1]:=2;	WeicheLN[1058,2]:=1;
WeicheLN[1059,0]:=206;	WeicheLN[1059,1]:=1;	WeicheLN[1059,2]:=0;
WeicheLN[1060,0]:=206;	WeicheLN[1060,1]:=2;	WeicheLN[1060,2]:=0;
WeicheLN[1061,0]:=206;	WeicheLN[1061,1]:=3;	WeicheLN[1061,2]:=1;
WeicheLN[1062,0]:=206;	WeicheLN[1062,1]:=4;	WeicheLN[1062,2]:=1;
WeicheLN[1063,0]:=207;	WeicheLN[1063,1]:=1;	WeicheLN[1063,2]:=1;
WeicheLN[1064,0]:=207;	WeicheLN[1064,1]:=2;	WeicheLN[1064,2]:=1;
WeicheLN[1065,0]:=209;	WeicheLN[1065,1]:=1;	WeicheLN[1065,2]:=1;
WeicheLN[1066,0]:=209;	WeicheLN[1066,1]:=2;	WeicheLN[1066,2]:=1;
WeicheLN[1067,0]:=210;	WeicheLN[1067,1]:=1;	WeicheLN[1067,2]:=0;
WeicheLN[1068,0]:=210;	WeicheLN[1068,1]:=2;	WeicheLN[1068,2]:=0;
WeicheLN[1069,0]:=210;	WeicheLN[1069,1]:=3;	WeicheLN[1069,2]:=0;
WeicheLN[1070,0]:=211;	WeicheLN[1070,1]:=1;	WeicheLN[1070,2]:=0;
WeicheLN[1071,0]:=211;	WeicheLN[1071,1]:=2;	WeicheLN[1071,2]:=0;
WeicheLN[1072,0]:=213;	WeicheLN[1072,1]:=1;	WeicheLN[1072,2]:=0;
WeicheLN[1073,0]:=214;	WeicheLN[1073,1]:=1;	WeicheLN[1073,2]:=0;
WeicheLN[1074,0]:=216;	WeicheLN[1074,1]:=1;	WeicheLN[1074,2]:=0;
WeicheLN[1075,0]:=219;	WeicheLN[1075,1]:=1;	WeicheLN[1075,2]:=0;
WeicheLN[1076,0]:=222;	WeicheLN[1076,1]:=1;	WeicheLN[1076,2]:=0;
WeicheLN[1077,0]:=223;	WeicheLN[1077,1]:=1;	WeicheLN[1077,2]:=0;
WeicheLN[1078,0]:=223;	WeicheLN[1078,1]:=2;	WeicheLN[1078,2]:=1;
WeicheLN[1079,0]:=223;	WeicheLN[1079,1]:=3;	WeicheLN[1079,2]:=1;
WeicheLN[1080,0]:=224;	WeicheLN[1080,1]:=1;	WeicheLN[1080,2]:=0;
WeicheLN[1081,0]:=224;	WeicheLN[1081,1]:=2;	WeicheLN[1081,2]:=0;
WeicheLN[1082,0]:=225;	WeicheLN[1082,1]:=1;	WeicheLN[1082,2]:=0;
WeicheLN[1083,0]:=226;	WeicheLN[1083,1]:=1;	WeicheLN[1083,2]:=0;
WeicheLN[1084,0]:=226;	WeicheLN[1084,1]:=2;	WeicheLN[1084,2]:=0;
WeicheLN[1085,0]:=227;	WeicheLN[1085,1]:=1;	WeicheLN[1085,2]:=0;
WeicheLN[1086,0]:=227;	WeicheLN[1086,1]:=2;	WeicheLN[1086,2]:=0;
WeicheLN[1087,0]:=227;	WeicheLN[1087,1]:=3;	WeicheLN[1087,2]:=0;
WeicheLN[1088,0]:=228;	WeicheLN[1088,1]:=1;	WeicheLN[1088,2]:=0;
WeicheLN[1089,0]:=228;	WeicheLN[1089,1]:=2;	WeicheLN[1089,2]:=0;
WeicheLN[1090,0]:=229;	WeicheLN[1090,1]:=1;	WeicheLN[1090,2]:=1;
WeicheLN[1091,0]:=229;	WeicheLN[1091,1]:=2;	WeicheLN[1091,2]:=1;
WeicheLN[1092,0]:=230;	WeicheLN[1092,1]:=1;	WeicheLN[1092,2]:=1;
WeicheLN[1093,0]:=230;	WeicheLN[1093,1]:=2;	WeicheLN[1093,2]:=1;
WeicheLN[0,0]:=0;	WeicheLN[0,1]:=0;	WeicheLN[0,2]:=0;
WeicheLN[0,0]:=0;	WeicheLN[0,1]:=0;	WeicheLN[0,2]:=0;
WeicheLN[0,0]:=0;	WeicheLN[0,1]:=0;	WeicheLN[0,2]:=0;
WeicheLN[0,0]:=0;	WeicheLN[0,1]:=0;	WeicheLN[0,2]:=0;
WeicheLN[0,0]:=0;	WeicheLN[0,1]:=0;	WeicheLN[0,2]:=0;
WeicheLN[0,0]:=0;	WeicheLN[0,1]:=0;	WeicheLN[0,2]:=0;
WeicheLN[0,0]:=0;	WeicheLN[0,1]:=0;	WeicheLN[0,2]:=0;
WeicheLN[1101,0]:=244;	WeicheLN[1101,1]:=1;	WeicheLN[1101,2]:=0;
WeicheLN[1102,0]:=250;	WeicheLN[1102,1]:=1;	WeicheLN[1102,2]:=0;
WeicheLN[1103,0]:=253;	WeicheLN[1103,1]:=1;	WeicheLN[1103,2]:=0;
WeicheLN[1104,0]:=261;	WeicheLN[1104,1]:=1;	WeicheLN[1104,2]:=1;
WeicheLN[1105,0]:=261;	WeicheLN[1105,1]:=2;	WeicheLN[1105,2]:=1;
WeicheLN[1106,0]:=261;	WeicheLN[1106,1]:=3;	WeicheLN[1106,2]:=0;
WeicheLN[1107,0]:=263;	WeicheLN[1107,1]:=1;	WeicheLN[1107,2]:=1;
WeicheLN[1108,0]:=263;	WeicheLN[1108,1]:=2;	WeicheLN[1108,2]:=1;
WeicheLN[1109,0]:=264;	WeicheLN[1109,1]:=1;	WeicheLN[1109,2]:=0;
WeicheLN[1110,0]:=264;	WeicheLN[1110,1]:=2;	WeicheLN[1110,2]:=0;
WeicheLN[1111,0]:=265;	WeicheLN[1111,1]:=1;	WeicheLN[1111,2]:=1;
WeicheLN[1112,0]:=265;	WeicheLN[1112,1]:=2;	WeicheLN[1112,2]:=1;
WeicheLN[1113,0]:=265;	WeicheLN[1113,1]:=3;	WeicheLN[1113,2]:=0;
WeicheLN[1114,0]:=267;	WeicheLN[1114,1]:=1;	WeicheLN[1114,2]:=0;
WeicheLN[1115,0]:=267;	WeicheLN[1115,1]:=2;	WeicheLN[1115,2]:=0;
WeicheLN[1116,0]:=268;	WeicheLN[1116,1]:=1;	WeicheLN[1116,2]:=0;
WeicheLN[1117,0]:=271;	WeicheLN[1117,1]:=1;	WeicheLN[1117,2]:=0;
WeicheLN[1118,0]:=271;	WeicheLN[1118,1]:=2;	WeicheLN[1118,2]:=0;
WeicheLN[1119,0]:=272;	WeicheLN[1119,1]:=1;	WeicheLN[1119,2]:=0;
WeicheLN[1120,0]:=272;	WeicheLN[1120,1]:=2;	WeicheLN[1120,2]:=0;
WeicheLN[1121,0]:=272;	WeicheLN[1121,1]:=3;	WeicheLN[1121,2]:=1;
WeicheLN[1122,0]:=272;	WeicheLN[1122,1]:=4;	WeicheLN[1122,2]:=1;
WeicheLN[1123,0]:=273;	WeicheLN[1123,1]:=1;	WeicheLN[1123,2]:=0;
WeicheLN[1124,0]:=273;	WeicheLN[1124,1]:=2;	WeicheLN[1124,2]:=0;
WeicheLN[1125,0]:=270;	WeicheLN[1125,1]:=1;	WeicheLN[1125,2]:=0;
WeicheLN[1126,0]:=274;	WeicheLN[1126,1]:=1;	WeicheLN[1126,2]:=1;
WeicheLN[1127,0]:=274;	WeicheLN[1127,1]:=2;	WeicheLN[1127,2]:=1;
WeicheLN[1128,0]:=275;	WeicheLN[1128,1]:=1;	WeicheLN[1128,2]:=0;
WeicheLN[1129,0]:=275;	WeicheLN[1129,1]:=2;	WeicheLN[1129,2]:=0;
WeicheLN[1130,0]:=276;	WeicheLN[1130,1]:=1;	WeicheLN[1130,2]:=1;
WeicheLN[1131,0]:=276;	WeicheLN[1131,1]:=2;	WeicheLN[1131,2]:=1;
WeicheLN[1132,0]:=277;	WeicheLN[1132,1]:=1;	WeicheLN[1132,2]:=0;
WeicheLN[1133,0]:=278;	WeicheLN[1133,1]:=1;	WeicheLN[1133,2]:=0;
WeicheLN[1134,0]:=279;	WeicheLN[1134,1]:=1;	WeicheLN[1134,2]:=1;
WeicheLN[1135,0]:=279;	WeicheLN[1135,1]:=2;	WeicheLN[1135,2]:=1;
WeicheLN[1136,0]:=282;	WeicheLN[1136,1]:=1;	WeicheLN[1136,2]:=1;
WeicheLN[1137,0]:=282;	WeicheLN[1137,1]:=2;	WeicheLN[1137,2]:=1;
WeicheLN[1138,0]:=282;	WeicheLN[1138,1]:=3;	WeicheLN[1138,2]:=0;
WeicheLN[1139,0]:=282;	WeicheLN[1139,1]:=4;	WeicheLN[1139,2]:=0;
WeicheLN[1140,0]:=283;	WeicheLN[1140,1]:=1;	WeicheLN[1140,2]:=0;
WeicheLN[1141,0]:=283;	WeicheLN[1141,1]:=2;	WeicheLN[1141,2]:=0;
WeicheLN[1142,0]:=283;	WeicheLN[1142,1]:=3;	WeicheLN[1142,2]:=1;
WeicheLN[1143,0]:=283;	WeicheLN[1143,1]:=4;	WeicheLN[1143,2]:=1;
WeicheLN[1144,0]:=284;	WeicheLN[1144,1]:=1;	WeicheLN[1144,2]:=0;
WeicheLN[1145,0]:=284;	WeicheLN[1145,1]:=2;	WeicheLN[1145,2]:=0;
WeicheLN[1146,0]:=284;	WeicheLN[1146,1]:=3;	WeicheLN[1146,2]:=0;
WeicheLN[1147,0]:=284;	WeicheLN[1147,1]:=4;	WeicheLN[1147,2]:=0;
WeicheLN[1148,0]:=284;	WeicheLN[1148,1]:=5;	WeicheLN[1148,2]:=0;
WeicheLN[1149,0]:=300;	WeicheLN[1149,1]:=1;	WeicheLN[1149,2]:=1;
WeicheLN[1150,0]:=300;	WeicheLN[1150,1]:=2;	WeicheLN[1150,2]:=1;
WeicheLN[1151,0]:=294;	WeicheLN[1151,1]:=1;	WeicheLN[1151,2]:=0;
WeicheLN[1152,0]:=295;	WeicheLN[1152,1]:=1;	WeicheLN[1152,2]:=0;
WeicheLN[1153,0]:=299;	WeicheLN[1153,1]:=1;	WeicheLN[1153,2]:=0;
WeicheLN[1154,0]:=299;	WeicheLN[1154,1]:=2;	WeicheLN[1154,2]:=0;
WeicheLN[1155,0]:=299;	WeicheLN[1155,1]:=3;	WeicheLN[1155,2]:=0;
WeicheLN[1156,0]:=299;	WeicheLN[1156,1]:=4;	WeicheLN[1156,2]:=0;
WeicheLN[1157,0]:=301;	WeicheLN[1157,1]:=1;	WeicheLN[1157,2]:=0;
WeicheLN[1158,0]:=302;	WeicheLN[1158,1]:=1;	WeicheLN[1158,2]:=1;
WeicheLN[1159,0]:=302;	WeicheLN[1159,1]:=2;	WeicheLN[1159,2]:=1;
WeicheLN[1160,0]:=302;	WeicheLN[1160,1]:=3;	WeicheLN[1160,2]:=0;
WeicheLN[1161,0]:=303;	WeicheLN[1161,1]:=1;	WeicheLN[1161,2]:=1;
WeicheLN[1162,0]:=303;	WeicheLN[1162,1]:=2;	WeicheLN[1162,2]:=1;
WeicheLN[1163,0]:=303;	WeicheLN[1163,1]:=3;	WeicheLN[1163,2]:=0;
WeicheLN[1164,0]:=305;	WeicheLN[1164,1]:=1;	WeicheLN[1164,2]:=0;
WeicheLN[1165,0]:=306;	WeicheLN[1165,1]:=1;	WeicheLN[1165,2]:=0;
WeicheLN[1166,0]:=306;	WeicheLN[1166,1]:=2;	WeicheLN[1166,2]:=0;
WeicheLN[1167,0]:=306;	WeicheLN[1167,1]:=3;	WeicheLN[1167,2]:=0;
WeicheLN[1168,0]:=306;	WeicheLN[1168,1]:=4;	WeicheLN[1168,2]:=0;
WeicheLN[1169,0]:=306;	WeicheLN[1169,1]:=5;	WeicheLN[1169,2]:=0;
WeicheLN[1170,0]:=319;	WeicheLN[1170,1]:=1;	WeicheLN[1170,2]:=0;
WeicheLN[0,0]:=0;	WeicheLN[0,1]:=0;	WeicheLN[0,2]:=0;
WeicheLN[0,0]:=0;	WeicheLN[0,1]:=0;	WeicheLN[0,2]:=0;
WeicheLN[0,0]:=0;	WeicheLN[0,1]:=0;	WeicheLN[0,2]:=0;
WeicheLN[0,0]:=0;	WeicheLN[0,1]:=0;	WeicheLN[0,2]:=0;
WeicheLN[0,0]:=0;	WeicheLN[0,1]:=0;	WeicheLN[0,2]:=0;
WeicheLN[0,0]:=0;	WeicheLN[0,1]:=0;	WeicheLN[0,2]:=0;
WeicheLN[0,0]:=0;	WeicheLN[0,1]:=0;	WeicheLN[0,2]:=0;
WeicheLN[0,0]:=0;	WeicheLN[0,1]:=0;	WeicheLN[0,2]:=0;


end;


procedure initLNspsk;

begin

LNWeiche[201,1]:=1051;
LNWeiche[202,1]:=1052;
LNWeiche[203,1]:=1053;
LNWeiche[203,2]:=1054;
LNWeiche[204,1]:=1055;
LNWeiche[204,2]:=1056;
LNWeiche[205,1]:=1057;
LNWeiche[205,2]:=1058;
LNWeiche[206,1]:=1059;
LNWeiche[206,2]:=1060;
LNWeiche[206,3]:=1061;
LNWeiche[206,4]:=1062;
LNWeiche[207,1]:=1063;
LNWeiche[207,2]:=1064;
LNWeiche[209,1]:=1065;
LNWeiche[209,2]:=1066;
LNWeiche[210,1]:=1067;
LNWeiche[210,2]:=1068;
LNWeiche[210,3]:=1069;
LNWeiche[211,1]:=1070;
LNWeiche[211,2]:=1071;
LNWeiche[213,1]:=1072;
LNWeiche[214,1]:=1073;
LNWeiche[216,1]:=1074;
LNWeiche[219,1]:=1075;
LNWeiche[222,1]:=1076;
LNWeiche[223,1]:=1077;
LNWeiche[223,2]:=1078;
LNWeiche[223,3]:=1079;
LNWeiche[224,1]:=1080;
LNWeiche[224,2]:=1081;
LNWeiche[225,1]:=1082;
LNWeiche[226,1]:=1083;
LNWeiche[226,2]:=1084;
LNWeiche[227,1]:=1085;
LNWeiche[227,2]:=1086;
LNWeiche[227,3]:=1087;
LNWeiche[228,1]:=1088;
LNWeiche[228,2]:=1089;
LNWeiche[229,1]:=1090;
LNWeiche[229,2]:=1091;
LNWeiche[230,1]:=1092;
LNWeiche[230,2]:=1093;
LNWeiche[0,0]:=0;
LNWeiche[0,0]:=0;
LNWeiche[0,0]:=0;
LNWeiche[0,0]:=0;
LNWeiche[0,0]:=0;
LNWeiche[0,0]:=0;
LNWeiche[0,0]:=0;
LNWeiche[244,1]:=1101;
LNWeiche[250,1]:=1102;
LNWeiche[253,1]:=1103;
LNWeiche[261,1]:=1104;
LNWeiche[261,2]:=1105;
LNWeiche[261,3]:=1106;
LNWeiche[263,1]:=1107;
LNWeiche[263,2]:=1108;
LNWeiche[264,1]:=1109;
LNWeiche[264,2]:=1110;
LNWeiche[265,1]:=1111;
LNWeiche[265,2]:=1112;
LNWeiche[265,3]:=1113;
LNWeiche[267,1]:=1114;
LNWeiche[267,2]:=1115;
LNWeiche[268,1]:=1116;
LNWeiche[271,1]:=1117;
LNWeiche[271,2]:=1118;
LNWeiche[272,1]:=1119;
LNWeiche[272,2]:=1120;
LNWeiche[272,3]:=1121;
LNWeiche[272,4]:=1122;
LNWeiche[273,1]:=1123;
LNWeiche[273,2]:=1124;
LNWeiche[270,1]:=1125;
LNWeiche[274,1]:=1126;
LNWeiche[274,2]:=1127;
LNWeiche[275,1]:=1128;
LNWeiche[275,2]:=1129;
LNWeiche[276,1]:=1130;
LNWeiche[276,2]:=1131;
LNWeiche[277,1]:=1132;
LNWeiche[278,1]:=1133;
LNWeiche[279,1]:=1134;
LNWeiche[279,2]:=1135;
LNWeiche[282,1]:=1136;
LNWeiche[282,2]:=1137;
LNWeiche[282,3]:=1138;
LNWeiche[282,4]:=1139;
LNWeiche[283,1]:=1140;
LNWeiche[283,2]:=1141;
LNWeiche[283,3]:=1142;
LNWeiche[283,4]:=1143;
LNWeiche[284,1]:=1144;
LNWeiche[284,2]:=1145;
LNWeiche[284,3]:=1146;
LNWeiche[284,4]:=1147;
LNWeiche[284,5]:=1148;
LNWeiche[300,1]:=1149;
LNWeiche[300,2]:=1150;
LNWeiche[294,1]:=1151;
LNWeiche[295,1]:=1152;
LNWeiche[299,1]:=1153;
LNWeiche[299,2]:=1154;
LNWeiche[299,3]:=1155;
LNWeiche[299,4]:=1156;
LNWeiche[301,1]:=1157;
LNWeiche[302,1]:=1158;
LNWeiche[302,2]:=1159;
LNWeiche[302,3]:=1160;
LNWeiche[303,1]:=1161;
LNWeiche[303,2]:=1162;
LNWeiche[303,3]:=1163;
LNWeiche[305,1]:=1164;
LNWeiche[306,1]:=1165;
LNWeiche[306,2]:=1166;
LNWeiche[306,3]:=1167;
LNWeiche[306,4]:=1168;
LNWeiche[306,5]:=1169;
LNWeiche[319,1]:=1170;
LNWeiche[0,0]:=0;
LNWeiche[0,0]:=0;
LNWeiche[0,0]:=0;
LNWeiche[0,0]:=0;
LNWeiche[0,0]:=0;
LNWeiche[0,0]:=0;
LNWeiche[0,0]:=0;
LNWeiche[0,0]:=0;

end;


end.

 
 
   
   
   

synsock

synsock blev brugt under udviklingen, idet programmet blev i starten lavet på en pc. Denne Unit gør det muligt at få programmet til at sende og modtage data over IP - altså sende data over nettet. I denne sammenhæng behøvede det ikke at komme ud af pcen. Der findes et program, der kan tage imod sådanne data og sende det ud på et LocoNet via en pc (seriel)-til-LocoNet converter. På denne måde kan man fra sin pc sende kommandoer ud til Möllehems decodere.

Denne - og den næste - Unit bruges ikke til RasPi versionen. De bliver dog stadig brugt til tests via pc.


 {==============================================================================|
| Project : Ararat Synapse                                       | 005.002.001 |
|==============================================================================|
| Content: Socket Independent Platform Layer                                   |
|==============================================================================|
| Copyright (c)1999-2011, Lukas Gebauer                                        |
| All rights reserved.                                                         |
|                                                                              |
| Redistribution and use in source and binary forms, with or without           |
| modification, are permitted provided that the following conditions are met:  |
|                                                                              |
| Redistributions of source code must retain the above copyright notice, this  |
| list of conditions and the following disclaimer.                             |
|                                                                              |
| Redistributions in binary form must reproduce the above copyright notice,    |
| this list of conditions and the following disclaimer in the documentation    |
| and/or other materials provided with the distribution.                       |
|                                                                              |
| Neither the name of Lukas Gebauer nor the names of its contributors may      |
| be used to endorse or promote products derived from this software without    |
| specific prior written permission.                                           |
|                                                                              |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"  |
| AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE    |
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE   |
| ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR  |
| ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL       |
| DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR   |
| SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER   |
| CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT           |
| LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY    |
| OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH  |
| DAMAGE.                                                                      |
|==============================================================================|
| The Initial Developer of the Original Code is Lukas Gebauer (Czech Republic).|
| Portions created by Lukas Gebauer are Copyright (c)2001-2011.                |
| All Rights Reserved.                                                         |
|==============================================================================|
| Contributor(s):                                                              |
|==============================================================================|
| History: see HISTORY.HTM from distribution package                           |
|          (Found at URL: http://www.ararat.cz/synapse/)                       |
|==============================================================================}

{:@exclude}

unit synsock;

{$MINENUMSIZE 4}

//old Delphi does not have MSWINDOWS define.
{$IFDEF WIN32}
  {$IFNDEF MSWINDOWS}
    {$DEFINE MSWINDOWS}
  {$ENDIF}
{$ENDIF}

{$IFDEF CIL}
  {$I ssdotnet.inc}
{$ELSE}
  {$IFDEF MSWINDOWS}
    {$I sswin32.inc}
  {$ELSE}
    {$IFDEF WINCE}
      {$I sswin32.inc}  //not complete yet!
    {$ELSE}
      {$IFDEF FPC}
        {$I ssfpc.inc}
      {$ELSE}
        {$I sslinux.inc}
      {$ENDIF}
    {$ENDIF}
  {$ENDIF}
{$ENDIF}

end.

 
 
   
   
   

synautil

Se ovenfor.


 {==============================================================================|
| Project : Ararat Synapse                                       | 004.015.000 |
|==============================================================================|
| Content: support procedures and functions                                    |
|==============================================================================|
| Copyright (c)1999-2012, Lukas Gebauer                                        |
| All rights reserved.                                                         |
|                                                                              |
| Redistribution and use in source and binary forms, with or without           |
| modification, are permitted provided that the following conditions are met:  |
|                                                                              |
| Redistributions of source code must retain the above copyright notice, this  |
| list of conditions and the following disclaimer.                             |
|                                                                              |
| Redistributions in binary form must reproduce the above copyright notice,    |
| this list of conditions and the following disclaimer in the documentation    |
| and/or other materials provided with the distribution.                       |
|                                                                              |
| Neither the name of Lukas Gebauer nor the names of its contributors may      |
| be used to endorse or promote products derived from this software without    |
| specific prior written permission.                                           |
|                                                                              |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"  |
| AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE    |
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE   |
| ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR  |
| ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL       |
| DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR   |
| SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER   |
| CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT           |
| LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY    |
| OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH  |
| DAMAGE.                                                                      |
|==============================================================================|
| The Initial Developer of the Original Code is Lukas Gebauer (Czech Republic).|
| Portions created by Lukas Gebauer are Copyright (c) 1999-2012.               |
| Portions created by Hernan Sanchez are Copyright (c) 2000.                   |
| Portions created by Petr Fejfar are Copyright (c)2011-2012.                  |
| All Rights Reserved.                                                         |
|==============================================================================|
| Contributor(s):                                                              |
|   Hernan Sanchez (hernan.sanchez@iname.com)                                  |
|==============================================================================|
| History: see HISTORY.HTM from distribution package                           |
|          (Found at URL: http://www.ararat.cz/synapse/)                       |
|==============================================================================}

{:@abstract(Support procedures and functions)}

{$IFDEF FPC}
  {$MODE DELPHI}
{$ENDIF}
{$Q-}
{$R-}
{$H+}

//old Delphi does not have MSWINDOWS define.
{$IFDEF WIN32}
  {$IFNDEF MSWINDOWS}
    {$DEFINE MSWINDOWS}
  {$ENDIF}
{$ENDIF}

{$IFDEF UNICODE}
  {$WARN IMPLICIT_STRING_CAST OFF}
  {$WARN IMPLICIT_STRING_CAST_LOSS OFF}
  {$WARN SUSPICIOUS_TYPECAST OFF}
{$ENDIF}

unit synautil;

interface

uses
{$IFDEF MSWINDOWS}
  Windows,
{$ELSE}
  {$IFDEF FPC}
    UnixUtil, Unix, BaseUnix,
  {$ELSE}
    Libc,
  {$ENDIF}
{$ENDIF}
{$IFDEF CIL}
  System.IO,
{$ENDIF}
  SysUtils, Classes, SynaFpc;

{$IFDEF VER100}
type
  int64 = integer;
{$ENDIF}

{:Return your timezone bias from UTC time in minutes.}
function TimeZoneBias: integer;

{:Return your timezone bias from UTC time in string representation like "+0200".}
function TimeZone: string;

{:Returns current time in format defined in RFC-822. Useful for SMTP messages,
 but other protocols use this time format as well. Results contains the timezone
 specification. Four digit year is used to break any Y2K concerns. (Example
 'Fri, 15 Oct 1999 21:14:56 +0200')}
function Rfc822DateTime(t: TDateTime): string;

{:Returns date and time in format defined in C compilers in format "mmm dd hh:nn:ss"}
function CDateTime(t: TDateTime): string;

{:Returns date and time in format defined in format 'yymmdd hhnnss'}
function SimpleDateTime(t: TDateTime): string;

{:Returns date and time in format defined in ANSI C compilers in format
 "ddd mmm d hh:nn:ss yyyy" }
function AnsiCDateTime(t: TDateTime): string;

{:Decode three-letter string with name of month to their month number. If string
 not match any month name, then is returned 0. For parsing are used predefined
 names for English, French and German and names from system locale too.}
function GetMonthNumber(Value: String): integer;

{:Return decoded time from given string. Time must be witch separator ':'. You
 can use "hh:mm" or "hh:mm:ss".}
function GetTimeFromStr(Value: string): TDateTime;

{:Decode string in format "m-d-y" to TDateTime type.}
function GetDateMDYFromStr(Value: string): TDateTime;

{:Decode various string representations of date and time to Tdatetime type.
 This function do all timezone corrections too! This function can decode lot of
  formats like:
 @longcode(#
 ddd, d mmm yyyy hh:mm:ss
 ddd, d mmm yy hh:mm:ss
 ddd, mmm d yyyy hh:mm:ss
 ddd mmm dd hh:mm:ss yyyy #)

and more with lot of modifications, include:
@longcode(#
Sun, 06 Nov 1994 08:49:37 GMT    ; RFC 822, updated by RFC 1123
Sunday, 06-Nov-94 08:49:37 GMT   ; RFC 850, obsoleted by RFC 1036
Sun Nov  6 08:49:37 1994         ; ANSI C's asctime() Format
#)
Timezone corrections known lot of symbolic timezone names (like CEST, EDT, etc.)
or numeric representation (like +0200). By convention defined in RFC timezone
 +0000 is GMT and -0000 is current your system timezone.}
function DecodeRfcDateTime(Value: string): TDateTime;

{:Return current system date and time in UTC timezone.}
function GetUTTime: TDateTime;

{:Set Newdt as current system date and time in UTC timezone. This function work
 only if you have administrator rights!}
function SetUTTime(Newdt: TDateTime): Boolean;

{:Return current value of system timer with precizion 1 millisecond. Good for
 measure time difference.}
function GetTick: LongWord;

{:Return difference between two timestamps. It working fine only for differences
 smaller then maxint. (difference must be smaller then 24 days.)}
function TickDelta(TickOld, TickNew: LongWord): LongWord;

{:Return two characters, which ordinal values represents the value in byte
 format. (High-endian)}
function CodeInt(Value: Word): Ansistring;

{:Decodes two characters located at "Index" offset position of the "Value"
 string to Word values.}
function DecodeInt(const Value: Ansistring; Index: Integer): Word;

{:Return four characters, which ordinal values represents the value in byte
 format. (High-endian)}
function CodeLongInt(Value: LongInt): Ansistring;

{:Decodes four characters located at "Index" offset position of the "Value"
 string to LongInt values.}
function DecodeLongInt(const Value: Ansistring; Index: Integer): LongInt;

{:Dump binary buffer stored in a string to a result string.}
function DumpStr(const Buffer: Ansistring): string;

{:Dump binary buffer stored in a string to a result string. All bytes with code
 of character is written as character, not as hexadecimal value.}
function DumpExStr(const Buffer: Ansistring): string;

{:Dump binary buffer stored in a string to a file with DumpFile filename.}
procedure Dump(const Buffer: AnsiString; DumpFile: string);

{:Dump binary buffer stored in a string to a file with DumpFile filename. All
 bytes with code of character is written as character, not as hexadecimal value.}
procedure DumpEx(const Buffer: AnsiString; DumpFile: string);

{:Like TrimLeft, but remove only spaces, not control characters!}
function TrimSPLeft(const S: string): string;

{:Like TrimRight, but remove only spaces, not control characters!}
function TrimSPRight(const S: string): string;

{:Like Trim, but remove only spaces, not control characters!}
function TrimSP(const S: string): string;

{:Returns a portion of the "Value" string located to the left of the "Delimiter"
 string. If a delimiter is not found, results is original string.}
function SeparateLeft(const Value, Delimiter: string): string;

{:Returns the portion of the "Value" string located to the right of the
 "Delimiter" string. If a delimiter is not found, results is original string.}
function SeparateRight(const Value, Delimiter: string): string;

{:Returns parameter value from string in format:
 parameter1="value1"; parameter2=value2}
function GetParameter(const Value, Parameter: string): string;

{:parse value string with elements differed by Delimiter into stringlist.}
procedure ParseParametersEx(Value, Delimiter: string; const Parameters: TStrings);

{:parse value string with elements differed by ';' into stringlist.}
procedure ParseParameters(Value: string; const Parameters: TStrings);

{:Index of string in stringlist with same beginning as Value is returned.}
function IndexByBegin(Value: string; const List: TStrings): integer;

{:Returns only the e-mail portion of an address from the full address format.
 i.e. returns 'nobody@@somewhere.com' from '"someone" '}
function GetEmailAddr(const Value: string): string;

{:Returns only the description part from a full address format. i.e. returns
 'someone' from '"someone" '}
function GetEmailDesc(Value: string): string;

{:Returns a string with hexadecimal digits representing the corresponding values
 of the bytes found in "Value" string.}
function StrToHex(const Value: Ansistring): string;

{:Returns a string of binary "Digits" representing "Value".}
function IntToBin(Value: Integer; Digits: Byte): string;

{:Returns an integer equivalent of the binary string in "Value".
 (i.e. ('10001010') returns 138)}
function BinToInt(const Value: string): Integer;

{:Parses a URL to its various components.}
function ParseURL(URL: string; var Prot, User, Pass, Host, Port, Path,
  Para: string): string;

{:Replaces all "Search" string values found within "Value" string, with the
 "Replace" string value.}
function ReplaceString(Value, Search, Replace: AnsiString): AnsiString;

{:It is like RPos, but search is from specified possition.}
function RPosEx(const Sub, Value: string; From: integer): Integer;

{:It is like POS function, but from right side of Value string.}
function RPos(const Sub, Value: String): Integer;

{:Like @link(fetch), but working with binary strings, not with text.}
function FetchBin(var Value: string; const Delimiter: string): string;

{:Fetch string from left of Value string.}
function Fetch(var Value: string; const Delimiter: string): string;

{:Fetch string from left of Value string. This function ignore delimitesr inside
 quotations.}
function FetchEx(var Value: string; const Delimiter, Quotation: string): string;

{:If string is binary string (contains non-printable characters), then is
 returned true.}
function IsBinaryString(const Value: AnsiString): Boolean;

{:return position of string terminator in string. If terminator found, then is
 returned in terminator parameter.
 Possible line terminators are: CRLF, LFCR, CR, LF}
function PosCRLF(const Value: AnsiString; var Terminator: AnsiString): integer;

{:Delete empty strings from end of stringlist.}
Procedure StringsTrim(const value: TStrings);

{:Like Pos function, buf from given string possition.}
function PosFrom(const SubStr, Value: String; From: integer): integer;

{$IFNDEF CIL}
{:Increase pointer by value.}
function IncPoint(const p: pointer; Value: integer): pointer;
{$ENDIF}

{:Get string between PairBegin and PairEnd. This function respect nesting.
 For example:
 @longcode(#
 Value is: 'Hi! (hello(yes!))'
 pairbegin is: '('
 pairend is: ')'
 In this case result is: 'hello(yes!)'#)}
function GetBetween(const PairBegin, PairEnd, Value: string): string;

{:Return count of Chr in Value string.}
function CountOfChar(const Value: string; Chr: char): integer;

{:Remove quotation from Value string. If Value is not quoted, then return same
 string without any modification. }
function UnquoteStr(const Value: string; Quote: Char): string;

{:Quote Value string. If Value contains some Quote chars, then it is doubled.}
function QuoteStr(const Value: string; Quote: Char): string;

{:Convert lines in stringlist from 'name: value' form to 'name=value' form.}
procedure HeadersToList(const Value: TStrings);

{:Convert lines in stringlist from 'name=value' form to 'name: value' form.}
procedure ListToHeaders(const Value: TStrings);

{:swap bytes in integer.}
function SwapBytes(Value: integer): integer;

{:read string with requested length form stream.}
function ReadStrFromStream(const Stream: TStream; len: integer): AnsiString;

{:write string to stream.}
procedure WriteStrToStream(const Stream: TStream; Value: AnsiString);

{:Return filename of new temporary file in Dir (if empty, then default temporary
 directory is used) and with optional filename prefix.}
function GetTempFile(const Dir, prefix: AnsiString): AnsiString;

{:Return padded string. If length is greater, string is truncated. If length is
 smaller, string is padded by Pad character.}
function PadString(const Value: AnsiString; len: integer; Pad: AnsiChar): AnsiString;

{:XOR each byte in the strings}
function XorString(Indata1, Indata2: AnsiString): AnsiString;

{:Read header from "Value" stringlist beginning at "Index" position. If header
 is Splitted into multiple lines, then this procedure de-split it into one line.}
function NormalizeHeader(Value: TStrings; var Index: Integer): string;

{pf}
{:Search for one of line terminators CR, LF or NUL. Return position of the
 line beginning and length of text.}
procedure SearchForLineBreak(var APtr:PANSIChar; AEtx:PANSIChar; out ABol:PANSIChar; out ALength:integer);
{:Skip both line terminators CR LF (if any). Move APtr position forward.}
procedure SkipLineBreak(var APtr:PANSIChar; AEtx:PANSIChar);
{:Skip all blank lines in a buffer starting at APtr and move APtr position forward.}
procedure SkipNullLines                   (var APtr:PANSIChar; AEtx:PANSIChar);
{:Copy all lines from a buffer starting at APtr to ALines until empty line
 or end of the buffer is reached. Move APtr position forward).}
procedure CopyLinesFromStreamUntilNullLine(var APtr:PANSIChar; AEtx:PANSIChar; ALines:TStrings);
{:Copy all lines from a buffer starting at APtr to ALines until ABoundary
 or end of the buffer is reached. Move APtr position forward).}
procedure CopyLinesFromStreamUntilBoundary(var APtr:PANSIChar; AEtx:PANSIChar; ALines:TStrings; const ABoundary:ANSIString);
{:Search ABoundary in a buffer starting at APtr.
 Return beginning of the ABoundary. Move APtr forward behind a trailing CRLF if any).}
function  SearchForBoundary               (var APtr:PANSIChar; AEtx:PANSIChar; const ABoundary:ANSIString): PANSIChar;
{:Compare a text at position ABOL with ABoundary and return position behind the
 match (including a trailing CRLF if any).}
function  MatchBoundary                   (ABOL,AETX:PANSIChar; const ABoundary:ANSIString): PANSIChar;
{:Compare a text at position ABOL with ABoundary + the last boundary suffix
 and return position behind the match (including a trailing CRLF if any).}
function  MatchLastBoundary               (ABOL,AETX:PANSIChar; const ABoundary:ANSIString): PANSIChar;
{:Copy data from a buffer starting at position APtr and delimited by AEtx
 position into ANSIString.}
function  BuildStringFromBuffer           (AStx,AEtx:PANSIChar): ANSIString;
{/pf}

var
  {:can be used for your own months strings for @link(getmonthnumber)}
  CustomMonthNames: array[1..12] of string;

implementation

{==============================================================================}

const
  MyDayNames: array[1..7] of AnsiString =
    ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
var
  MyMonthNames: array[0..6, 1..12] of String =
    (
    ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',  //rewrited by system locales
     'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'),
    ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',  //English
     'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'),
    ('jan', 'fév', 'mar', 'avr', 'mai', 'jun', //French
     'jul', 'aoû', 'sep', 'oct', 'nov', 'déc'),
    ('jan', 'fev', 'mar', 'avr', 'mai', 'jun',  //French#2
     'jul', 'aou', 'sep', 'oct', 'nov', 'dec'),
    ('Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun',  //German
     'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'),
    ('Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun',  //German#2
     'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'),
    ('Led', 'Úno', 'Bøe', 'Dub', 'Kvì', 'Èen',  //Czech
     'Èec', 'Srp', 'Záø', 'Øíj', 'Lis', 'Pro')
     );


{==============================================================================}

function TimeZoneBias: integer;
{$IFNDEF MSWINDOWS}
{$IFNDEF FPC}
var
  t: TTime_T;
  UT: TUnixTime;
begin
  __time(@T);
  localtime_r(@T, UT);
  Result := ut.__tm_gmtoff div 60;
{$ELSE}
begin
  Result := TZSeconds div 60;
{$ENDIF}
{$ELSE}
var
  zoneinfo: TTimeZoneInformation;
  bias: Integer;
begin
  case GetTimeZoneInformation(Zoneinfo) of
    2:
      bias := zoneinfo.Bias + zoneinfo.DaylightBias;
    1:
      bias := zoneinfo.Bias + zoneinfo.StandardBias;
  else
    bias := zoneinfo.Bias;
  end;
  Result := bias * (-1);
{$ENDIF}
end;

{==============================================================================}

function TimeZone: string;
var
  bias: Integer;
  h, m: Integer;
begin
  bias := TimeZoneBias;
  if bias >= 0 then
    Result := '+'
  else
    Result := '-';
  bias := Abs(bias);
  h := bias div 60;
  m := bias mod 60;
  Result := Result + Format('%.2d%.2d', [h, m]);
end;

{==============================================================================}

function Rfc822DateTime(t: TDateTime): string;
var
  wYear, wMonth, wDay: word;
begin
  DecodeDate(t, wYear, wMonth, wDay);
  Result := Format('%s, %d %s %s %s', [MyDayNames[DayOfWeek(t)], wDay,
    MyMonthNames[1, wMonth], FormatDateTime('yyyy hh":"nn":"ss', t), TimeZone]);
end;

{==============================================================================}

function CDateTime(t: TDateTime): string;
var
  wYear, wMonth, wDay: word;
begin
  DecodeDate(t, wYear, wMonth, wDay);
  Result:= Format('%s %2d %s', [MyMonthNames[1, wMonth], wDay,
    FormatDateTime('hh":"nn":"ss', t)]);
end;

{==============================================================================}

function SimpleDateTime(t: TDateTime): string;
begin
  Result := FormatDateTime('yymmdd hhnnss', t);
end;

{==============================================================================}

function AnsiCDateTime(t: TDateTime): string;
var
  wYear, wMonth, wDay: word;
begin
  DecodeDate(t, wYear, wMonth, wDay);
  Result := Format('%s %s %d %s', [MyDayNames[DayOfWeek(t)], MyMonthNames[1, wMonth],
    wDay, FormatDateTime('hh":"nn":"ss yyyy ', t)]);
end;

{==============================================================================}

function DecodeTimeZone(Value: string; var Zone: integer): Boolean;
var
  x: integer;
  zh, zm: integer;
  s: string;
begin
  Result := false;
  s := Value;
  if (Pos('+', s) = 1) or (Pos('-',s) = 1) then
  begin
    if s = '-0000' then
      Zone := TimeZoneBias
    else
      if Length(s) > 4 then
      begin
        zh := StrToIntdef(s[2] + s[3], 0);
        zm := StrToIntdef(s[4] + s[5], 0);
        zone := zh * 60 + zm;
        if s[1] = '-' then
          zone := zone * (-1);
      end;
    Result := True;
  end
  else
  begin
    x := 32767;
    if s = 'NZDT' then x := 13;
    if s = 'IDLE' then x := 12;
    if s = 'NZST' then x := 12;
    if s = 'NZT' then x := 12;
    if s = 'EADT' then x := 11;
    if s = 'GST' then x := 10;
    if s = 'JST' then x := 9;
    if s = 'CCT' then x := 8;
    if s = 'WADT' then x := 8;
    if s = 'WAST' then x := 7;
    if s = 'ZP6' then x := 6;
    if s = 'ZP5' then x := 5;
    if s = 'ZP4' then x := 4;
    if s = 'BT' then x := 3;
    if s = 'EET' then x := 2;
    if s = 'MEST' then x := 2;
    if s = 'MESZ' then x := 2;
    if s = 'SST' then x := 2;
    if s = 'FST' then x := 2;
    if s = 'CEST' then x := 2;
    if s = 'CET' then x := 1;
    if s = 'FWT' then x := 1;
    if s = 'MET' then x := 1;
    if s = 'MEWT' then x := 1;
    if s = 'SWT' then x := 1;
    if s = 'UT' then x := 0;
    if s = 'UTC' then x := 0;
    if s = 'GMT' then x := 0;
    if s = 'WET' then x := 0;
    if s = 'WAT' then x := -1;
    if s = 'BST' then x := -1;
    if s = 'AT' then x := -2;
    if s = 'ADT' then x := -3;
    if s = 'AST' then x := -4;
    if s = 'EDT' then x := -4;
    if s = 'EST' then x := -5;
    if s = 'CDT' then x := -5;
    if s = 'CST' then x := -6;
    if s = 'MDT' then x := -6;
    if s = 'MST' then x := -7;
    if s = 'PDT' then x := -7;
    if s = 'PST' then x := -8;
    if s = 'YDT' then x := -8;
    if s = 'YST' then x := -9;
    if s = 'HDT' then x := -9;
    if s = 'AHST' then x := -10;
    if s = 'CAT' then x := -10;
    if s = 'HST' then x := -10;
    if s = 'EAST' then x := -10;
    if s = 'NT' then x := -11;
    if s = 'IDLW' then x := -12;
    if x <> 32767 then
    begin
      zone := x * 60;
      Result := True;
    end;
  end;
end;

{==============================================================================}

function GetMonthNumber(Value: String): integer;
var
  n: integer;
  function TestMonth(Value: String; Index: Integer): Boolean;
  var
    n: integer;
  begin
    Result := False;
    for n := 0 to 6 do
      if Value = AnsiUppercase(MyMonthNames[n, Index]) then
      begin
        Result := True;
        Break;
      end;
  end;
begin
  Result := 0;
  Value := AnsiUppercase(Value);
  for n := 1 to 12 do
    if TestMonth(Value, n) or (Value = AnsiUppercase(CustomMonthNames[n])) then
    begin
      Result := n;
      Break;
    end;
end;

{==============================================================================}

function GetTimeFromStr(Value: string): TDateTime;
var
  x: integer;
begin
  x := rpos(':', Value);
  if (x > 0) and ((Length(Value) - x) > 2) then
    Value := Copy(Value, 1, x + 2);
  Value := ReplaceString(Value, ':', TimeSeparator);
  Result := -1;
  try
    Result := StrToTime(Value);
  except
    on Exception do ;
  end;
end;

{==============================================================================}

function GetDateMDYFromStr(Value: string): TDateTime;
var
  wYear, wMonth, wDay: word;
  s: string;
begin
  Result := 0;
  s := Fetch(Value, '-');
  wMonth := StrToIntDef(s, 12);
  s := Fetch(Value, '-');
  wDay := StrToIntDef(s, 30);
  wYear := StrToIntDef(Value, 1899);
  if wYear < 1000 then
    if (wYear > 99) then
      wYear := wYear + 1900
    else
      if wYear > 50 then
        wYear := wYear + 1900
      else
        wYear := wYear + 2000;
  try
    Result := EncodeDate(wYear, wMonth, wDay);
  except
    on Exception do ;
  end;
end;

{==============================================================================}

function DecodeRfcDateTime(Value: string): TDateTime;
var
  day, month, year: Word;
  zone: integer;
  x, y: integer;
  s: string;
  t: TDateTime;
begin
// ddd, d mmm yyyy hh:mm:ss
// ddd, d mmm yy hh:mm:ss
// ddd, mmm d yyyy hh:mm:ss
// ddd mmm dd hh:mm:ss yyyy
// Sun, 06 Nov 1994 08:49:37 GMT    ; RFC 822, updated by RFC 1123
// Sunday, 06-Nov-94 08:49:37 GMT   ; RFC 850, obsoleted by RFC 1036
// Sun Nov  6 08:49:37 1994         ; ANSI C's asctime() Format

  Result := 0;
  if Value = '' then
    Exit;
  day := 0;
  month := 0;
  year := 0;
  zone := 0;
  Value := ReplaceString(Value, ' -', ' #');
  Value := ReplaceString(Value, '-', ' ');
  Value := ReplaceString(Value, ' #', ' -');
  while Value <> '' do
  begin
    s := Fetch(Value, ' ');
    s := uppercase(s);
    // timezone
    if DecodetimeZone(s, x) then
    begin
      zone := x;
      continue;
    end;
    x := StrToIntDef(s, 0);
    // day or year
    if x > 0 then
      if (x < 32) and (day = 0) then
      begin
        day := x;
        continue;
      end
      else
      begin
        if (year = 0) and ((month > 0) or (x > 12)) then
        begin
          year := x;
          if year < 32 then
            year := year + 2000;
          if year < 1000 then
           year := year + 1900;
          continue;
        end;
      end;
    // time
    if rpos(':', s) > Pos(':', s) then
    begin
      t := GetTimeFromStr(s);
      if t <> -1 then
        Result := t;
      continue;
    end;
    //timezone daylight saving time
    if s = 'DST' then
    begin
      zone := zone + 60;
      continue;
    end;
    // month
    y := GetMonthNumber(s);
    if (y > 0) and (month = 0) then
      month := y;
  end;
  if year = 0 then
    year := 1980;
  if month < 1 then
    month := 1;
  if month > 12 then
    month := 12;
  if day < 1 then
    day := 1;
  x := MonthDays[IsLeapYear(year), month];
  if day > x then
    day := x;
  Result := Result + Encodedate(year, month, day);
  zone := zone - TimeZoneBias;
  x := zone div 1440;
  Result := Result - x;
  zone := zone mod 1440;
  t := EncodeTime(Abs(zone) div 60, Abs(zone) mod 60, 0, 0);
  if zone < 0 then
    t := 0 - t;
  Result := Result - t;
end;

{==============================================================================}

function GetUTTime: TDateTime;
{$IFDEF MSWINDOWS}
{$IFNDEF FPC}
var
  st: TSystemTime;
begin
  GetSystemTime(st);
  result := SystemTimeToDateTime(st);
{$ELSE}
var
  st: SysUtils.TSystemTime;
  stw: Windows.TSystemTime;
begin
  GetSystemTime(stw);
  st.Year := stw.wYear;
  st.Month := stw.wMonth;
  st.Day := stw.wDay;
  st.Hour := stw.wHour;
  st.Minute := stw.wMinute;
  st.Second := stw.wSecond;
  st.Millisecond := stw.wMilliseconds;
  result := SystemTimeToDateTime(st);
{$ENDIF}
{$ELSE}
{$IFNDEF FPC}
var
  TV: TTimeVal;
begin
  gettimeofday(TV, nil);
  Result := UnixDateDelta + (TV.tv_sec + TV.tv_usec / 1000000) / 86400;
{$ELSE}
var
  TV: TimeVal;
begin
  fpgettimeofday(@TV, nil);
  Result := UnixDateDelta + (TV.tv_sec + TV.tv_usec / 1000000) / 86400;
{$ENDIF}
{$ENDIF}
end;

{==============================================================================}

function SetUTTime(Newdt: TDateTime): Boolean;
{$IFDEF MSWINDOWS}
{$IFNDEF FPC}
var
  st: TSystemTime;
begin
  DateTimeToSystemTime(newdt,st);
  Result := SetSystemTime(st);
{$ELSE}
var
  st: SysUtils.TSystemTime;
  stw: Windows.TSystemTime;
begin
  DateTimeToSystemTime(newdt,st);
  stw.wYear := st.Year;
  stw.wMonth := st.Month;
  stw.wDay := st.Day;
  stw.wHour := st.Hour;
  stw.wMinute := st.Minute;
  stw.wSecond := st.Second;
  stw.wMilliseconds := st.Millisecond;
  Result := SetSystemTime(stw);
{$ENDIF}
{$ELSE}
{$IFNDEF FPC}
var
  TV: TTimeVal;
  d: double;
  TZ: Ttimezone;
  PZ: PTimeZone;
begin
  TZ.tz_minuteswest := 0;
  TZ.tz_dsttime := 0;
  PZ := @TZ;
  gettimeofday(TV, PZ);
  d := (newdt - UnixDateDelta) * 86400;
  TV.tv_sec := trunc(d);
  TV.tv_usec := trunc(frac(d) * 1000000);
  Result := settimeofday(TV, TZ) <> -1;
{$ELSE}
var
  TV: TimeVal;
  d: double;
begin
  d := (newdt - UnixDateDelta) * 86400;
  TV.tv_sec := trunc(d);
  TV.tv_usec := trunc(frac(d) * 1000000);
  Result := fpsettimeofday(@TV, nil) <> -1;
{$ENDIF}
{$ENDIF}
end;

{==============================================================================}

{$IFNDEF MSWINDOWS}
function GetTick: LongWord;
var
  Stamp: TTimeStamp;
begin
  Stamp := DateTimeToTimeStamp(Now);
  Result := Stamp.Time;
end;
{$ELSE}
function GetTick: LongWord;
var
  tick, freq: TLargeInteger;
{$IFDEF VER100}
  x: TLargeInteger;
{$ENDIF}
begin
  if Windows.QueryPerformanceFrequency(freq) then
  begin
    Windows.QueryPerformanceCounter(tick);
{$IFDEF VER100}
    x.QuadPart := (tick.QuadPart / freq.QuadPart) * 1000;
    Result := x.LowPart;
{$ELSE}
    Result := Trunc((tick / freq) * 1000) and High(LongWord)
{$ENDIF}
  end
  else
    Result := Windows.GetTickCount;
end;
{$ENDIF}

{==============================================================================}

function TickDelta(TickOld, TickNew: LongWord): LongWord;
begin
//if DWord is signed type (older Deplhi),
// then it not work properly on differencies larger then maxint!
  Result := 0;
  if TickOld <> TickNew then
  begin
    if TickNew < TickOld then
    begin
      TickNew := TickNew + LongWord(MaxInt) + 1;
      TickOld := TickOld + LongWord(MaxInt) + 1;
    end;
    Result := TickNew - TickOld;
    if TickNew < TickOld then
      if Result > 0 then
        Result := 0 - Result;
  end;
end;

{==============================================================================}

function CodeInt(Value: Word): Ansistring;
begin
  setlength(result, 2);
  result[1] := AnsiChar(Value div 256);
  result[2] := AnsiChar(Value mod 256);
//  Result := AnsiChar(Value div 256) + AnsiChar(Value mod 256)
end;

{==============================================================================}

function DecodeInt(const Value: Ansistring; Index: Integer): Word;
var
  x, y: Byte;
begin
  if Length(Value) > Index then
    x := Ord(Value[Index])
  else
    x := 0;
  if Length(Value) >= (Index + 1) then
    y := Ord(Value[Index + 1])
  else
    y := 0;
  Result := x * 256 + y;
end;

{==============================================================================}

function CodeLongInt(Value: Longint): Ansistring;
var
  x, y: word;
begin
  // this is fix for negative numbers on systems where longint = integer
  x := (Value shr 16) and integer($ffff);
  y := Value and integer($ffff);
  setlength(result, 4);
  result[1] := AnsiChar(x div 256);
  result[2] := AnsiChar(x mod 256);
  result[3] := AnsiChar(y div 256);
  result[4] := AnsiChar(y mod 256);
end;

{==============================================================================}

function DecodeLongInt(const Value: Ansistring; Index: Integer): LongInt;
var
  x, y: Byte;
  xl, yl: Byte;
begin
  if Length(Value) > Index then
    x := Ord(Value[Index])
  else
    x := 0;
  if Length(Value) >= (Index + 1) then
    y := Ord(Value[Index + 1])
  else
    y := 0;
  if Length(Value) >= (Index + 2) then
    xl := Ord(Value[Index + 2])
  else
    xl := 0;
  if Length(Value) >= (Index + 3) then
    yl := Ord(Value[Index + 3])
  else
    yl := 0;
  Result := ((x * 256 + y) * 65536) + (xl * 256 + yl);
end;

{==============================================================================}

function DumpStr(const Buffer: Ansistring): string;
var
  n: Integer;
begin
  Result := '';
  for n := 1 to Length(Buffer) do
    Result := Result + ' +#$' + IntToHex(Ord(Buffer[n]), 2);
end;

{==============================================================================}

function DumpExStr(const Buffer: Ansistring): string;
var
  n: Integer;
  x: Byte;
begin
  Result := '';
  for n := 1 to Length(Buffer) do
  begin
    x := Ord(Buffer[n]);
    if x in [65..90, 97..122] then
      Result := Result + ' +''' + char(x) + ''''
    else
      Result := Result + ' +#$' + IntToHex(Ord(Buffer[n]), 2);
  end;
end;

{==============================================================================}

procedure Dump(const Buffer: AnsiString; DumpFile: string);
var
  f: Text;
begin
  AssignFile(f, DumpFile);
  if FileExists(DumpFile) then
    DeleteFile(DumpFile);
  Rewrite(f);
  try
    Writeln(f, DumpStr(Buffer));
  finally
    CloseFile(f);
  end;
end;

{==============================================================================}

procedure DumpEx(const Buffer: AnsiString; DumpFile: string);
var
  f: Text;
begin
  AssignFile(f, DumpFile);
  if FileExists(DumpFile) then
    DeleteFile(DumpFile);
  Rewrite(f);
  try
    Writeln(f, DumpExStr(Buffer));
  finally
    CloseFile(f);
  end;
end;

{==============================================================================}

function TrimSPLeft(const S: string): string;
var
  I, L: Integer;
begin
  Result := '';
  if S = '' then
    Exit;
  L := Length(S);
  I := 1;
  while (I <= L) and (S[I] = ' ') do
    Inc(I);
  Result := Copy(S, I, Maxint);
end;

{==============================================================================}

function TrimSPRight(const S: string): string;
var
  I: Integer;
begin
  Result := '';
  if S = '' then
    Exit;
  I := Length(S);
  while (I > 0) and (S[I] = ' ') do
    Dec(I);
  Result := Copy(S, 1, I);
end;

{==============================================================================}

function TrimSP(const S: string): string;
begin
  Result := TrimSPLeft(s);
  Result := TrimSPRight(Result);
end;

{==============================================================================}

function SeparateLeft(const Value, Delimiter: string): string;
var
  x: Integer;
begin
  x := Pos(Delimiter, Value);
  if x < 1 then
    Result := Value
  else
    Result := Copy(Value, 1, x - 1);
end;

{==============================================================================}

function SeparateRight(const Value, Delimiter: string): string;
var
  x: Integer;
begin
  x := Pos(Delimiter, Value);
  if x > 0 then
    x := x + Length(Delimiter) - 1;
  Result := Copy(Value, x + 1, Length(Value) - x);
end;

{==============================================================================}

function GetParameter(const Value, Parameter: string): string;
var
  s: string;
  v: string;
begin
  Result := '';
  v := Value;
  while v <> '' do
  begin
    s := Trim(FetchEx(v, ';', '"'));
    if Pos(Uppercase(parameter), Uppercase(s)) = 1 then
    begin                       
      Delete(s, 1, Length(Parameter));
      s := Trim(s);
      if s = '' then
        Break;
      if s[1] = '=' then
      begin
        Result := Trim(SeparateRight(s, '='));
        Result := UnquoteStr(Result, '"');
        break;
      end;
    end;
  end;
end;

{==============================================================================}

procedure ParseParametersEx(Value, Delimiter: string; const Parameters: TStrings);
var
  s: string;
begin
  Parameters.Clear;
  while Value <> '' do
  begin
    s := Trim(FetchEx(Value, Delimiter, '"'));
    Parameters.Add(s);
  end;
end;

{==============================================================================}

procedure ParseParameters(Value: string; const Parameters: TStrings);
begin
  ParseParametersEx(Value, ';', Parameters);
end;

{==============================================================================}

function IndexByBegin(Value: string; const List: TStrings): integer;
var
  n: integer;
  s: string;
begin
  Result := -1;
  Value := uppercase(Value);
  for n := 0 to List.Count -1 do
  begin
    s := UpperCase(List[n]);
    if Pos(Value, s) = 1 then
    begin
      Result := n;
      Break;
    end;
  end;
end;

{==============================================================================}

function GetEmailAddr(const Value: string): string;
var
  s: string;
begin
  s := SeparateRight(Value, '<');
  s := SeparateLeft(s, '>');
  Result := Trim(s);
end;

{==============================================================================}

function GetEmailDesc(Value: string): string;
var
  s: string;
begin
  Value := Trim(Value);
  s := SeparateRight(Value, '"');
  if s <> Value then
    s := SeparateLeft(s, '"')
  else
  begin
    s := SeparateLeft(Value, '<');
    if s = Value then
    begin
      s := SeparateRight(Value, '(');
      if s <> Value then
        s := SeparateLeft(s, ')')
      else
        s := '';
    end;
  end;
  Result := Trim(s);
end;

{==============================================================================}

function StrToHex(const Value: Ansistring): string;
var
  n: Integer;
begin
  Result := '';
  for n := 1 to Length(Value) do
    Result := Result + IntToHex(Byte(Value[n]), 2);
  Result := LowerCase(Result);
end;

{==============================================================================}

function IntToBin(Value: Integer; Digits: Byte): string;
var
  x, y, n: Integer;
begin
  Result := '';
  x := Value;
  repeat
    y := x mod 2;
    x := x div 2;
    if y > 0 then
      Result := '1' + Result
    else
      Result := '0' + Result;
  until x = 0;
  x := Length(Result);
  for n := x to Digits - 1 do
    Result := '0' + Result;
end;

{==============================================================================}

function BinToInt(const Value: string): Integer;
var
  n: Integer;
begin
  Result := 0;
  for n := 1 to Length(Value) do
  begin
    if Value[n] = '0' then
      Result := Result * 2
    else
      if Value[n] = '1' then
        Result := Result * 2 + 1
      else
        Break;
  end;
end;

{==============================================================================}

function ParseURL(URL: string; var Prot, User, Pass, Host, Port, Path,
  Para: string): string;
var
  x, y: Integer;
  sURL: string;
  s: string;
  s1, s2: string;
begin
  Prot := 'http';
  User := '';
  Pass := '';
  Port := '80';
  Para := '';

  x := Pos('://', URL);
  if x > 0 then
  begin
    Prot := SeparateLeft(URL, '://');
    sURL := SeparateRight(URL, '://');
  end
  else
    sURL := URL;
  if UpperCase(Prot) = 'HTTPS' then
    Port := '443';
  if UpperCase(Prot) = 'FTP' then
    Port := '21';
  x := Pos('@', sURL);
  y := Pos('/', sURL);
  if (x > 0) and ((x < y) or (y < 1))then
  begin
    s := SeparateLeft(sURL, '@');
    sURL := SeparateRight(sURL, '@');
    x := Pos(':', s);
    if x > 0 then
    begin
      User := SeparateLeft(s, ':');
      Pass := SeparateRight(s, ':');
    end
    else
      User := s;
  end;
  x := Pos('/', sURL);
  if x > 0 then
  begin
    s1 := SeparateLeft(sURL, '/');
    s2 := SeparateRight(sURL, '/');
  end
  else
  begin
    s1 := sURL;
    s2 := '';
  end;
  if Pos('[', s1) = 1 then
  begin
    Host := Separateleft(s1, ']');
    Delete(Host, 1, 1);
    s1 := SeparateRight(s1, ']');
    if Pos(':', s1) = 1 then
      Port := SeparateRight(s1, ':');
  end
  else
  begin
    x := Pos(':', s1);
    if x > 0 then
    begin
      Host := SeparateLeft(s1, ':');
      Port := SeparateRight(s1, ':');
    end
    else
      Host := s1;
  end;
  Result := '/' + s2;
  x := Pos('?', s2);
  if x > 0 then
  begin
    Path := '/' + SeparateLeft(s2, '?');
    Para := SeparateRight(s2, '?');
  end
  else
    Path := '/' + s2;
  if Host = '' then
    Host := 'localhost';
end;

{==============================================================================}

function ReplaceString(Value, Search, Replace: AnsiString): AnsiString;
var
  x, l, ls, lr: Integer;
begin
  if (Value = '') or (Search = '') then
  begin
    Result := Value;
    Exit;
  end;
  ls := Length(Search);
  lr := Length(Replace);
  Result := '';
  x := Pos(Search, Value);
  while x > 0 do
  begin
    {$IFNDEF CIL}
    l := Length(Result);
    SetLength(Result, l + x - 1);
    Move(Pointer(Value)^, Pointer(@Result[l + 1])^, x - 1);
    {$ELSE}
    Result:=Result+Copy(Value,1,x-1);
    {$ENDIF}
    {$IFNDEF CIL}
    l := Length(Result);
    SetLength(Result, l + lr);
    Move(Pointer(Replace)^, Pointer(@Result[l + 1])^, lr);
    {$ELSE}
    Result:=Result+Replace;
    {$ENDIF}
    Delete(Value, 1, x - 1 + ls);
    x := Pos(Search, Value);
  end;
  Result := Result + Value;
end;

{==============================================================================}

function RPosEx(const Sub, Value: string; From: integer): Integer;
var
  n: Integer;
  l: Integer;
begin
  result := 0;
  l := Length(Sub);
  for n := From - l + 1 downto 1 do
  begin
    if Copy(Value, n, l) = Sub then
    begin
      result := n;
      break;
    end;
  end;
end;

{==============================================================================}

function RPos(const Sub, Value: String): Integer;
begin
  Result := RPosEx(Sub, Value, Length(Value));
end;

{==============================================================================}

function FetchBin(var Value: string; const Delimiter: string): string;
var
  s: string;
begin
  Result := SeparateLeft(Value, Delimiter);
  s := SeparateRight(Value, Delimiter);
  if s = Value then
    Value := ''
  else
    Value := s;
end;

{==============================================================================}

function Fetch(var Value: string; const Delimiter: string): string;
begin
  Result := FetchBin(Value, Delimiter);
  Result := TrimSP(Result);
  Value := TrimSP(Value);
end;

{==============================================================================}

function FetchEx(var Value: string; const Delimiter, Quotation: string): string;
var
  b: Boolean;
begin
  Result := '';
  b := False;
  while Length(Value) > 0 do
  begin
    if b then
    begin
      if Pos(Quotation, Value) = 1 then
        b := False;
      Result := Result + Value[1];
      Delete(Value, 1, 1);
    end
    else
    begin
      if Pos(Delimiter, Value) = 1 then
      begin
        Delete(Value, 1, Length(delimiter));
        break;
      end;
      b := Pos(Quotation, Value) = 1;
      Result := Result + Value[1];
      Delete(Value, 1, 1);
    end;
  end;
end;

{==============================================================================}

function IsBinaryString(const Value: AnsiString): Boolean;
var
  n: integer;
begin
  Result := False;
  for n := 1 to Length(Value) do
    if Value[n] in [#0..#8, #10..#31] then
      //ignore null-terminated strings
      if not ((n = Length(value)) and (Value[n] = AnsiChar(#0))) then
      begin
        Result := True;
        Break;
      end;
end;

{==============================================================================}

function PosCRLF(const Value: AnsiString; var Terminator: AnsiString): integer;
var
  n, l: integer;
begin
  Result := -1;
  Terminator := '';
  l := length(value);
  for n := 1 to l do
    if value[n] in [#$0d, #$0a] then
    begin
      Result := n;
      Terminator := Value[n];
      if n <> l then
        case value[n] of
          #$0d:
            if value[n + 1] = #$0a then
              Terminator := #$0d + #$0a;
          #$0a:
            if value[n + 1] = #$0d then
              Terminator := #$0a + #$0d;
        end;
      Break;
    end;
end;

{==============================================================================}

Procedure StringsTrim(const Value: TStrings);
var
  n: integer;
begin
  for n := Value.Count - 1 downto 0 do
    if Value[n] = '' then
      Value.Delete(n)
    else
      Break;
end;

{==============================================================================}

function PosFrom(const SubStr, Value: String; From: integer): integer;
var
  ls,lv: integer;
begin
  Result := 0;
  ls := Length(SubStr);
  lv := Length(Value);
  if (ls = 0) or (lv = 0) then
    Exit;
  if From < 1 then
    From := 1;
  while (ls + from - 1) <= (lv) do
  begin
    {$IFNDEF CIL}
    if CompareMem(@SubStr[1],@Value[from],ls) then
    {$ELSE}
    if SubStr = copy(Value, from, ls) then
    {$ENDIF}
    begin
      result := from;
      break;
    end
    else
      inc(from);
  end;
end;

{==============================================================================}

{$IFNDEF CIL}
function IncPoint(const p: pointer; Value: integer): pointer;
begin
  Result := PAnsiChar(p) + Value;
end;
{$ENDIF}

{==============================================================================}
//improved by 'DoggyDawg'
function GetBetween(const PairBegin, PairEnd, Value: string): string;
var
  n: integer;
  x: integer;
  s: string;
  lenBegin: integer;
  lenEnd: integer;
  str: string;
  max: integer;
begin
  lenBegin := Length(PairBegin);
  lenEnd := Length(PairEnd);
  n := Length(Value);
  if (Value = PairBegin + PairEnd) then
  begin
    Result := '';//nothing between
    exit;
  end;
  if (n < lenBegin + lenEnd) then
  begin
    Result := Value;
    exit;
  end;
  s := SeparateRight(Value, PairBegin);
  if (s = Value) then
  begin
    Result := Value;
    exit;
  end;
  n := Pos(PairEnd, s);
  if (n = 0) then
  begin
    Result := Value;
    exit;
  end;
  Result := '';
  x := 1;
  max := Length(s) - lenEnd + 1;
  for n := 1 to max do
  begin
    str := copy(s, n, lenEnd);
    if (str = PairEnd) then
    begin
      Dec(x);
      if (x <= 0) then
        Break;
    end;
    str := copy(s, n, lenBegin);
    if (str = PairBegin) then
      Inc(x);
    Result := Result + s[n];
  end;
end;

{==============================================================================}

function CountOfChar(const Value: string; Chr: char): integer;
var
  n: integer;
begin
  Result := 0;
  for n := 1 to Length(Value) do
    if Value[n] = chr then
      Inc(Result);
end;

{==============================================================================}
// ! do not use AnsiExtractQuotedStr, it's very buggy and can crash application!
function UnquoteStr(const Value: string; Quote: Char): string;
var
  n: integer;
  inq, dq: Boolean;
  c, cn: char;
begin
  Result := '';
  if Value = '' then
    Exit;
  if Value = Quote + Quote then
    Exit;
  inq := False;
  dq := False;
  for n := 1 to Length(Value) do
  begin
    c := Value[n];
    if n <> Length(Value) then
      cn := Value[n + 1]
    else
      cn := #0;
    if c = quote then
      if dq then
        dq := False
      else
        if not inq then
          inq := True
        else
          if cn = quote then
          begin
            Result := Result + Quote;
            dq := True;
          end
          else
            inq := False
    else
      Result := Result + c;
  end;
end;

{==============================================================================}

function QuoteStr(const Value: string; Quote: Char): string;
var
  n: integer;
begin
  Result := '';
  for n := 1 to length(value) do
  begin
    Result := result + Value[n];
    if value[n] = Quote then
      Result := Result + Quote;
  end;
  Result :=  Quote + Result + Quote;
end;

{==============================================================================}

procedure HeadersToList(const Value: TStrings);
var
  n, x, y: integer;
  s: string;
begin
  for n := 0 to Value.Count -1 do
  begin
    s := Value[n];
    x := Pos(':', s);
    if x > 0 then
    begin
      y:= Pos('=',s); 
      if not ((y > 0) and (y < x)) then
      begin
        s[x] := '=';
        Value[n] := s;
      end;
    end;
  end;
end;

{==============================================================================}

procedure ListToHeaders(const Value: TStrings);
var
  n, x: integer;
  s: string;
begin
  for n := 0 to Value.Count -1 do
  begin
    s := Value[n];
    x := Pos('=', s);
    if x > 0 then
    begin
      s[x] := ':';
      Value[n] := s;
    end;
  end;
end;

{==============================================================================}

function SwapBytes(Value: integer): integer;
var
  s: AnsiString;
  x, y, xl, yl: Byte;
begin
  s := CodeLongInt(Value);
  x := Ord(s[4]);
  y := Ord(s[3]);
  xl := Ord(s[2]);
  yl := Ord(s[1]);
  Result := ((x * 256 + y) * 65536) + (xl * 256 + yl);
end;

{==============================================================================}

function ReadStrFromStream(const Stream: TStream; len: integer): AnsiString;
var
  x: integer;
{$IFDEF CIL}
  buf: Array of Byte;
{$ENDIF}
begin
{$IFDEF CIL}
  Setlength(buf, Len);
  x := Stream.read(buf, Len);
  SetLength(buf, x);
  Result := StringOf(Buf);
{$ELSE}
  Setlength(Result, Len);
  x := Stream.read(PAnsiChar(Result)^, Len);
  SetLength(Result, x);
{$ENDIF}
end;

{==============================================================================}

procedure WriteStrToStream(const Stream: TStream; Value: AnsiString);
{$IFDEF CIL}
var
  buf: Array of Byte;
{$ENDIF}
begin
{$IFDEF CIL}
  buf := BytesOf(Value);
  Stream.Write(buf,length(Value));
{$ELSE}
  Stream.Write(PAnsiChar(Value)^, Length(Value));
{$ENDIF}
end;

{==============================================================================}
function GetTempFile(const Dir, prefix: AnsiString): AnsiString;
{$IFNDEF FPC}
{$IFDEF MSWINDOWS}
var
  Path: AnsiString;
  x: integer;
{$ENDIF}
{$ENDIF}
begin
{$IFDEF FPC}
  Result := GetTempFileName(Dir, Prefix);
{$ELSE}
  {$IFNDEF MSWINDOWS}
    Result := tempnam(Pointer(Dir), Pointer(prefix));
  {$ELSE}
    {$IFDEF CIL}
  Result := System.IO.Path.GetTempFileName;
    {$ELSE}
  if Dir = '' then
  begin
    SetLength(Path, MAX_PATH);
	  x := GetTempPath(Length(Path), PChar(Path));
  	SetLength(Path, x);
  end
  else
    Path := Dir;
  x := Length(Path);
  if Path[x] <> '\' then
    Path := Path + '\';
  SetLength(Result, MAX_PATH + 1);
  GetTempFileName(PChar(Path), PChar(Prefix), 0, PChar(Result));
  Result := PChar(Result);
  SetFileattributes(PChar(Result), GetFileAttributes(PChar(Result)) or FILE_ATTRIBUTE_TEMPORARY);
    {$ENDIF}
  {$ENDIF}
{$ENDIF}
end;

{==============================================================================}

function PadString(const Value: AnsiString; len: integer; Pad: AnsiChar): AnsiString;
begin
  if length(value) >= len then
    Result := Copy(value, 1, len)
  else
    Result := Value + StringOfChar(Pad, len - length(value));
end;

{==============================================================================}

function XorString(Indata1, Indata2: AnsiString): AnsiString;
var
  i: integer;
begin
  Indata2 := PadString(Indata2, length(Indata1), #0);
  Result := '';
  for i := 1 to length(Indata1) do
    Result := Result + AnsiChar(ord(Indata1[i]) xor ord(Indata2[i]));
end;

{==============================================================================}

function NormalizeHeader(Value: TStrings; var Index: Integer): string;
var
  s, t: string;
  n: Integer;
begin
  s := Value[Index];
  Inc(Index);
  if s <> '' then
    while (Value.Count - 1) > Index do
    begin
      t := Value[Index];
      if t = '' then
        Break;
      for n := 1 to Length(t) do
        if t[n] = #9 then
          t[n] := ' ';
      if not(AnsiChar(t[1]) in [' ', '"', ':', '=']) then
        Break
      else
      begin
        s := s + ' ' + Trim(t);
        Inc(Index);
      end;
    end;
  Result := TrimRight(s);
end;

{==============================================================================}

{pf}
procedure SearchForLineBreak(var APtr:PANSIChar; AEtx:PANSIChar; out ABol:PANSIChar; out ALength:integer);
begin
  ABol := APtr;
  while (APtr0 then
        begin
          APtr := bol;
          Break;
        end;
    end;
end;
{/pf}

{pf}
procedure CopyLinesFromStreamUntilNullLine(var APtr:PANSIChar; AEtx:PANSIChar; ALines:TStrings);
var
  bol: PANSIChar;
  lng: integer;
  s:   ANSIString;
begin
  // Copying until body separator will be reached
  while (APtr#0) do
    begin
      SearchForLineBreak(APtr,AEtx,bol,lng);
      SkipLineBreak(APtr,AEtx);
      if lng=0 then
        Break;
      SetString(s,bol,lng);
      ALines.Add(s);
    end;
end;
{/pf}

{pf}
procedure CopyLinesFromStreamUntilBoundary(var APtr:PANSIChar; AEtx:PANSIChar; ALines:TStrings; const ABoundary:ANSIString);
var
  bol:      PANSIChar;
  lng:      integer;
  s:        ANSIString;
  BackStop: ANSIString;
  eob1:     PANSIChar;
  eob2:     PANSIChar;
begin
  BackStop := '--'+ABoundary;
  eob2     := nil;
  // Copying until Boundary will be reached
  while (APtrAETX then
    exit;
  if strlcomp(MatchPos,#13#10,2)=0 then
    inc(MatchPos,2);
  if (MatchPos+2+Lng)>AETX then
    exit;
  if strlcomp(MatchPos,'--',2)<>0 then
    exit;
  inc(MatchPos,2);
  if strlcomp(MatchPos,PANSIChar(ABoundary),Lng)<>0 then
    exit;
  inc(MatchPos,Lng);
  if ((MatchPos+2)<=AEtx) and (strlcomp(MatchPos,#13#10,2)=0) then
    inc(MatchPos,2);
  Result := MatchPos;
end;
{/pf}

{pf}
function MatchLastBoundary(ABOL,AETX:PANSIChar; const ABoundary:ANSIString): PANSIChar;
var
  MatchPos: PANSIChar;
begin
  Result   := nil;
  MatchPos := MatchBoundary(ABOL,AETX,ABoundary);
  if not Assigned(MatchPos) then
    exit;
  if strlcomp(MatchPos,'--',2)<>0 then
    exit;
  inc(MatchPos,2);
  if (MatchPos+2<=AEtx) and (strlcomp(MatchPos,#13#10,2)=0) then
    inc(MatchPos,2);
  Result := MatchPos;
end;
{/pf}

{pf}
function  BuildStringFromBuffer(AStx,AEtx:PANSIChar): ANSIString;
var
  lng: integer;
begin
  Lng := 0;
  if Assigned(AStx) and Assigned(AEtx) then
    begin
      Lng := AEtx-AStx;
      if Lng<0 then
        Lng := 0;
    end;
  SetString(Result,AStx,lng);
end;
{/pf}




{==============================================================================}
var
  n: integer;
begin
  for n :=  1 to 12 do
  begin
    CustomMonthNames[n] := ShortMonthNames[n];
    MyMonthNames[0, n] := ShortMonthNames[n];
  end;
end.
 
 
   
   
   

DHTML Menu By Milonic JavaScript