Kryptologie - Informatik
Kryptologie - Informatik
Kryptologie - Informatik
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Anlage 8 : Lauffähiges Programm<br />
in THINK-Pascal for Macintosh<br />
PROGRAM PROGRAM De_Codierung; { Stand 20. Januar 1999 }<br />
USES USES GrafikUnit;<br />
CONST CONST N = 4096; { maximale Textlänge }<br />
STANDARD_ERFASSEN = FALSE;<br />
TYPE TYPE str2 = STRING[2];<br />
str3 = STRING[3];<br />
typ3 = RECORD<br />
RECORD<br />
anzahl: integer;<br />
tripel: str3;<br />
END END; END<br />
hist = ARRAY ARRAY[1..26] ARRAY OF O OF F typ3;<br />
{ nur zur Abkürzung }<br />
VAR V VAR A R multiFinder, ende : boolean;<br />
ereignis : eventRecord;<br />
dateiName : string;<br />
textLaenge, buAnzahl, gesamt : integer;<br />
textVorlage : ARRAY ARRAY[1..N] ARRAY OF O OF F char;<br />
standard, buchstaben : ARRAY ARRAY[1..3] ARRAY OF O OF F hist;<br />
FUNCTION FUNCTION gross (c: char): char;<br />
BEGIN<br />
BEGIN<br />
CASE CASE CASE c OF<br />
‚a‘..’z’: gross := chr(ord(c) - 32);<br />
OTHERWISE OTHERWISE gross := c;<br />
END<br />
END<br />
END E END N D;{ gross }<br />
FUNCTION<br />
FUNCTION FUNCTION verschiebe (c: char; v: integer): char;<br />
BEGIN<br />
BEGIN<br />
IF IF c IN I IN N [‚A‘..’Z’] THEN THEN<br />
THEN<br />
verschiebe := chr(65 + (ord(c) - 65 + v) MOD M MOD O D 26) ELSE<br />
ELSE<br />
IF IF c IN I IN N [‚a‘..’z’] THEN<br />
THEN<br />
verschiebe := chr(97 + (ord(c) - 97 + v) MOD M MOD O D 26) ELSE<br />
ELSE<br />
IF IF c IN I IN N [‚0‘..’9'] THEN<br />
THEN<br />
verschiebe := chr(48 + (ord(c) - 48 + v) MOD MOD 10)<br />
ELSE ELSEverschiebe ELSE<br />
:= c;<br />
END E END N D; { verschiebe }<br />
PROCEDURE PROCEDURE item_aendern (spalte, zeile: integer); { kumulativ }<br />
VAR V VAR A R c : char;<br />
i, n_item : integer;<br />
aktuellesMenu: menuHandle;<br />
BEGIN<br />
BEGIN<br />
aktuellesMenu := getMenu(spalte + RES_ID_NR - 1);<br />
n_item := countMItems(aktuellesMenu);<br />
IF I IF F zeile = 0 THEN<br />
THEN<br />
FOR F FOR O R i := 1 TO T TO O n_item DO DO DDO DO O<br />
ELSE<br />
ELSE<br />
BEGIN<br />
BEGIN<br />
checkItem(aktuellesMenu, i, false)<br />
getItemMark(aktuellesMenu, zeile, c);<br />
IF IIF IF F ord(c) = 0 THEN THEN<br />
checkItem(aktuellesMenu, zeile, true)<br />
ELSE ELSE ELSE<br />
END E END N D; { ELSE }<br />
END E END N D; { item_aendern }<br />
checkItem(aktuellesMenu, zeile, false);<br />
29